ClearBank SEPA Credit Transfer API

Send and receive SEPA Credit Transfer (SCT) euro payments across the Single Euro Payments Area for onboarded institutions.

OpenAPI Specification

clearbank-sepa-ct-v1.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "ClearBank.Sepa.Ct.Orchestrator.Api",
    "version": "1.0-SEPA-CT"
  },
  "paths": {
    "/payments/sepa-ct/v1/customer-payments": {
      "post": {
        "tags": [
          "SCT Payments"
        ],
        "summary": "This endpoint is used to create an outbound SCT payment.",
        "operationId": "Payment.Create",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Your API token, obtained from the ClearBank Portal.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DigitalSignature",
            "in": "header",
            "description": "Signed hash of the body of the request. The hash is signed by your private key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "description": "A unique identifier for the request; valid for 24 hours, max length 83.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSepaOutboundPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSepaOutboundPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/payments/sepa-ct/v1/recall-response": {
      "post": {
        "tags": [
          "SCT Payments"
        ],
        "summary": "This endpoint is used to approve or reject a recall request of an inbound SCT payment.",
        "operationId": "Payments.Inbound.RecallRequestResult",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Your API token, obtained from the ClearBank Portal.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DigitalSignature",
            "in": "header",
            "description": "Signed hash of the body of the request. The hash is signed by your private key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "description": "A unique identifier for the request; valid for 24 hours, max length 83.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecallOfInboundPaymentReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/payments/sepa-ct/v1/recall": {
      "post": {
        "tags": [
          "SCT Payments"
        ],
        "summary": "This endpoint is used to request a recall for an outbound SCT payment.",
        "operationId": "Payment.Recall",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Your API token, obtained from the ClearBank Portal.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DigitalSignature",
            "in": "header",
            "description": "Signed hash of the body of the request. The hash is signed by your private key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "description": "A unique identifier for the request; valid for 24 hours, max length 83.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecallOfOutboundPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/payments/sepa-ct/v1/payment-returns": {
      "post": {
        "tags": [
          "SCT Payments"
        ],
        "summary": "This endpoint is used to return an inbound SCT payment.",
        "operationId": "Payments.Inbound.ReturnOfInboundPayment",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Your API token, obtained from the ClearBank Portal.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DigitalSignature",
            "in": "header",
            "description": "Signed hash of the body of the request. The hash is signed by your private key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "description": "A unique identifier for the request; valid for 24 hours, max length 83.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReturnOfInboundPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CreateSepaOutboundPaymentRequest": {
        "required": [
          "amount",
          "creditor",
          "currency",
          "debtor",
          "endToEndId",
          "remittanceInformationUnstructured"
        ],
        "type": "object",
        "properties": {
          "endToEndId": {
            "minLength": 1,
            "maxLength": 35,
            "pattern": "([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+](/?([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+ ]/?)*[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]+)?)",
            "type": "string",
            "description": "Unique identification, as assigned by the originating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.",
            "example": "End2EndId"
          },
          "amount": {
            "type": "number",
            "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges.",
            "format": "double",
            "minimum": "0.01",
            "maximum": "999,999,999.99",
            "example": "2.99"
          },
          "currency": {
            "minLength": 1,
            "pattern": "^[A-Z]{3}$",
            "type": "string",
            "description": "An active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.",
            "example": "EUR"
          },
          "debtor": {
            "$ref": "#/components/schemas/Debtor"
          },
          "creditor": {
            "$ref": "#/components/schemas/Creditor"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/CreditorAgent"
          },
          "remittanceInformationUnstructured": {
            "maxLength": 140,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts receivable system, in an unstructured form. Test the return of an SCT payment in the simulation environment by populating with '--SCTRETURN--'",
            "example": "My remittance information."
          }
        },
        "additionalProperties": false
      },
      "CreateSepaOutboundPaymentResponse": {
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string",
            "maxLength": 36,
            "format": "uuid",
            "readOnly": true,
            "example": "1bfb7a86-7d9b-45ff-9d5c-34048efc4c8a"
          }
        },
        "additionalProperties": false
      },
      "Creditor": {
        "required": [
          "accountIban",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 70,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "The name used to identify the legal owner of the account from which to credit funds.",
            "example": "John Doe"
          },
          "accountIban": {
            "minLength": 1,
            "pattern": "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}",
            "type": "string",
            "description": "International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer.",
            "example": "DE75512108001245126199"
          },
          "postalAddress": {
            "$ref": "#/components/schemas/PostalAddress"
          },
          "identification": {
            "$ref": "#/components/schemas/IdentificationCreditor"
          }
        },
        "additionalProperties": false
      },
      "CreditorAgent": {
        "type": "object",
        "properties": {
          "bic": {
            "minLength": 1,
            "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}",
            "type": "string",
            "description": "Business identifier code (BIC) - Code allocated to a financial institution by the ISO 9362 Registration Authority",
            "example": "BUKBNL20",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DateAndPlaceOfBirth": {
        "type": "object",
        "properties": {
          "dateOfBirth": {
            "pattern": "[0-9]{4,4}\\-[0-9]{2,2}\\-[0-9]{2,2}",
            "type": "string",
            "description": "Date of birth of a person",
            "format": "date-time",
            "nullable": true,
            "example": "2004-05-15"
          },
          "placeOfBirth": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Place of birth of a person",
            "nullable": true,
            "example": "Birth Town"
          }
        },
        "additionalProperties": false
      },
      "Debtor": {
        "required": [
          "accountIban",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 70,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "The name used to identify the legal owner of the account from which to debit funds.",
            "example": "John Doe"
          },
          "accountIban": {
            "minLength": 1,
            "pattern": "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}",
            "type": "string",
            "description": "International Bank Account Number associated with the debtor account to which a debit entry will be made as a result of the transaction.",
            "example": "NL73ABNA0529451824"
          },
          "postalAddress": {
            "$ref": "#/components/schemas/DebtorPostalAddress"
          },
          "identification": {
            "$ref": "#/components/schemas/Identification"
          }
        },
        "additionalProperties": false
      },
      "Identification": {
        "type": "object",
        "properties": {
          "organisationIdentification": {
            "$ref": "#/components/schemas/OrganisationIdentification"
          },
          "privateIdentification": {
            "$ref": "#/components/schemas/PrivateIdentification"
          }
        },
        "additionalProperties": false
      },
            "IdentificationCreditor": {
        "type": "object",
        "properties": {
          "organisationIdentification": {
            "$ref": "#/components/schemas/OrganisationIdentificationCreditor"
          },
          "privateIdentification": {
            "$ref": "#/components/schemas/PrivateIdentification"
          }
        },
        "additionalProperties": false
      },
      "OrganisationIdentification": {
        "type": "object",
        "description": "Allows for the simultaneous inclusion of BIC, LEI and/or Other.",
        "properties": {
          "bic": {
            "minLength": 1,
            "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}",
            "type": "string",
            "description": "Business identifier code (BIC) - Code allocated to a financial institution by the ISO 9362 Registration Authority. BIC8 and BIC11 allowed.",
            "example": "BUKBNL20"
          },
          "lei": {
            "maxLength": 20,
            "minLength": 20,
            "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}",
            "type": "string",
            "description": "Legal Entity Identifier (LEI) - Unique alphanumeric code that has 20 characters and is based on the ISO 17442 standard.",
            "example": "724500EAW1MTCM9M1X68"
          },
          "other": {
            "type": "object",
            "required": [
              "identificationNumber"
            ],
            "properties": {
              "identificationNumber": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                "maxLength": 35,
                "description": "Identification code of the reference party.",
                "example": "123456789"
              },
              "schemeNameCode": {
                "type": "string",
                "description": "Scheme Name Code. Only schemeNameCode or schemeNameProprietary can be populated, not both. Allowed values include: BANK, CBID, CHID, CINC, COID, CUST, DUNS, EMPL, GS1G, SREN, SRET, SIRET, TXID, BDID, BOID",
                "example": "BANK"
              },
              "schemeNameProprietary": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                "maxLength": 35,
                "description": "Scheme Name Proprietary. Only schemeNameCode or schemeNameProprietary can be populated, not both.",
                "example": "SchemeName"
              },
              "issuer": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                "maxLength": 35,
                "description": "The name of the entity that assigns the identification.",
                "example": "IssuerName"
              }
            }
          }
        },
        "additionalProperties": false
      },
      "PostalAddress": {
        "required": [
          "country",
          "townName"
        ],
        "type": "object",
        "properties": {
          "streetName": {
            "maxLength": 70,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Name of a street or thoroughfare.",
            "example": "My Street"
          },
          "buildingNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Number that identifies the position of a building on a street.",
            "nullable": true,
            "example": "1"
          },
          "townName": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Name of a built-up area, with defined boundaries, and a local government.",
            "nullable": true,
            "example": "London"
          },
          "postCode": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "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.",
            "nullable": true,
            "example": "XX99 9XX"
          },
          "countrySubdivision": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Identifies a subdivision of a country such as state, region, county.",
            "nullable": true,
            "example": "London"
          },
          "country": {
            "minLength": 1,
            "pattern": "[A-Z]{2,2}",
            "type": "string",
            "description": "Nation with its own government.",
            "example": "GB"
          }
        },
        "additionalProperties": false
      },
      "DebtorPostalAddress": {
        "required": [
          "country",
          "townName"
        ],
        "type": "object",
        "description": "Postal address of the debtor. townName and country are mandatory if the payment originates from or is destined for a country outside the EEA.",
        "properties": {
          "streetName": {
            "maxLength": 70,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Name of a street or thoroughfare.",
            "example": "My Street"
          },
          "buildingNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Number that identifies the position of a building on a street.",
            "nullable": true,
            "example": "1"
          },
          "townName": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Name of a built-up area, with defined boundaries, and a local government. Mandatory if the payment origin or destination country is outside the EEA.",
            "nullable": true,
            "example": "London"
          },
          "postCode": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "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.",
            "nullable": true,
            "example": "XX99 9XX"
          },
          "countrySubdivision": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Identifies a subdivision of a country such as state, region, county.",
            "nullable": true,
            "example": "London"
          },
          "country": {
            "minLength": 1,
            "pattern": "[A-Z]{2,2}",
            "type": "string",
            "description": "Nation with its own government. Mandatory if the payment origin or destination country is outside the EEA.",
            "example": "GB"
          }
        },
        "additionalProperties": false
      },
      "PrivateIdentification": {
        "type": "object",
        "properties": {
          "dateAndPlaceOfBirth": {
            "$ref": "#/components/schemas/DateAndPlaceOfBirth"
          },
          "other": {
            "maxLength": 35,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Unique identification of a person, as assigned by an institution, using an identification scheme.",
            "nullable": true,
            "example": "Other identification."
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": {}
      },
      "RecallOfInboundPaymentReviewRequest": {
        "required": [
          "paymentId",
          "recallResponseAccepted"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "pattern": "[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}",
            "maxLength": 36,
            "type": "string",
            "description": "Unique identifier of the Inbound SCT payment to be recalled.",
            "format": "uuid",
            "example": "1bfb7a86-7d9b-45ff-9d5c-34048efc4c8a"
          },
          "recallResponseAccepted": {
            "type": "boolean",
            "description": "Accept or reject a request for recall of an SCT inbound payment",
            "example": "True"
          },
          "rejectCode": {
            "pattern": "^[A-Z0-9]{1,4}$",
            "minLength": 4,
            "maxLength": 4,
            "type": "string",
            "description": "Reason code required if recall request is rejected ",
            "nullable": true,
            "example": "CUST"
          },
          "additionalInfo": {
            "maxLength": 105,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "format": "uuid",
            "description": "Additional information",
            "nullable": true,
            "example": "Additional details."
          }
        },
        "additionalProperties": false
      },
      "RecallOfOutboundPaymentRequest": {
        "required": [
          "paymentId",
          "recallCode"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "pattern": "[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}",
            "maxLength": 36,
            "type": "string",
            "description": "Unique identifier of the Outbound SCT payment to be recalled.",
            "format": "uuid",
            "example": "1bfb7a86-7d9b-45ff-9d5c-34048efc4c8a"
          },
          "recallCode": {
            "minLength": 4,
            "maxLength": 4,
            "pattern": "^[A-Z0-9]{1,4}$",
            "type": "string",
            "description": "Reason code to recall an Outbound SCT Payment",
            "example": "CUST"
          },
          "additionalInfo": {
            "maxLength": 105,
            "minLength": 1,
            "pattern": "^[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]((?!//)([0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+/ ]))+[0-9a-zA-Z\\-\\?:\\(\\)\\.,'\\+]$",
            "type": "string",
            "description": "Additional Information",
            "nullable": true,
            "example": "Some additional information."
          }
        },
        "additionalProperties": false
      },
      "ReturnOfInboundPaymentRequest": {
        "required": [
          "paymentId"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "pattern": "[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}",
            "maxLength": 36,
            "type": "string",
            "description": "Unique identifier of the payment to be returned.",
            "format": "uuid",
            "example": "b907589a-f3c5-4328-84c5-c83df6f66d07"
          }
        },
        "additionalProperties": false
      },
      "OrganisationIdentificationCreditor": {
        "type": "object",
        "description": "Creditor identification allowing only one of bic, lei, or other.",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "bic": {
                "minLength": 1,
                "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}",
                "type": "string",
                "description": "Business identifier code (BIC) - Code allocated to a financial institution by the ISO 9362 Registration Authority. BIC8 and BIC11 allowed.",
                "example": "BUKBNL20"
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "lei": {
                "maxLength": 20,
                "minLength": 20,
                "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}",
                "type": "string",
                "description": "Legal Entity Identifier (LEI) - Unique alphanumeric code that has 20 characters and is based on the ISO 17442 standard.",
                "example": "724500EAW1MTCM9M1X68"
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "other": {
                "type": "object",
                "required": [
                  "identificationNumber"
                ],
                "properties": {
                  "identificationNumber": {
                    "type": "string",
                    "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                    "maxLength": 35,
                    "description": "Identification code of the reference party.",
                    "example": "123456789"
                  },
                  "schemeNameCode": {
                    "type": "string",
                    "description": "Scheme Name Code. Only schemeNameCode or schemeNameProprietary can be populated, not both. Allowed values include: BANK, CBID, CHID, CINC, COID, CUST, DUNS, EMPL, GS1G, SREN, SRET, SIRET, TXID, BDID, BOID",
                    "example": "BANK"
                  },
                  "schemeNameProprietary": {
                    "type": "string",
                    "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                    "maxLength": 35,
                    "description": "Scheme Name Proprietary. Only schemeNameCode or schemeNameProprietary can be populated, not both.",
                    "example": "SchemeName"
                  },
                  "issuer": {
                    "type": "string",
                    "pattern": "^[0-9a-zA-Z-?:().,'+]((?!//)([0-9a-zA-Z-?:().,'+/ ]))+[0-9a-zA-Z-?:().,'+]$",
                    "maxLength": 35,
                    "description": "The name of the entity that assigns the identification.",
                    "example": "IssuerName"
                  }
                }
              }
            },
            "additionalProperties": false
          }
        ]
      }
    }
  }
}