{
  "swagger": "2.0",
  "info": {
    "title": "Alpha Bank - WEB Banking API",
    "description": "The ALPHA WEB Banking Account, Payment and Funds Confirmation APIs are PSD2 Compliant APIs providing information about the accounts (products) of a WEB Banking subscriber of the Alpha Bank, as well as payment initiation functionality. \nBoth account information and lists of transactions can be acquired, along with direct-debits, standing orders, etc.\n",
    "termsOfService": "https://developer.api.alphabank.gr/media/ryzpmllz/alphabankgroupproviderterms.pdf",
    "version": "1.3.4"
  },
  "host": "gw.api.alphabank.eu",
  "basePath": "/api/sandbox",
  "schemes": [
    "https"
  ],
  "tags": [
    {
      "name": "Accounts",
      "description": "Provides Account and Transaction information.\n"
    },
    {
      "name": "Payments",
      "description": "This API implements the protocol which is necessary in order a transfer or payment transaction to be initiated and monitored.\n"
    },
    {
      "name": "FundsConfirmation",
      "description": "Provides confirmation for the availability of funds on a specific account.\n"
    },
    {
      "name": "OpenData",
      "description": "Offers access to Open Bank Data including Branch information, ATMs and Currency rates.\n"
    }
  ],
  "paths": {
    "/accounts/v1/account-requests": {
      "post": {
        "summary": "Ask for an account request",
        "tags": [
          "Accounts"
        ],
        "description": "Ask for the generation of an account request. The account request is a 'resource' representing the intent of the client application to ask for account and transaction information. This intent must be authorised by the end user in order for the client to acquire the access-token necessary to call any of the relative API operations. The autorization of the intent is performed using the \"request\" parameter (query argument) at the authorize request. \n",
        "operationId": "CreateAccountRequest",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "description": "Create an Account Request",
            "required": true,
            "schema": {
              "title": "Account Request POST request object",
              "description": "Allows setup of an account access request",
              "type": "object",
              "required": [
                "Risk"
              ],
              "properties": {
                "ProductIdentifiers": {
                  "description": "List of Product Identifiers",
                  "type": "array",
                  "items": {
                    "title": "Product Identifier",
                    "description": "Identifies a Bank product owned by the end user",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "Scheme"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "the global identifier of the product (e.g. IBAN, Card number)",
                        "type": "string"
                      },
                      "Scheme": {
                        "description": "Name of the identification scheme (AccountCode scheme)",
                        "type": "string",
                        "enum": [
                          "NA",
                          "Account",
                          "Card"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "201": {
            "description": "Account Request resource successfully created",
            "schema": {
              "title": "Account Request POST response",
              "type": "object",
              "required": [
                "AccountRequestId",
                "CreationDateTime"
              ],
              "properties": {
                "AccountRequestId": {
                  "description": "Unique identification as assigned to identify the account request resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the account request resource.",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorised",
                    "Rejected",
                    "Revoked"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "ProductIdentifiers": {
                  "description": "List of Product Identifiers",
                  "type": "array",
                  "items": {
                    "title": "Product Identifier",
                    "description": "Identifies a Bank product owned by the end user",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "Scheme"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "the global identifier of the product (e.g. IBAN, Card number)",
                        "type": "string"
                      },
                      "Scheme": {
                        "description": "Name of the identification scheme (AccountCode scheme)",
                        "type": "string",
                        "enum": [
                          "NA",
                          "Account",
                          "Card"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "account-info-setup"
            ]
          }
        ]
      }
    },
    "/accounts/v1/account-requests/{AccountRequestId}": {
      "get": {
        "summary": "Get an account request",
        "tags": [
          "Accounts"
        ],
        "description": "Return the Account Request intent object given its Id.\n",
        "operationId": "GetAccountRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the account request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account Request resource successfully retrieved",
            "schema": {
              "title": "Account Request GET response",
              "type": "object",
              "required": [
                "AccountRequestId",
                "CreationDateTime",
                "Risk"
              ],
              "properties": {
                "AccountRequestId": {
                  "description": "Unique identification as assigned to identify the account request resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the account request resource.",
                  "type": "string",
                  "enum": [
                    "Authorised",
                    "AwaitingAuthorisation",
                    "Rejected",
                    "Revoked"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "ProductIdentifiers": {
                  "description": "List of Product Identifiers",
                  "type": "array",
                  "items": {
                    "title": "Product Identifier",
                    "description": "Identifies a Bank product owned by the end user",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "Scheme"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "the global identifier of the product (e.g. IBAN, Card number)",
                        "type": "string"
                      },
                      "Scheme": {
                        "description": "Name of the identification scheme (AccountCode scheme)",
                        "type": "string",
                        "enum": [
                          "NA",
                          "Account",
                          "Card"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "account-info-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete an account request",
        "tags": [
          "Accounts"
        ],
        "description": "Delete an account request",
        "operationId": "DeleteAccountRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the account request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Account Request resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/details": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get All Accounts",
        "description": "Get all accounts of the authenticated subscriber.",
        "operationId": "GetAllAcounts",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account resources successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "title": "Account",
                "description": "Account",
                "type": "object",
                "required": [
                  "AccountId",
                  "AccountCode",
                  "Scheme",
                  "ProductTypeCode",
                  "CategoryCode",
                  "AllowDebit",
                  "AllowCredit",
                  "AllowQuery"
                ],
                "properties": {
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountCode": {
                    "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the identification scheme (AccountCode scheme)",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Currency": {
                    "description": "Identification of the currency in which the account is held.",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  },
                  "Alias": {
                    "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "ProductTypeCode": {
                    "description": "The code of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "ProductTypeName": {
                    "description": "The name of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "CategoryCode": {
                    "description": "The code of the account category (the account can be of saving account, loan, etc.).",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "CategoryName": {
                    "description": "The name of the account category.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "AllowDebit": {
                    "description": "Flag to denote if the account can be debited",
                    "type": "boolean"
                  },
                  "AllowCredit": {
                    "description": "Flag to denote if the account can be credited",
                    "type": "boolean"
                  },
                  "AllowQuery": {
                    "description": "Flag to denote if the balance of the account can be acquired",
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/details/cards": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get All Cards",
        "description": "Get all cards of the authenticated subscriber.",
        "operationId": "GetAllAcountsCards",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Cards resources successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "title": "Account",
                "description": "Account",
                "type": "object",
                "required": [
                  "AccountId",
                  "AccountCode",
                  "Scheme",
                  "ProductTypeCode",
                  "CategoryCode",
                  "AllowDebit",
                  "AllowCredit",
                  "AllowQuery"
                ],
                "properties": {
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountCode": {
                    "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the identification scheme (AccountCode scheme)",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Currency": {
                    "description": "Identification of the currency in which the account is held.",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  },
                  "Alias": {
                    "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "ProductTypeCode": {
                    "description": "The code of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "ProductTypeName": {
                    "description": "The name of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "CategoryCode": {
                    "description": "The code of the account category (the account can be of saving account, loan, etc.).",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "CategoryName": {
                    "description": "The name of the account category.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "AllowDebit": {
                    "description": "Flag to denote if the account can be debited",
                    "type": "boolean"
                  },
                  "AllowCredit": {
                    "description": "Flag to denote if the account can be credited",
                    "type": "boolean"
                  },
                  "AllowQuery": {
                    "description": "Flag to denote if the balance of the account can be acquired",
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/details/deposit": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get All Deposit Accounts",
        "description": "Get all deposit accounts of the authenticated subscriber.",
        "operationId": "GetAllAcountsDeposit",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Cards resources successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "title": "Account",
                "description": "Account",
                "type": "object",
                "required": [
                  "AccountId",
                  "AccountCode",
                  "Scheme",
                  "ProductTypeCode",
                  "CategoryCode",
                  "AllowDebit",
                  "AllowCredit",
                  "AllowQuery"
                ],
                "properties": {
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountCode": {
                    "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the identification scheme (AccountCode scheme)",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Currency": {
                    "description": "Identification of the currency in which the account is held.",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  },
                  "Alias": {
                    "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "ProductTypeCode": {
                    "description": "The code of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "ProductTypeName": {
                    "description": "The name of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "CategoryCode": {
                    "description": "The code of the account category (the account can be of saving account, loan, etc.).",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "CategoryName": {
                    "description": "The name of the account category.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "AllowDebit": {
                    "description": "Flag to denote if the account can be debited",
                    "type": "boolean"
                  },
                  "AllowCredit": {
                    "description": "Flag to denote if the account can be credited",
                    "type": "boolean"
                  },
                  "AllowQuery": {
                    "description": "Flag to denote if the balance of the account can be acquired",
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/balances": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Balances",
        "description": "Get balances related to all customer accounts",
        "operationId": "GetBalances",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Balances successfully retrieved",
            "schema": {
              "type": "object",
              "required": [
                "Balances"
              ],
              "properties": {
                "Balances": {
                  "description": "the balances for a set of accounts",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "AccountId",
                      "Balances"
                    ],
                    "properties": {
                      "AccountId": {
                        "description": "A unique and immutable identifier used to identify the account resource.",
                        "type": "string"
                      },
                      "Balances": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "Amount",
                            "TimeStamp",
                            "BalanceType"
                          ],
                          "properties": {
                            "Amount": {
                              "type": "object",
                              "description": "Amount of money",
                              "required": [
                                "Value",
                                "Currency"
                              ],
                              "properties": {
                                "Value": {
                                  "type": "number"
                                },
                                "Currency": {
                                  "description": "ISO 4217 currency code",
                                  "type": "string",
                                  "pattern": "^[A-Z]{3,3}$"
                                }
                              },
                              "additionalProperties": false
                            },
                            "CreditDebitIndicator": {
                              "description": "if the balance is credit or debit",
                              "type": "string",
                              "enum": [
                                "Credit",
                                "Debit"
                              ]
                            },
                            "TimeStamp": {
                              "description": "The date-time of the balance in ISO 8601 format",
                              "type": "string"
                            },
                            "BalanceType": {
                              "description": "the type of the balance",
                              "type": "string",
                              "enum": [
                                "Gross",
                                "Available"
                              ]
                            },
                            "CreditLine": {
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/details": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Account",
        "description": "Get an account",
        "operationId": "GetAccount",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account resource successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "title": "Account",
                "description": "Account",
                "type": "object",
                "required": [
                  "AccountId",
                  "AccountCode",
                  "Scheme",
                  "ProductTypeCode",
                  "CategoryCode",
                  "AllowDebit",
                  "AllowCredit",
                  "AllowQuery"
                ],
                "properties": {
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountCode": {
                    "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the identification scheme (AccountCode scheme)",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Currency": {
                    "description": "Identification of the currency in which the account is held.",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  },
                  "Alias": {
                    "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "ProductTypeCode": {
                    "description": "The code of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "ProductTypeName": {
                    "description": "The name of the product type for the account.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "CategoryCode": {
                    "description": "The code of the account category (the account can be of saving account, loan, etc.).",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  },
                  "CategoryName": {
                    "description": "The name of the account category.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "AllowDebit": {
                    "description": "Flag to denote if the account can be debited",
                    "type": "boolean"
                  },
                  "AllowCredit": {
                    "description": "Flag to denote if the account can be credited",
                    "type": "boolean"
                  },
                  "AllowQuery": {
                    "description": "Flag to denote if the balance of the account can be acquired",
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/standing-orders": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get account standing orders",
        "description": "Get the standing orders defined for the account with basic information. For detailed information about a specific order there is another endpoint to obtain detailed information about a standing order.",
        "operationId": "GetAccountStandingOrders",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account standing orders successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "StandingOrderId",
                  "Name",
                  "CreditorAccount"
                ],
                "properties": {
                  "StandingOrderId": {
                    "description": "the unique id of the standing order",
                    "type": "string"
                  },
                  "Name": {
                    "description": "a subscriber defined descriptive name for the standing order",
                    "type": "string"
                  },
                  "AccountId": {
                    "description": "the 'representation' Id of the associated account",
                    "type": "string"
                  },
                  "Amount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "CreditorAccount": {
                    "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
                    "title": "Creditor Account",
                    "type": "object",
                    "required": [
                      "SchemeName",
                      "Identification"
                    ],
                    "properties": {
                      "SchemeName": {
                        "description": "Name of the identification scheme, in a coded form as published in an external list.",
                        "title": "SchemeName",
                        "type": "string",
                        "enum": [
                          "NA",
                          "Account",
                          "Card"
                        ]
                      },
                      "Identification": {
                        "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34
                      },
                      "Name": {
                        "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                      },
                      "SecondaryIdentification": {
                        "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/standing-orders/{StandingOrderId}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get detailed information about a specific standing order",
        "description": "Get detailed information about a specific standing order. In order to obtain a list of standing orders there is a separate endpoint which provides basic info for each standing order.",
        "operationId": "GetAccountStandingOrdersDetails",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "name": "StandingOrderId",
            "in": "path",
            "description": "A unique identifier used to identify the standing order resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account specific standing order successfully retrieved",
            "schema": {
              "type": "object",
              "required": [
                "StandingOrderId",
                "Name",
                "CreditorAccount"
              ],
              "properties": {
                "StandingOrderId": {
                  "description": "the unique id of the standing order",
                  "type": "string"
                },
                "Name": {
                  "description": "a subscriber defined descriptive name for the standing order",
                  "type": "string"
                },
                "AccountId": {
                  "description": "the 'representation' Id of the associated account",
                  "type": "string"
                },
                "Status": {
                  "description": "the status of the standing order",
                  "type": "string",
                  "enum": [
                    "Active",
                    "Inactive"
                  ]
                },
                "DateCreated": {
                  "description": "the date the standing order was created (in ISO 8601 format)",
                  "type": "string"
                },
                "DateStart": {
                  "description": "the date from the standing order is active (in ISO 8601 format)",
                  "type": "string"
                },
                "DateStop": {
                  "description": "the date until the standing order is active (in ISO 8601 format)",
                  "type": "string"
                },
                "NumberOfOccurences": {
                  "description": "number of times the standing order will be executed (supported by Alpha Bank Cyprus only)",
                  "type": "number"
                },
                "Amount": {
                  "type": "object",
                  "description": "Amount of money",
                  "required": [
                    "Value",
                    "Currency"
                  ],
                  "properties": {
                    "Value": {
                      "type": "number"
                    },
                    "Currency": {
                      "description": "ISO 4217 currency code",
                      "type": "string",
                      "pattern": "^[A-Z]{3,3}$"
                    }
                  },
                  "additionalProperties": false
                },
                "CreditorAccount": {
                  "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
                  "title": "Creditor Account",
                  "type": "object",
                  "required": [
                    "SchemeName",
                    "Identification"
                  ],
                  "properties": {
                    "SchemeName": {
                      "description": "Name of the identification scheme, in a coded form as published in an external list.",
                      "title": "SchemeName",
                      "type": "string",
                      "enum": [
                        "NA",
                        "Account",
                        "Card"
                      ]
                    },
                    "Identification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    },
                    "Name": {
                      "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "SecondaryIdentification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    }
                  }
                },
                "CreditorReason": {
                  "description": "descriptive text used for the creditor to identify the relative transactions",
                  "type": "string"
                },
                "ExecutionPlan": {
                  "description": "the definition of the periodicity of the standing order",
                  "type": "object",
                  "properties": {
                    "ExecutionMonthlyFrequency": {
                      "description": "every how many months the standing order is executed",
                      "type": "integer"
                    },
                    "ExecutionMonthDay": {
                      "description": "the day of the month the standing order is executed",
                      "type": "integer"
                    }
                  }
                },
                "PreviousExecution": {
                  "description": "described an order execution",
                  "type": "object",
                  "properties": {
                    "Status": {
                      "description": "the execution status of the order",
                      "type": "string",
                      "enum": [
                        "Pending",
                        "Executed"
                      ]
                    },
                    "ExecutionDate": {
                      "description": "the date the order is planed to be executed or already executed (in ISO 8601 format)",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "NextExecution": {
                  "description": "described an order execution",
                  "type": "object",
                  "properties": {
                    "Status": {
                      "description": "the execution status of the order",
                      "type": "string",
                      "enum": [
                        "Pending",
                        "Executed"
                      ]
                    },
                    "ExecutionDate": {
                      "description": "the date the order is planed to be executed or already executed (in ISO 8601 format)",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/direct-debits": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get account direct debits",
        "description": "Get the direct debits defined for the account with basic information. For detailed information about a specific direct debit there is another endpoint to obtain detailed information about a direct debit.",
        "operationId": "GetAccountDirectDebits",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account direct debits successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "AccountId"
                ],
                "properties": {
                  "AccountId": {
                    "description": "the 'representation' Id of the associated account",
                    "type": "string"
                  },
                  "ProductName": {
                    "description": "the name of the product",
                    "type": "string"
                  },
                  "DirectDebitId": {
                    "description": "the unique id of the direct debit",
                    "type": "string"
                  },
                  "Status": {
                    "description": "the status of the standing order",
                    "type": "string",
                    "enum": [
                      "Active",
                      "Inactive"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/direct-debits/{DirectDebitId}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get account direct debit",
        "description": "Get detailed information about a specific direct debit. In order to obtain a list of direct debits there is a separate endpoint which provides basic info for each direct debit.",
        "operationId": "GetAccountDirectDebit",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "name": "DirectDebitId",
            "in": "path",
            "description": "A unique identifier used to identify the direct debit resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account direct debits successfully retrieved",
            "schema": {
              "type": "object",
              "required": [
                "AccountId"
              ],
              "properties": {
                "DirectDebitId": {
                  "description": "the unique id of the direct debit",
                  "type": "string"
                },
                "Name": {
                  "description": "a subscriber defined descriptive name for the direct debit",
                  "type": "string"
                },
                "AccountId": {
                  "description": "the 'representation' Id of the associated account",
                  "type": "string"
                },
                "ProductType": {
                  "description": "the type of the product to pay",
                  "type": "string"
                },
                "ProductName": {
                  "description": "the name of the product",
                  "type": "string"
                },
                "Status": {
                  "description": "the status of the standing order",
                  "type": "string",
                  "enum": [
                    "Active",
                    "Inactive"
                  ]
                },
                "DateCreated": {
                  "description": "the date the standing order was created (in ISO 8601 format)",
                  "type": "string"
                },
                "AmountLimit": {
                  "type": "object",
                  "description": "Amount of money",
                  "required": [
                    "Value",
                    "Currency"
                  ],
                  "properties": {
                    "Value": {
                      "type": "number"
                    },
                    "Currency": {
                      "description": "ISO 4217 currency code",
                      "type": "string",
                      "pattern": "^[A-Z]{3,3}$"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/balances": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Account Balances",
        "description": "Get balances related to an account",
        "operationId": "GetAccountBalances",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account balances successfully retrieved",
            "schema": {
              "type": "object",
              "required": [
                "Balances"
              ],
              "properties": {
                "Balances": {
                  "description": "the balances for a set of accounts",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "AccountId",
                      "Balances"
                    ],
                    "properties": {
                      "AccountId": {
                        "description": "A unique and immutable identifier used to identify the account resource.",
                        "type": "string"
                      },
                      "Balances": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "Amount",
                            "TimeStamp",
                            "BalanceType"
                          ],
                          "properties": {
                            "Amount": {
                              "type": "object",
                              "description": "Amount of money",
                              "required": [
                                "Value",
                                "Currency"
                              ],
                              "properties": {
                                "Value": {
                                  "type": "number"
                                },
                                "Currency": {
                                  "description": "ISO 4217 currency code",
                                  "type": "string",
                                  "pattern": "^[A-Z]{3,3}$"
                                }
                              },
                              "additionalProperties": false
                            },
                            "CreditDebitIndicator": {
                              "description": "if the balance is credit or debit",
                              "type": "string",
                              "enum": [
                                "Credit",
                                "Debit"
                              ]
                            },
                            "TimeStamp": {
                              "description": "The date-time of the balance in ISO 8601 format",
                              "type": "string"
                            },
                            "BalanceType": {
                              "description": "the type of the balance",
                              "type": "string",
                              "enum": [
                                "Gross",
                                "Available"
                              ]
                            },
                            "CreditLine": {
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/beneficiaries": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Account Beneficiaries",
        "description": "Get the beneficiaries related to an account",
        "operationId": "GetAccountBeneficiaries",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account balances successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "title": "Beneficiary",
                "description": "Beneficiary",
                "type": "object",
                "required": [
                  "CustomerNumber",
                  "CustomerType"
                ],
                "properties": {
                  "CustomerNumber": {
                    "description": "the customer identification number",
                    "type": "string"
                  },
                  "CustomerType": {
                    "description": "type of the customer",
                    "type": "string",
                    "enum": [
                      "Individual",
                      "Company",
                      "Unknown"
                    ]
                  },
                  "CompanyName": {
                    "description": "Company name",
                    "type": "string"
                  },
                  "CompanyTitle": {
                    "description": "Comapny title",
                    "type": "string"
                  },
                  "LastName": {
                    "description": "Persons' surname",
                    "type": "string"
                  },
                  "FistName": {
                    "description": "Person's name",
                    "type": "string"
                  },
                  "FatherName": {
                    "description": "Person's father name",
                    "type": "string"
                  },
                  "BirthDate": {
                    "description": "Person's birth date in ISO 8601 format",
                    "type": "string"
                  },
                  "Language": {
                    "description": "prefered communication language",
                    "type": "string",
                    "enum": [
                      "en",
                      "el",
                      "ro"
                    ]
                  },
                  "Nationality": {
                    "description": "Nationality in ISO 3166-1 alpha-2 code",
                    "type": "string"
                  },
                  "Sex": {
                    "description": "Person's sex",
                    "type": "string",
                    "enum": [
                      "Unknown",
                      "Male",
                      "Female",
                      "Other",
                      "NA"
                    ]
                  },
                  "TaxInformation": {
                    "description": "tax information data",
                    "type": "object",
                    "properties": {
                      "VAT": {
                        "description": "vat number",
                        "type": "string"
                      },
                      "TaxOffice": {
                        "description": "tax office",
                        "type": "string"
                      }
                    }
                  },
                  "Identity": {
                    "description": "person's identification document",
                    "type": "object",
                    "properties": {
                      "Id": {
                        "description": "the identification document's code",
                        "type": "string"
                      },
                      "IdType": {
                        "description": "the identification type",
                        "type": "string",
                        "enum": [
                          "Nothing",
                          "IDCard",
                          "Passport",
                          "Other"
                        ]
                      },
                      "Publisher": {
                        "description": "Person's identification publisher",
                        "type": "string"
                      },
                      "PublisherCountry": {
                        "description": "identification publisher's country (ISO 3166-1 alpha-2 code)",
                        "type": "string"
                      }
                    }
                  },
                  "Contacts": {
                    "description": "list of contacts",
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ContactType": {
                          "description": "contact type",
                          "type": "string",
                          "enum": [
                            "Telephone",
                            "Email",
                            "WorkPhone",
                            "PrivatePhone",
                            "Mobile"
                          ]
                        },
                        "ContactValue": {
                          "description": "contact value (nuber, address, tec.)",
                          "type": "string"
                        }
                      }
                    }
                  },
                  "Addresses": {
                    "description": "list of addresses",
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "AddressType": {
                          "description": "type of the address",
                          "type": "string",
                          "enum": [
                            "Home",
                            "Work"
                          ]
                        },
                        "Street": {
                          "description": "street name",
                          "type": "string"
                        },
                        "Number": {
                          "description": "the street number",
                          "type": "string"
                        },
                        "City": {
                          "description": "the city name",
                          "type": "string"
                        },
                        "Country": {
                          "description": "address country",
                          "type": "string"
                        },
                        "PostalCode": {
                          "description": "postal code",
                          "type": "string"
                        }
                      }
                    }
                  },
                  "BussinessActivity": {
                    "description": "business activity",
                    "type": "string"
                  },
                  "CorpExpirationDate": {
                    "description": "Corporate expiration date (ISO 8601 format)",
                    "type": "string"
                  },
                  "LegalEntityExpiryDate": {
                    "description": "Corporate expiration date (ISO 8601 format)",
                    "type": "string"
                  },
                  "InsuranceClearanceExpiryDate": {
                    "description": "Insurance Clearance Expiry Date (ISO 8601 format)",
                    "type": "string"
                  },
                  "TaxClearanceExpiryDate": {
                    "description": "Tax Clearance Expiry Date (ISO 8601 format)",
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/transactions": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Account Transactions",
        "description": "Get transactions related to an account",
        "operationId": "GetAccountTransactions",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "fromDate",
            "type": "string",
            "required": false,
            "format": "date-time",
            "description": "The UTC ISO 8601 Date Time to filter transactions (from)"
          },
          {
            "in": "query",
            "name": "toDate",
            "type": "string",
            "required": false,
            "format": "date-time",
            "description": "The UTC ISO 8601 Date Time to filter transactions (to)"
          },
          {
            "in": "header",
            "name": "x-ab-locator",
            "type": "string",
            "required": false,
            "description": "the locator value returned from previous request with same arguments"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account Transactions successfully retrieved",
            "schema": {
              "description": "List of the transactions according to the query parameters, order by date, most recent first. The count of the transactions has a linit of 30. If more transactions are available the reponse returns a value in the x-ab-locator header. This value can be used for the same header in subsquent requests in order to acquire the next set of transaction entries.",
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "AccountId",
                  "Amount",
                  "CreditDebitIndicator",
                  "BookingDateTime"
                ],
                "properties": {
                  "TransactionId": {
                    "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the Account identification scheme",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Amount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "CreditDebitIndicator": {
                    "description": "Indicates whether the transaction is a credit or a debit entry.",
                    "type": "string",
                    "enum": [
                      "Credit",
                      "Debit"
                    ]
                  },
                  "OriginatorAccount": {
                    "description": "The identifier of the transaction. If refers to a card transaction the value corresponds to the card number. In case of account transactions the value corresponds to the account IBAN.",
                    "type": "string"
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
                    "type": "string"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
                    "type": "string"
                  },
                  "BookingDateTime": {
                    "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "ValueDateTime": {
                    "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransactionInformation": {
                    "description": "Further details of the transaction. This is the transaction narrative, which is unstructured text.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "MerchantDetails": {
                    "description": "Details of the merchant involved in the transaction. This information is applicable only for accounts of type Card.",
                    "type": "object",
                    "properties": {
                      "MerchantName": {
                        "description": "Name by which the merchant is known.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                      },
                      "MerchantCategoryCode": {
                        "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 4
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "416": {
            "description": "Requested Range Not Satisfiable",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/accounts/v1/{AccountId}/pending-transfers": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get Account Pending Transfers",
        "description": "Get pending transactions related to an account that are scheduled to execute in the future.",
        "operationId": "GetAccountPendingTransactions",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier used to identify the account resource as returned by the GetAllAcounts operation.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-locator",
            "type": "string",
            "required": false,
            "description": "the locator value returned from previous request with same arguments"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Account Pending Transactions successfully retrieved",
            "schema": {
              "description": "List of the transactions according to the query parameters, order by date, most recent first. The count of the transactions has a linit of 30. If more transactions are available the reponse returns a value in the x-ab-locator header. This value can be used for the same header in subsquent requests in order to acquire the next set of transaction entries.",
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "AccountId",
                  "Amount",
                  "CreditDebitIndicator",
                  "BookingDateTime"
                ],
                "properties": {
                  "TransactionId": {
                    "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "AccountId": {
                    "description": "A unique and immutable identifier used to identify the account resource",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  },
                  "Scheme": {
                    "description": "Name of the Account identification scheme",
                    "type": "string",
                    "enum": [
                      "NA",
                      "Account",
                      "Card"
                    ]
                  },
                  "Amount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "CreditDebitIndicator": {
                    "description": "Indicates whether the transaction is a credit or a debit entry.",
                    "type": "string",
                    "enum": [
                      "Credit",
                      "Debit"
                    ]
                  },
                  "OriginatorAccount": {
                    "description": "The identifier of the transaction. If refers to a card transaction the value corresponds to the card number. In case of account transactions the value corresponds to the account IBAN.",
                    "type": "string"
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
                    "type": "string"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
                    "type": "string"
                  },
                  "BookingDateTime": {
                    "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "ValueDateTime": {
                    "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransactionInformation": {
                    "description": "Further details of the transaction. This is the transaction narrative, which is unstructured text.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "MerchantDetails": {
                    "description": "Details of the merchant involved in the transaction. This information is applicable only for accounts of type Card.",
                    "type": "object",
                    "properties": {
                      "MerchantName": {
                        "description": "Name by which the merchant is known.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                      },
                      "MerchantCategoryCode": {
                        "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 4
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "416": {
            "description": "Requested Range Not Satisfiable",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "account-info"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/domestic": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a single domestic transfer intent object",
        "description": "Create a single domestic transfer intent object",
        "operationId": "CreateSingleDomesticTransfer",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a single payment/transfer creating an intent object",
            "required": true,
            "schema": {
              "title": "PaymentSetupRequest",
              "description": "Allows setup of a payment/transfer",
              "type": "object",
              "required": [
                "Initiation",
                "Risk"
              ],
              "properties": {
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "TransferType": {
                      "description": "defines the type of the transfer (IRIS is supported only by Alpha Bank Greece)",
                      "type": "string",
                      "enum": [
                        "Simple",
                        "IRIS"
                      ]
                    },
                    "OurShare": {
                      "description": "Share \"mode\" (OUR is supported only by Alpha Bank Greece).",
                      "title": "OurShare",
                      "type": "string",
                      "enum": [
                        "OUR",
                        "SHA"
                      ]
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "IBAN of the creditor account.",
                      "title": "Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "The IBAN of the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        }
                      }
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Transfer setup resource successfully created",
            "schema": {
              "title": "Domestic transfer setup response",
              "description": "Reflection of The Main Data Payload, with Created Resource ID, Status and Timestamp",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected",
                    "Authorised",
                    "Revoked"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "TransferType": {
                      "description": "defines the type of the transfer (IRIS is supported only by Alpha Bank Greece)",
                      "type": "string",
                      "enum": [
                        "Simple",
                        "IRIS"
                      ]
                    },
                    "OurShare": {
                      "description": "Share \"mode\" (OUR is supported only by Alpha Bank Greece).",
                      "title": "OurShare",
                      "type": "string",
                      "enum": [
                        "OUR",
                        "SHA"
                      ]
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "IBAN of the creditor account.",
                      "title": "Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "The IBAN of the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        }
                      }
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "TransferDateTime": {
                  "description": "Date and time at which the transfer will take place (in ISO 8601 date-time format).",
                  "type": "string",
                  "format": "date-time"
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/domestic/{TransferRequestId}": {
      "get": {
        "summary": "Get a domestic transfer request",
        "tags": [
          "Payments"
        ],
        "description": "Return the Domestic Transfer Request intent object given its Id.\n",
        "operationId": "GetDomesticTransferRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer Request resource successfully retrieved",
            "schema": {
              "title": "Domestic transfer request response",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorized",
                    "Executed",
                    "Revoked",
                    "Rejected"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "TransferType": {
                      "description": "defines the type of the transfer (IRIS is supported only by Alpha Bank Greece)",
                      "type": "string",
                      "enum": [
                        "Simple",
                        "IRIS"
                      ]
                    },
                    "OurShare": {
                      "description": "Share \"mode\" (OUR is supported only by Alpha Bank Greece).",
                      "title": "OurShare",
                      "type": "string",
                      "enum": [
                        "OUR",
                        "SHA"
                      ]
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "IBAN of the creditor account.",
                      "title": "Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "The IBAN of the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        }
                      }
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a domestic transfer request",
        "tags": [
          "Payments"
        ],
        "description": "Delete a domestic transfer request",
        "operationId": "DeleteDomesticTransferRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Domestic Transfer Request resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/domestic/submissions": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a domestic transfer submission",
        "description": "Submit a previously setup domestic transfer",
        "operationId": "CreateDomesticTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Submit a single immediate domestic transfer",
            "required": true,
            "schema": {
              "title": "Domestic Transfer Submission POST request",
              "description": "Allows Submission of a domestic transfer",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha bank-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "TransferType": {
                      "description": "defines the type of the transfer (IRIS is supported only by Alpha Bank Greece)",
                      "type": "string",
                      "enum": [
                        "Simple",
                        "IRIS"
                      ]
                    },
                    "OurShare": {
                      "description": "Share \"mode\" (OUR is supported only by Alpha Bank Greece).",
                      "title": "OurShare",
                      "type": "string",
                      "enum": [
                        "OUR",
                        "SHA"
                      ]
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "IBAN of the creditor account.",
                      "title": "Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "The IBAN of the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        }
                      }
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Transfer submit resource successfully created",
            "schema": {
              "title": "Domestic Transfer Submit Response",
              "type": "object",
              "required": [
                "TransferSubmissionId",
                "TransferRequestId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "TransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the domestic transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer submission resource.",
                  "title": "TransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                },
                "ExecutionDate": {
                  "description": "Date and time at which the transfer is set to be executed in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/domestic/submissions/{TransferSubmissionId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a domestic transfer submission",
        "description": "Get a previously setup domestic transfer",
        "operationId": "GetDomesticTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferSubmissionId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer submit resource successfully returned",
            "schema": {
              "title": "Domestic Transfer Submit Status Response",
              "type": "object",
              "required": [
                "TransferSubmissionId",
                "TransferRequestId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "TransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the domestic transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Unknown",
                    "Pending",
                    "Succeded",
                    "Failed",
                    "Canceled"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                },
                "ExecutionDate": {
                  "description": "Date and time at which the transfer is set to be executed in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a domestic transfer submission",
        "tags": [
          "Payments"
        ],
        "description": "Delete a domestic transfer submission",
        "operationId": "DeleteDomesticTransferSubmission",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferSubmissionId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Domestic Transfer Submission resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer-delete"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/international": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a single international transfer intent object",
        "description": "Create a single international transfer intent object",
        "operationId": "CreateSingleInternationalTransfer",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a single international transfer creating an intent object",
            "required": true,
            "schema": {
              "title": "InternationalTransferSetupRequest",
              "description": "Allows setup of an international transfer",
              "type": "object",
              "required": [
                "Initiation",
                "Risk"
              ],
              "properties": {
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "Creditor account identification",
                      "title": "International Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName",
                        "SchemeName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "Identification assigned by an institution to identify the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        },
                        "SchemeName": {
                          "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                          "title": "SchemeName",
                          "type": "string",
                          "enum": [
                            "IBAN",
                            "BBAN"
                          ]
                        },
                        "BICCode": {
                          "description": "The BIC Code that identifies the creditor account's institution",
                          "title": "BICCode",
                          "type": "string",
                          "minLength": 8,
                          "maxLength": 11
                        }
                      }
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "IntermediaryBankBIC": {
                      "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                      "title": "IntermediaryBankBIC",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "BoPCode": {
                      "description": "Balance of Payment (BoP) code",
                      "type": "string",
                      "enum": [
                        "DirectInvestments",
                        "SecuritiesInvestment",
                        "Loans",
                        "Deposits",
                        "TravelServices",
                        "MailAndTelecommunications",
                        "TransportServices",
                        "EntertainementServicesAndCulture",
                        "Insurance",
                        "DividentsAndCapitalGains",
                        "RentsForResidentsAbroad",
                        "Scholarships",
                        "CreditCards"
                      ]
                    },
                    "CreditorAddress": {
                      "description": "Address information corresponding to the Creditor account (this information is required for Alpha Bank Greece)",
                      "title": "CreditorAddress",
                      "type": "string"
                    },
                    "DebtorPhone": {
                      "description": "Contact phone (this information is required for Alpha Bank Greece)",
                      "title": "DebtorPhone",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Transfer setup resource successfully created",
            "schema": {
              "title": "International transfer setup response",
              "description": "Reflection of The Main Data Payload, with Created Resource ID, Status and Timestamp",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorized",
                    "Executed",
                    "Revoked",
                    "Rejected"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "Creditor account identification",
                      "title": "International Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName",
                        "SchemeName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "Identification assigned by an institution to identify the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        },
                        "SchemeName": {
                          "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                          "title": "SchemeName",
                          "type": "string",
                          "enum": [
                            "IBAN",
                            "BBAN"
                          ]
                        },
                        "BICCode": {
                          "description": "The BIC Code that identifies the creditor account's institution",
                          "title": "BICCode",
                          "type": "string",
                          "minLength": 8,
                          "maxLength": 11
                        }
                      }
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "IntermediaryBankBIC": {
                      "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                      "title": "IntermediaryBankBIC",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "BoPCode": {
                      "description": "Balance of Payment (BoP) code",
                      "type": "string",
                      "enum": [
                        "DirectInvestments",
                        "SecuritiesInvestment",
                        "Loans",
                        "Deposits",
                        "TravelServices",
                        "MailAndTelecommunications",
                        "TransportServices",
                        "EntertainementServicesAndCulture",
                        "Insurance",
                        "DividentsAndCapitalGains",
                        "RentsForResidentsAbroad",
                        "Scholarships",
                        "CreditCards"
                      ]
                    },
                    "CreditorAddress": {
                      "description": "Address information corresponding to the Creditor account (this information is required for Alpha Bank Greece)",
                      "title": "CreditorAddress",
                      "type": "string"
                    },
                    "DebtorPhone": {
                      "description": "Contact phone (this information is required for Alpha Bank Greece)",
                      "title": "DebtorPhone",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/international/{TransferRequestId}": {
      "get": {
        "summary": "Get an international transfer request",
        "tags": [
          "Payments"
        ],
        "description": "Return the International Transfer Request intent object given its Id.\n",
        "operationId": "GetInternationalTransferRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer Request resource successfully retrieved",
            "schema": {
              "title": "International transfer Request response",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorized",
                    "Executed",
                    "Revoked",
                    "Rejected"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "Creditor account identification",
                      "title": "International Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName",
                        "SchemeName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "Identification assigned by an institution to identify the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        },
                        "SchemeName": {
                          "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                          "title": "SchemeName",
                          "type": "string",
                          "enum": [
                            "IBAN",
                            "BBAN"
                          ]
                        },
                        "BICCode": {
                          "description": "The BIC Code that identifies the creditor account's institution",
                          "title": "BICCode",
                          "type": "string",
                          "minLength": 8,
                          "maxLength": 11
                        }
                      }
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "IntermediaryBankBIC": {
                      "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                      "title": "IntermediaryBankBIC",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "BoPCode": {
                      "description": "Balance of Payment (BoP) code",
                      "type": "string",
                      "enum": [
                        "DirectInvestments",
                        "SecuritiesInvestment",
                        "Loans",
                        "Deposits",
                        "TravelServices",
                        "MailAndTelecommunications",
                        "TransportServices",
                        "EntertainementServicesAndCulture",
                        "Insurance",
                        "DividentsAndCapitalGains",
                        "RentsForResidentsAbroad",
                        "Scholarships",
                        "CreditCards"
                      ]
                    },
                    "CreditorAddress": {
                      "description": "Address information corresponding to the Creditor account (this information is required for Alpha Bank Greece)",
                      "title": "CreditorAddress",
                      "type": "string"
                    },
                    "DebtorPhone": {
                      "description": "Contact phone (this information is required for Alpha Bank Greece)",
                      "title": "DebtorPhone",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete an international transfer request",
        "tags": [
          "Payments"
        ],
        "description": "Delete an international transfer request",
        "operationId": "DeleteInternationalTransferRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "International Transfer Request resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/international/submissions": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create an international transfer submission",
        "description": "Submit a previously setup international transfer",
        "operationId": "CreateInternationalTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a single immediate international transfer",
            "required": true,
            "schema": {
              "title": "International Transfer Submission POST request",
              "description": "Allows Submission of an international transfer",
              "type": "object",
              "required": [
                "TransferRequestId",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha bank-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
                  "required": [
                    "InstructionIdentification",
                    "EndToEndIdentification",
                    "InstructedAmount",
                    "CreditorAccount"
                  ],
                  "properties": {
                    "InstructionIdentification": {
                      "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "EndToEndIdentification": {
                      "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "InstructedAmount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorAccount": {
                      "description": "IBAN of the debtor account.",
                      "title": "DebtorAccount",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "Creditor account identification",
                      "title": "International Creditor Account",
                      "type": "object",
                      "required": [
                        "AccountCode",
                        "OwnerName",
                        "SchemeName"
                      ],
                      "properties": {
                        "AccountCode": {
                          "description": "Identification assigned by an institution to identify the account",
                          "title": "AccountCode",
                          "type": "string"
                        },
                        "OwnerName": {
                          "description": "The Name of the owner as known by the account institution",
                          "title": "OwnerName",
                          "type": "string"
                        },
                        "SchemeName": {
                          "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                          "title": "SchemeName",
                          "type": "string",
                          "enum": [
                            "IBAN",
                            "BBAN"
                          ]
                        },
                        "BICCode": {
                          "description": "The BIC Code that identifies the creditor account's institution",
                          "title": "BICCode",
                          "type": "string",
                          "minLength": 8,
                          "maxLength": 11
                        }
                      }
                    },
                    "ValueDate": {
                      "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                      "type": "string",
                      "format": "date-time"
                    },
                    "IntermediaryBankBIC": {
                      "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                      "title": "IntermediaryBankBIC",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    },
                    "DebtorInformation": {
                      "description": "Information supplied to be used by the end user",
                      "title": "DebtorInformation",
                      "type": "string"
                    },
                    "BlockFunds": {
                      "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
                      "title": "BlockFunds",
                      "type": "boolean"
                    },
                    "BoPCode": {
                      "description": "Balance of Payment (BoP) code",
                      "type": "string",
                      "enum": [
                        "DirectInvestments",
                        "SecuritiesInvestment",
                        "Loans",
                        "Deposits",
                        "TravelServices",
                        "MailAndTelecommunications",
                        "TransportServices",
                        "EntertainementServicesAndCulture",
                        "Insurance",
                        "DividentsAndCapitalGains",
                        "RentsForResidentsAbroad",
                        "Scholarships",
                        "CreditCards"
                      ]
                    },
                    "CreditorAddress": {
                      "description": "Address information corresponding to the Creditor account (this information is required for Alpha Bank Greece)",
                      "title": "CreditorAddress",
                      "type": "string"
                    },
                    "DebtorPhone": {
                      "description": "Contact phone (this information is required for Alpha Bank Greece)",
                      "title": "DebtorPhone",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Transfer submit resource successfully created",
            "schema": {
              "title": "International Transfer Submit Response",
              "type": "object",
              "required": [
                "TransferSubmissionId",
                "TransferRequestId",
                "Status",
                "CreationDateTime",
                "ExecutionDate"
              ],
              "properties": {
                "TransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the domestic transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer submission resource.",
                  "title": "TransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Unknown",
                    "Pending",
                    "Succeded",
                    "Failed",
                    "Canceled"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                },
                "ExecutionDate": {
                  "description": "Date and time at which the transfer is set to be executed in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/international/submissions/{TransferSubmissionId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get an international transfer submission",
        "description": "Get a previously setup international transfer",
        "operationId": "GetInternationalTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferSubmissionId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer submit resource successfully returned",
            "schema": {
              "title": "International Transfer Submit Status Response",
              "type": "object",
              "required": [
                "TransferSubmissionId",
                "TransferRequestId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "TransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the international transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "TransferRequestId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the transfer resource.",
                  "title": "TransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Unknown",
                    "Pending",
                    "Succeded",
                    "Failed",
                    "Canceled"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete an international transfer submission",
        "tags": [
          "Payments"
        ],
        "description": "Delete an international transfer submission",
        "operationId": "DeleteInternationalTransferSubmission",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "TransferSubmissionId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the transfer submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "International Transfer Submission resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer-delete"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/account/{AccountId}/history": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get the transfer submissions history for the specific Account",
        "description": "Get the transfer submissions history",
        "operationId": "GetAccountTransferHistory",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "AccountId",
            "in": "path",
            "description": "A unique identifier (IBAN) used to identify the account resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer submission history successfully retrieved",
            "schema": {
              "description": "Transfer submission data",
              "title": "TransferSubmissionHistoryResponse",
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "InstructedAmount",
                  "DebtorAccount",
                  "CreditorAccount"
                ],
                "properties": {
                  "DateSubmitted": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransferScope": {
                    "description": "defines the type of the transfer by the means of participating institutions",
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "NATIONAL",
                      "INTERNATIONAL"
                    ]
                  },
                  "OurShare": {
                    "description": "Share \"mode\".",
                    "title": "OurShare",
                    "type": "string",
                    "enum": [
                      "OUR",
                      "SHA",
                      "BEN"
                    ]
                  },
                  "Status": {
                    "description": "the status of the transfer",
                    "type": "string",
                    "enum": [
                      "Unknown",
                      "Pending",
                      "Succeeded",
                      "Failed",
                      "Canceled"
                    ]
                  },
                  "BookingDateTime": {
                    "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "ValueDateTime": {
                    "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "InstructedAmount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorAccount": {
                    "description": "IBAN of the debtor account.",
                    "title": "DebtorAccount",
                    "type": "string"
                  },
                  "CreditorAccount": {
                    "description": "Creditor account identification",
                    "title": "International Creditor Account",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "OwnerName",
                      "SchemeName"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "Identification assigned by an institution to identify the account",
                        "title": "AccountCode",
                        "type": "string"
                      },
                      "OwnerName": {
                        "description": "The Name of the owner as known by the account institution",
                        "title": "OwnerName",
                        "type": "string"
                      },
                      "SchemeName": {
                        "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                        "title": "SchemeName",
                        "type": "string",
                        "enum": [
                          "IBAN",
                          "BBAN"
                        ]
                      },
                      "BICCode": {
                        "description": "The BIC Code that identifies the creditor account's institution",
                        "title": "BICCode",
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 11
                      }
                    }
                  },
                  "IntermediaryBankBIC": {
                    "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                    "title": "IntermediaryBankBIC",
                    "type": "string"
                  },
                  "DebtorInformation": {
                    "description": "Information supplied to be used by the end user",
                    "title": "DebtorInformation",
                    "type": "string"
                  },
                  "RemittanceInformation": {
                    "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                    "title": "RemittanceInformation",
                    "type": "object",
                    "properties": {
                      "Unstructured": {
                        "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.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                      },
                      "Reference": {
                        "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer-info"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/history": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get the payment history for defined time period",
        "description": "Get the payment history for time period",
        "operationId": "GetPaymentHistoryForPeriod",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "type": "string",
            "required": false,
            "format": "date-time",
            "description": "The UTC ISO 8601 Date Time to filter transactions (from)"
          },
          {
            "in": "query",
            "name": "toDate",
            "type": "string",
            "required": false,
            "format": "date-time",
            "description": "The UTC ISO 8601 Date Time to filter transactions (to)"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Payment history successfully retrieved",
            "schema": {
              "description": "Payment data",
              "title": "PaymentHistoryResponse",
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "InstructedAmount",
                  "DebtorAccount",
                  "CreditorAccount"
                ],
                "properties": {
                  "DateSubmitted": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransferScope": {
                    "description": "defines the type of the transfer by the means of participating institutions",
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "NATIONAL",
                      "INTERNATIONAL"
                    ]
                  },
                  "OurShare": {
                    "description": "Share \"mode\".",
                    "title": "OurShare",
                    "type": "string",
                    "enum": [
                      "OUR",
                      "SHA",
                      "BEN"
                    ]
                  },
                  "Status": {
                    "description": "the status of the transfer",
                    "type": "string",
                    "enum": [
                      "Unknown",
                      "Pending",
                      "Succeeded",
                      "Failed",
                      "Canceled"
                    ]
                  },
                  "BookingDateTime": {
                    "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "ValueDateTime": {
                    "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "InstructedAmount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorAccount": {
                    "description": "IBAN of the debtor account.",
                    "title": "DebtorAccount",
                    "type": "string"
                  },
                  "CreditorAccount": {
                    "description": "Creditor account identification",
                    "title": "International Creditor Account",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "OwnerName",
                      "SchemeName"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "Identification assigned by an institution to identify the account",
                        "title": "AccountCode",
                        "type": "string"
                      },
                      "OwnerName": {
                        "description": "The Name of the owner as known by the account institution",
                        "title": "OwnerName",
                        "type": "string"
                      },
                      "SchemeName": {
                        "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                        "title": "SchemeName",
                        "type": "string",
                        "enum": [
                          "IBAN",
                          "BBAN"
                        ]
                      },
                      "BICCode": {
                        "description": "The BIC Code that identifies the creditor account's institution",
                        "title": "BICCode",
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 11
                      }
                    }
                  },
                  "IntermediaryBankBIC": {
                    "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
                    "title": "IntermediaryBankBIC",
                    "type": "string"
                  },
                  "DebtorInformation": {
                    "description": "Information supplied to be used by the end user",
                    "title": "DebtorInformation",
                    "type": "string"
                  },
                  "RemittanceInformation": {
                    "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                    "title": "RemittanceInformation",
                    "type": "object",
                    "properties": {
                      "Unstructured": {
                        "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.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                      },
                      "Reference": {
                        "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer-info"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Revoke the payment history access",
        "description": "Revoke the payment history access",
        "operationId": "RevokePaymentHistoryForPeriod",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Payment history access successfully deleted",
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "transfer-info"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/mass": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a mass transfer intent object",
        "description": "Create a mass transfer intent object. Currently not available for Alpha Bank Cyprus.",
        "operationId": "CreateMassTransfer",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a mass transfer creating an intent object",
            "required": true,
            "schema": {
              "title": "MassTransferSetupRequest",
              "description": "Allows setup of a mass transfer",
              "type": "object",
              "required": [
                "TransfersList"
              ],
              "properties": {
                "MassTransferDesc": {
                  "description": "A description assigned by an instructiong party in order to facilitate the identification of a mass transfer intent",
                  "type": "string"
                },
                "TransfersList": {
                  "description": "A list of transfers to be executed under a single order",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "InstructionIdentification",
                      "EndToEndIdentification",
                      "InstructedAmount",
                      "CreditorAccount",
                      "BoPCode",
                      "CreditorAddress",
                      "DebtorPhone"
                    ],
                    "properties": {
                      "TransferItemId": {
                        "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "Sequence": {
                        "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                        "type": "integer"
                      },
                      "InstructionIdentification": {
                        "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "EndToEndIdentification": {
                        "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "InstructedAmount": {
                        "type": "object",
                        "description": "Amount of money",
                        "required": [
                          "Value",
                          "Currency"
                        ],
                        "properties": {
                          "Value": {
                            "type": "number"
                          },
                          "Currency": {
                            "description": "ISO 4217 currency code",
                            "type": "string",
                            "pattern": "^[A-Z]{3,3}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorAccount": {
                        "description": "IBAN of the debtor account.",
                        "title": "DebtorAccount",
                        "type": "string"
                      },
                      "CreditorAccount": {
                        "description": "Creditor account identification",
                        "title": "International Creditor Account",
                        "type": "object",
                        "required": [
                          "AccountCode",
                          "OwnerName",
                          "SchemeName"
                        ],
                        "properties": {
                          "AccountCode": {
                            "description": "Identification assigned by an institution to identify the account",
                            "title": "AccountCode",
                            "type": "string"
                          },
                          "OwnerName": {
                            "description": "The Name of the owner as known by the account institution",
                            "title": "OwnerName",
                            "type": "string"
                          },
                          "SchemeName": {
                            "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                            "title": "SchemeName",
                            "type": "string",
                            "enum": [
                              "IBAN",
                              "BBAN"
                            ]
                          },
                          "BICCode": {
                            "description": "The BIC Code that identifies the creditor account's institution",
                            "title": "BICCode",
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 11
                          }
                        }
                      },
                      "RemittanceInformation": {
                        "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                        "title": "RemittanceInformation",
                        "type": "object",
                        "properties": {
                          "Unstructured": {
                            "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.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                          },
                          "Reference": {
                            "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorInformation": {
                        "description": "Information supplied to be used by the end user",
                        "title": "DebtorInformation",
                        "type": "string"
                      },
                      "BlockFunds": {
                        "description": "Determines if the transfer amount will be blocked until the transfer execution",
                        "title": "BlockFunds",
                        "type": "boolean"
                      },
                      "ValueDate": {
                        "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                        "type": "string",
                        "format": "date-time"
                      },
                      "TransferType": {
                        "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                        "type": "string",
                        "enum": [
                          "Simple",
                          "IRIS"
                        ]
                      },
                      "OurShare": {
                        "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                        "title": "OurShare",
                        "type": "string",
                        "enum": [
                          "OUR",
                          "SHA"
                        ]
                      },
                      "BoPCode": {
                        "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                        "type": "string",
                        "enum": [
                          "DirectInvestments",
                          "SecuritiesInvestment",
                          "Loans",
                          "Deposits",
                          "TravelServices",
                          "MailAndTelecommunications",
                          "TransportServices",
                          "EntertainementServicesAndCulture",
                          "Insurance",
                          "DividentsAndCapitalGains",
                          "RentsForResidentsAbroad",
                          "Scholarships",
                          "CreditCards"
                        ]
                      },
                      "CreditorAddress": {
                        "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                        "title": "CreditorAddress",
                        "type": "string"
                      },
                      "DebtorPhone": {
                        "description": "Contact phone (Applicable for International Transfers only)",
                        "title": "DebtorPhone",
                        "type": "string"
                      },
                      "CreatedAt": {
                        "description": "Date and time at which the resource was created in ISO 8601 format.",
                        "type": "string",
                        "format": "date-time"
                      },
                      "Status": {
                        "description": "Specifies the status of the transfer resource.",
                        "title": "TransferStatus",
                        "type": "string",
                        "enum": [
                          "Accepted",
                          "Rejected",
                          "Authorised",
                          "Revoked"
                        ]
                      },
                      "Risk": {
                        "description": "Risk assessment related information",
                        "title": "Risk",
                        "type": "object",
                        "properties": {
                          "PaymentContextCode": {
                            "description": "Specifies the payment context",
                            "title": "PaymentContextCode",
                            "type": "string",
                            "enum": [
                              "BillPayment",
                              "EcommerceGoods",
                              "EcommerceServices",
                              "Other",
                              "PersonToPerson"
                            ]
                          },
                          "MerchantCategoryCode": {
                            "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 4
                          },
                          "MerchantCustomerIdentification": {
                            "description": "The unique customer identifier of the PSU with the merchant.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "DeliveryAddress": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                            "type": "object",
                            "properties": {
                              "AddressLine": {
                                "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 70 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 70
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "StreetName": {
                                "description": "Name of a street or thoroughfare",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 70
                              },
                              "BuildingNumber": {
                                "description": "Number that identifies the position of a building on a street.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "PostCode": {
                                "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "TownName": {
                                "description": "Name of a built-up area, with defined boundaries, and a local government.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35
                              },
                              "CountrySubDivision": {
                                "description": "Identifies a subdivision of a country, for instance state, region, county.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 35 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 35
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "Country": {
                                "description": "Nation with its own government, occupying a particular territory.",
                                "type": "string",
                                "pattern": "^[A-Z]{2,2}$"
                              }
                            },
                            "required": [
                              "TownName",
                              "Country"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Mass Transfer setup resource successfully created",
            "schema": {
              "title": "Mass transfer setup response",
              "description": "A Response with data regarding the success in the creation of the mass transfer resource and potential problems with each transfer present in the list",
              "type": "object",
              "required": [
                "MassTransferId",
                "Status",
                "CreationDateTime",
                "TransfersList"
              ],
              "properties": {
                "MassTransferId": {
                  "description": "Unique identification to uniquely identify the mass transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the mass transfer resource.",
                  "title": "MassTransferStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected",
                    "Authorised",
                    "Revoked"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "TransfersList": {
                  "description": "A reflection of the Transfer list posted with the result of the validation rules checks on each single item",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "Instance",
                      "HasError"
                    ],
                    "properties": {
                      "ErrorDesc": {
                        "description": "Validation rule violation description of the mass transfer item",
                        "title": "ErrorDescription",
                        "type": "string"
                      },
                      "HasError": {
                        "description": "Validation Result of specific mass transfer item",
                        "title": "HasError",
                        "type": "boolean"
                      },
                      "Instance": {
                        "type": "object",
                        "required": [
                          "InstructionIdentification",
                          "EndToEndIdentification",
                          "InstructedAmount",
                          "CreditorAccount",
                          "BoPCode",
                          "CreditorAddress",
                          "DebtorPhone"
                        ],
                        "properties": {
                          "TransferItemId": {
                            "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128
                          },
                          "Sequence": {
                            "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                            "type": "integer"
                          },
                          "InstructionIdentification": {
                            "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "EndToEndIdentification": {
                            "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "InstructedAmount": {
                            "type": "object",
                            "description": "Amount of money",
                            "required": [
                              "Value",
                              "Currency"
                            ],
                            "properties": {
                              "Value": {
                                "type": "number"
                              },
                              "Currency": {
                                "description": "ISO 4217 currency code",
                                "type": "string",
                                "pattern": "^[A-Z]{3,3}$"
                              }
                            },
                            "additionalProperties": false
                          },
                          "DebtorAccount": {
                            "description": "IBAN of the debtor account.",
                            "title": "DebtorAccount",
                            "type": "string"
                          },
                          "CreditorAccount": {
                            "description": "Creditor account identification",
                            "title": "International Creditor Account",
                            "type": "object",
                            "required": [
                              "AccountCode",
                              "OwnerName",
                              "SchemeName"
                            ],
                            "properties": {
                              "AccountCode": {
                                "description": "Identification assigned by an institution to identify the account",
                                "title": "AccountCode",
                                "type": "string"
                              },
                              "OwnerName": {
                                "description": "The Name of the owner as known by the account institution",
                                "title": "OwnerName",
                                "type": "string"
                              },
                              "SchemeName": {
                                "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                                "title": "SchemeName",
                                "type": "string",
                                "enum": [
                                  "IBAN",
                                  "BBAN"
                                ]
                              },
                              "BICCode": {
                                "description": "The BIC Code that identifies the creditor account's institution",
                                "title": "BICCode",
                                "type": "string",
                                "minLength": 8,
                                "maxLength": 11
                              }
                            }
                          },
                          "RemittanceInformation": {
                            "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                            "title": "RemittanceInformation",
                            "type": "object",
                            "properties": {
                              "Unstructured": {
                                "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.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 140
                              },
                              "Reference": {
                                "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35
                              }
                            },
                            "additionalProperties": false
                          },
                          "DebtorInformation": {
                            "description": "Information supplied to be used by the end user",
                            "title": "DebtorInformation",
                            "type": "string"
                          },
                          "BlockFunds": {
                            "description": "Determines if the transfer amount will be blocked until the transfer execution",
                            "title": "BlockFunds",
                            "type": "boolean"
                          },
                          "ValueDate": {
                            "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                            "type": "string",
                            "format": "date-time"
                          },
                          "TransferType": {
                            "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                            "type": "string",
                            "enum": [
                              "Simple",
                              "IRIS"
                            ]
                          },
                          "OurShare": {
                            "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                            "title": "OurShare",
                            "type": "string",
                            "enum": [
                              "OUR",
                              "SHA"
                            ]
                          },
                          "BoPCode": {
                            "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                            "type": "string",
                            "enum": [
                              "DirectInvestments",
                              "SecuritiesInvestment",
                              "Loans",
                              "Deposits",
                              "TravelServices",
                              "MailAndTelecommunications",
                              "TransportServices",
                              "EntertainementServicesAndCulture",
                              "Insurance",
                              "DividentsAndCapitalGains",
                              "RentsForResidentsAbroad",
                              "Scholarships",
                              "CreditCards"
                            ]
                          },
                          "CreditorAddress": {
                            "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                            "title": "CreditorAddress",
                            "type": "string"
                          },
                          "DebtorPhone": {
                            "description": "Contact phone (Applicable for International Transfers only)",
                            "title": "DebtorPhone",
                            "type": "string"
                          },
                          "CreatedAt": {
                            "description": "Date and time at which the resource was created in ISO 8601 format.",
                            "type": "string",
                            "format": "date-time"
                          },
                          "Status": {
                            "description": "Specifies the status of the transfer resource.",
                            "title": "TransferStatus",
                            "type": "string",
                            "enum": [
                              "Accepted",
                              "Rejected",
                              "Authorised",
                              "Revoked"
                            ]
                          },
                          "Risk": {
                            "description": "Risk assessment related information",
                            "title": "Risk",
                            "type": "object",
                            "properties": {
                              "PaymentContextCode": {
                                "description": "Specifies the payment context",
                                "title": "PaymentContextCode",
                                "type": "string",
                                "enum": [
                                  "BillPayment",
                                  "EcommerceGoods",
                                  "EcommerceServices",
                                  "Other",
                                  "PersonToPerson"
                                ]
                              },
                              "MerchantCategoryCode": {
                                "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 4
                              },
                              "MerchantCustomerIdentification": {
                                "description": "The unique customer identifier of the PSU with the merchant.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 70
                              },
                              "DeliveryAddress": {
                                "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                                "type": "object",
                                "properties": {
                                  "AddressLine": {
                                    "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                                    "type": "array",
                                    "items": {
                                      "description": "maxLength 70 text",
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 70
                                    },
                                    "minItems": 0,
                                    "maxItems": 2
                                  },
                                  "StreetName": {
                                    "description": "Name of a street or thoroughfare",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 70
                                  },
                                  "BuildingNumber": {
                                    "description": "Number that identifies the position of a building on a street.",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 16
                                  },
                                  "PostCode": {
                                    "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 16
                                  },
                                  "TownName": {
                                    "description": "Name of a built-up area, with defined boundaries, and a local government.",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 35
                                  },
                                  "CountrySubDivision": {
                                    "description": "Identifies a subdivision of a country, for instance state, region, county.",
                                    "type": "array",
                                    "items": {
                                      "description": "maxLength 35 text",
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 35
                                    },
                                    "minItems": 0,
                                    "maxItems": 2
                                  },
                                  "Country": {
                                    "description": "Nation with its own government, occupying a particular territory.",
                                    "type": "string",
                                    "pattern": "^[A-Z]{2,2}$"
                                  }
                                },
                                "required": [
                                  "TownName",
                                  "Country"
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "mass-transfer-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/mass/{MassTransferId}": {
      "get": {
        "summary": "Get a mass transfer request object",
        "tags": [
          "Payments"
        ],
        "description": "Returns the Mass Transfer Transfer List given its MassTransferId. Currently not available for Alpha Bank Cyprus.",
        "operationId": "GetMassTransferList",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "MassTransferId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the mass transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Mass Transfer List successfully retrieved",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "InstructionIdentification",
                  "EndToEndIdentification",
                  "InstructedAmount",
                  "CreditorAccount",
                  "BoPCode",
                  "CreditorAddress",
                  "DebtorPhone"
                ],
                "properties": {
                  "TransferItemId": {
                    "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  "Sequence": {
                    "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                    "type": "integer"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "InstructedAmount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorAccount": {
                    "description": "IBAN of the debtor account.",
                    "title": "DebtorAccount",
                    "type": "string"
                  },
                  "CreditorAccount": {
                    "description": "Creditor account identification",
                    "title": "International Creditor Account",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "OwnerName",
                      "SchemeName"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "Identification assigned by an institution to identify the account",
                        "title": "AccountCode",
                        "type": "string"
                      },
                      "OwnerName": {
                        "description": "The Name of the owner as known by the account institution",
                        "title": "OwnerName",
                        "type": "string"
                      },
                      "SchemeName": {
                        "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                        "title": "SchemeName",
                        "type": "string",
                        "enum": [
                          "IBAN",
                          "BBAN"
                        ]
                      },
                      "BICCode": {
                        "description": "The BIC Code that identifies the creditor account's institution",
                        "title": "BICCode",
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 11
                      }
                    }
                  },
                  "RemittanceInformation": {
                    "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                    "title": "RemittanceInformation",
                    "type": "object",
                    "properties": {
                      "Unstructured": {
                        "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.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                      },
                      "Reference": {
                        "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorInformation": {
                    "description": "Information supplied to be used by the end user",
                    "title": "DebtorInformation",
                    "type": "string"
                  },
                  "BlockFunds": {
                    "description": "Determines if the transfer amount will be blocked until the transfer execution",
                    "title": "BlockFunds",
                    "type": "boolean"
                  },
                  "ValueDate": {
                    "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransferType": {
                    "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                    "type": "string",
                    "enum": [
                      "Simple",
                      "IRIS"
                    ]
                  },
                  "OurShare": {
                    "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                    "title": "OurShare",
                    "type": "string",
                    "enum": [
                      "OUR",
                      "SHA"
                    ]
                  },
                  "BoPCode": {
                    "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                    "type": "string",
                    "enum": [
                      "DirectInvestments",
                      "SecuritiesInvestment",
                      "Loans",
                      "Deposits",
                      "TravelServices",
                      "MailAndTelecommunications",
                      "TransportServices",
                      "EntertainementServicesAndCulture",
                      "Insurance",
                      "DividentsAndCapitalGains",
                      "RentsForResidentsAbroad",
                      "Scholarships",
                      "CreditCards"
                    ]
                  },
                  "CreditorAddress": {
                    "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                    "title": "CreditorAddress",
                    "type": "string"
                  },
                  "DebtorPhone": {
                    "description": "Contact phone (Applicable for International Transfers only)",
                    "title": "DebtorPhone",
                    "type": "string"
                  },
                  "CreatedAt": {
                    "description": "Date and time at which the resource was created in ISO 8601 format.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "Status": {
                    "description": "Specifies the status of the transfer resource.",
                    "title": "TransferStatus",
                    "type": "string",
                    "enum": [
                      "Accepted",
                      "Rejected",
                      "Authorised",
                      "Revoked"
                    ]
                  },
                  "Risk": {
                    "description": "Risk assessment related information",
                    "title": "Risk",
                    "type": "object",
                    "properties": {
                      "PaymentContextCode": {
                        "description": "Specifies the payment context",
                        "title": "PaymentContextCode",
                        "type": "string",
                        "enum": [
                          "BillPayment",
                          "EcommerceGoods",
                          "EcommerceServices",
                          "Other",
                          "PersonToPerson"
                        ]
                      },
                      "MerchantCategoryCode": {
                        "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 4
                      },
                      "MerchantCustomerIdentification": {
                        "description": "The unique customer identifier of the PSU with the merchant.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                      },
                      "DeliveryAddress": {
                        "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                        "type": "object",
                        "properties": {
                          "AddressLine": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                            "type": "array",
                            "items": {
                              "description": "maxLength 70 text",
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 70
                            },
                            "minItems": 0,
                            "maxItems": 2
                          },
                          "StreetName": {
                            "description": "Name of a street or thoroughfare",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "BuildingNumber": {
                            "description": "Number that identifies the position of a building on a street.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 16
                          },
                          "PostCode": {
                            "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 16
                          },
                          "TownName": {
                            "description": "Name of a built-up area, with defined boundaries, and a local government.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "CountrySubDivision": {
                            "description": "Identifies a subdivision of a country, for instance state, region, county.",
                            "type": "array",
                            "items": {
                              "description": "maxLength 35 text",
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 35
                            },
                            "minItems": 0,
                            "maxItems": 2
                          },
                          "Country": {
                            "description": "Nation with its own government, occupying a particular territory.",
                            "type": "string",
                            "pattern": "^[A-Z]{2,2}$"
                          }
                        },
                        "required": [
                          "TownName",
                          "Country"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "mass-transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a mass transfer request object",
        "tags": [
          "Payments"
        ],
        "description": "Delete a mass transfer request. Currently not available for Alpha Bank Cyprus.",
        "operationId": "DeleteMassTransferRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "MassTransferId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the mass transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Mass Transfer Request resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "mass-transfer-delete"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/mass/{MassTransferId}/transfers": {
      "put": {
        "tags": [
          "Payments"
        ],
        "summary": "Append additional transfers to a mass transfer intent object",
        "description": "Append additional transfers to a created mass transfer intent object given its massTransferId. Currently not available for Alpha Bank Cyprus.",
        "operationId": "AppendMassTransferList",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "MassTransferId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the mass transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Append transfers to a mass transfer intent object",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "InstructionIdentification",
                  "EndToEndIdentification",
                  "InstructedAmount",
                  "CreditorAccount",
                  "BoPCode",
                  "CreditorAddress",
                  "DebtorPhone"
                ],
                "properties": {
                  "TransferItemId": {
                    "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  "Sequence": {
                    "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                    "type": "integer"
                  },
                  "InstructionIdentification": {
                    "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "EndToEndIdentification": {
                    "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "InstructedAmount": {
                    "type": "object",
                    "description": "Amount of money",
                    "required": [
                      "Value",
                      "Currency"
                    ],
                    "properties": {
                      "Value": {
                        "type": "number"
                      },
                      "Currency": {
                        "description": "ISO 4217 currency code",
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorAccount": {
                    "description": "IBAN of the debtor account.",
                    "title": "DebtorAccount",
                    "type": "string"
                  },
                  "CreditorAccount": {
                    "description": "Creditor account identification",
                    "title": "International Creditor Account",
                    "type": "object",
                    "required": [
                      "AccountCode",
                      "OwnerName",
                      "SchemeName"
                    ],
                    "properties": {
                      "AccountCode": {
                        "description": "Identification assigned by an institution to identify the account",
                        "title": "AccountCode",
                        "type": "string"
                      },
                      "OwnerName": {
                        "description": "The Name of the owner as known by the account institution",
                        "title": "OwnerName",
                        "type": "string"
                      },
                      "SchemeName": {
                        "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                        "title": "SchemeName",
                        "type": "string",
                        "enum": [
                          "IBAN",
                          "BBAN"
                        ]
                      },
                      "BICCode": {
                        "description": "The BIC Code that identifies the creditor account's institution",
                        "title": "BICCode",
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 11
                      }
                    }
                  },
                  "RemittanceInformation": {
                    "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                    "title": "RemittanceInformation",
                    "type": "object",
                    "properties": {
                      "Unstructured": {
                        "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.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                      },
                      "Reference": {
                        "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      }
                    },
                    "additionalProperties": false
                  },
                  "DebtorInformation": {
                    "description": "Information supplied to be used by the end user",
                    "title": "DebtorInformation",
                    "type": "string"
                  },
                  "BlockFunds": {
                    "description": "Determines if the transfer amount will be blocked until the transfer execution",
                    "title": "BlockFunds",
                    "type": "boolean"
                  },
                  "ValueDate": {
                    "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                    "type": "string",
                    "format": "date-time"
                  },
                  "TransferType": {
                    "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                    "type": "string",
                    "enum": [
                      "Simple",
                      "IRIS"
                    ]
                  },
                  "OurShare": {
                    "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                    "title": "OurShare",
                    "type": "string",
                    "enum": [
                      "OUR",
                      "SHA"
                    ]
                  },
                  "BoPCode": {
                    "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                    "type": "string",
                    "enum": [
                      "DirectInvestments",
                      "SecuritiesInvestment",
                      "Loans",
                      "Deposits",
                      "TravelServices",
                      "MailAndTelecommunications",
                      "TransportServices",
                      "EntertainementServicesAndCulture",
                      "Insurance",
                      "DividentsAndCapitalGains",
                      "RentsForResidentsAbroad",
                      "Scholarships",
                      "CreditCards"
                    ]
                  },
                  "CreditorAddress": {
                    "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                    "title": "CreditorAddress",
                    "type": "string"
                  },
                  "DebtorPhone": {
                    "description": "Contact phone (Applicable for International Transfers only)",
                    "title": "DebtorPhone",
                    "type": "string"
                  },
                  "CreatedAt": {
                    "description": "Date and time at which the resource was created in ISO 8601 format.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "Status": {
                    "description": "Specifies the status of the transfer resource.",
                    "title": "TransferStatus",
                    "type": "string",
                    "enum": [
                      "Accepted",
                      "Rejected",
                      "Authorised",
                      "Revoked"
                    ]
                  },
                  "Risk": {
                    "description": "Risk assessment related information",
                    "title": "Risk",
                    "type": "object",
                    "properties": {
                      "PaymentContextCode": {
                        "description": "Specifies the payment context",
                        "title": "PaymentContextCode",
                        "type": "string",
                        "enum": [
                          "BillPayment",
                          "EcommerceGoods",
                          "EcommerceServices",
                          "Other",
                          "PersonToPerson"
                        ]
                      },
                      "MerchantCategoryCode": {
                        "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 4
                      },
                      "MerchantCustomerIdentification": {
                        "description": "The unique customer identifier of the PSU with the merchant.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                      },
                      "DeliveryAddress": {
                        "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                        "type": "object",
                        "properties": {
                          "AddressLine": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                            "type": "array",
                            "items": {
                              "description": "maxLength 70 text",
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 70
                            },
                            "minItems": 0,
                            "maxItems": 2
                          },
                          "StreetName": {
                            "description": "Name of a street or thoroughfare",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "BuildingNumber": {
                            "description": "Number that identifies the position of a building on a street.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 16
                          },
                          "PostCode": {
                            "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 16
                          },
                          "TownName": {
                            "description": "Name of a built-up area, with defined boundaries, and a local government.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "CountrySubDivision": {
                            "description": "Identifies a subdivision of a country, for instance state, region, county.",
                            "type": "array",
                            "items": {
                              "description": "maxLength 35 text",
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 35
                            },
                            "minItems": 0,
                            "maxItems": 2
                          },
                          "Country": {
                            "description": "Nation with its own government, occupying a particular territory.",
                            "type": "string",
                            "pattern": "^[A-Z]{2,2}$"
                          }
                        },
                        "required": [
                          "TownName",
                          "Country"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Mass Transfer setup resource update attempt result",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "Instance",
                  "HasError"
                ],
                "properties": {
                  "ErrorDesc": {
                    "description": "Validation rule violation description of the mass transfer item",
                    "title": "ErrorDescription",
                    "type": "string"
                  },
                  "HasError": {
                    "description": "Validation Result of specific mass transfer item",
                    "title": "HasError",
                    "type": "boolean"
                  },
                  "Instance": {
                    "type": "object",
                    "required": [
                      "InstructionIdentification",
                      "EndToEndIdentification",
                      "InstructedAmount",
                      "CreditorAccount",
                      "BoPCode",
                      "CreditorAddress",
                      "DebtorPhone"
                    ],
                    "properties": {
                      "TransferItemId": {
                        "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "Sequence": {
                        "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                        "type": "integer"
                      },
                      "InstructionIdentification": {
                        "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "EndToEndIdentification": {
                        "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "InstructedAmount": {
                        "type": "object",
                        "description": "Amount of money",
                        "required": [
                          "Value",
                          "Currency"
                        ],
                        "properties": {
                          "Value": {
                            "type": "number"
                          },
                          "Currency": {
                            "description": "ISO 4217 currency code",
                            "type": "string",
                            "pattern": "^[A-Z]{3,3}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorAccount": {
                        "description": "IBAN of the debtor account.",
                        "title": "DebtorAccount",
                        "type": "string"
                      },
                      "CreditorAccount": {
                        "description": "Creditor account identification",
                        "title": "International Creditor Account",
                        "type": "object",
                        "required": [
                          "AccountCode",
                          "OwnerName",
                          "SchemeName"
                        ],
                        "properties": {
                          "AccountCode": {
                            "description": "Identification assigned by an institution to identify the account",
                            "title": "AccountCode",
                            "type": "string"
                          },
                          "OwnerName": {
                            "description": "The Name of the owner as known by the account institution",
                            "title": "OwnerName",
                            "type": "string"
                          },
                          "SchemeName": {
                            "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                            "title": "SchemeName",
                            "type": "string",
                            "enum": [
                              "IBAN",
                              "BBAN"
                            ]
                          },
                          "BICCode": {
                            "description": "The BIC Code that identifies the creditor account's institution",
                            "title": "BICCode",
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 11
                          }
                        }
                      },
                      "RemittanceInformation": {
                        "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                        "title": "RemittanceInformation",
                        "type": "object",
                        "properties": {
                          "Unstructured": {
                            "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.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                          },
                          "Reference": {
                            "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorInformation": {
                        "description": "Information supplied to be used by the end user",
                        "title": "DebtorInformation",
                        "type": "string"
                      },
                      "BlockFunds": {
                        "description": "Determines if the transfer amount will be blocked until the transfer execution",
                        "title": "BlockFunds",
                        "type": "boolean"
                      },
                      "ValueDate": {
                        "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                        "type": "string",
                        "format": "date-time"
                      },
                      "TransferType": {
                        "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                        "type": "string",
                        "enum": [
                          "Simple",
                          "IRIS"
                        ]
                      },
                      "OurShare": {
                        "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                        "title": "OurShare",
                        "type": "string",
                        "enum": [
                          "OUR",
                          "SHA"
                        ]
                      },
                      "BoPCode": {
                        "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                        "type": "string",
                        "enum": [
                          "DirectInvestments",
                          "SecuritiesInvestment",
                          "Loans",
                          "Deposits",
                          "TravelServices",
                          "MailAndTelecommunications",
                          "TransportServices",
                          "EntertainementServicesAndCulture",
                          "Insurance",
                          "DividentsAndCapitalGains",
                          "RentsForResidentsAbroad",
                          "Scholarships",
                          "CreditCards"
                        ]
                      },
                      "CreditorAddress": {
                        "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                        "title": "CreditorAddress",
                        "type": "string"
                      },
                      "DebtorPhone": {
                        "description": "Contact phone (Applicable for International Transfers only)",
                        "title": "DebtorPhone",
                        "type": "string"
                      },
                      "CreatedAt": {
                        "description": "Date and time at which the resource was created in ISO 8601 format.",
                        "type": "string",
                        "format": "date-time"
                      },
                      "Status": {
                        "description": "Specifies the status of the transfer resource.",
                        "title": "TransferStatus",
                        "type": "string",
                        "enum": [
                          "Accepted",
                          "Rejected",
                          "Authorised",
                          "Revoked"
                        ]
                      },
                      "Risk": {
                        "description": "Risk assessment related information",
                        "title": "Risk",
                        "type": "object",
                        "properties": {
                          "PaymentContextCode": {
                            "description": "Specifies the payment context",
                            "title": "PaymentContextCode",
                            "type": "string",
                            "enum": [
                              "BillPayment",
                              "EcommerceGoods",
                              "EcommerceServices",
                              "Other",
                              "PersonToPerson"
                            ]
                          },
                          "MerchantCategoryCode": {
                            "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 4
                          },
                          "MerchantCustomerIdentification": {
                            "description": "The unique customer identifier of the PSU with the merchant.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "DeliveryAddress": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                            "type": "object",
                            "properties": {
                              "AddressLine": {
                                "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 70 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 70
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "StreetName": {
                                "description": "Name of a street or thoroughfare",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 70
                              },
                              "BuildingNumber": {
                                "description": "Number that identifies the position of a building on a street.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "PostCode": {
                                "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "TownName": {
                                "description": "Name of a built-up area, with defined boundaries, and a local government.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35
                              },
                              "CountrySubDivision": {
                                "description": "Identifies a subdivision of a country, for instance state, region, county.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 35 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 35
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "Country": {
                                "description": "Nation with its own government, occupying a particular territory.",
                                "type": "string",
                                "pattern": "^[A-Z]{2,2}$"
                              }
                            },
                            "required": [
                              "TownName",
                              "Country"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "mass-transfer-setup"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Remove transfers from a mass transfer intent object",
        "description": "Remove existing transfers from a created mass transfer intent object given its massTransferId. Currently not available for Alpha Bank Cyprus.",
        "operationId": "ReduceMassTransferList",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "MassTransferId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the mass transfer request resource.",
            "required": true,
            "type": "string"
          },
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Remove transfers from a mass transfer intent object given their transferItemIds",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "description": "TransferItemId of the specified transfer present in the mass transfer intent transfer list",
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Mass Transfer setup resource update attempt result",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "Instance",
                  "HasError"
                ],
                "properties": {
                  "ErrorDesc": {
                    "description": "Validation rule violation description of the mass transfer item",
                    "title": "ErrorDescription",
                    "type": "string"
                  },
                  "HasError": {
                    "description": "Validation Result of specific mass transfer item",
                    "title": "HasError",
                    "type": "boolean"
                  },
                  "Instance": {
                    "type": "object",
                    "required": [
                      "InstructionIdentification",
                      "EndToEndIdentification",
                      "InstructedAmount",
                      "CreditorAccount",
                      "BoPCode",
                      "CreditorAddress",
                      "DebtorPhone"
                    ],
                    "properties": {
                      "TransferItemId": {
                        "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "Sequence": {
                        "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                        "type": "integer"
                      },
                      "InstructionIdentification": {
                        "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "EndToEndIdentification": {
                        "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "InstructedAmount": {
                        "type": "object",
                        "description": "Amount of money",
                        "required": [
                          "Value",
                          "Currency"
                        ],
                        "properties": {
                          "Value": {
                            "type": "number"
                          },
                          "Currency": {
                            "description": "ISO 4217 currency code",
                            "type": "string",
                            "pattern": "^[A-Z]{3,3}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorAccount": {
                        "description": "IBAN of the debtor account.",
                        "title": "DebtorAccount",
                        "type": "string"
                      },
                      "CreditorAccount": {
                        "description": "Creditor account identification",
                        "title": "International Creditor Account",
                        "type": "object",
                        "required": [
                          "AccountCode",
                          "OwnerName",
                          "SchemeName"
                        ],
                        "properties": {
                          "AccountCode": {
                            "description": "Identification assigned by an institution to identify the account",
                            "title": "AccountCode",
                            "type": "string"
                          },
                          "OwnerName": {
                            "description": "The Name of the owner as known by the account institution",
                            "title": "OwnerName",
                            "type": "string"
                          },
                          "SchemeName": {
                            "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                            "title": "SchemeName",
                            "type": "string",
                            "enum": [
                              "IBAN",
                              "BBAN"
                            ]
                          },
                          "BICCode": {
                            "description": "The BIC Code that identifies the creditor account's institution",
                            "title": "BICCode",
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 11
                          }
                        }
                      },
                      "RemittanceInformation": {
                        "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                        "title": "RemittanceInformation",
                        "type": "object",
                        "properties": {
                          "Unstructured": {
                            "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.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                          },
                          "Reference": {
                            "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorInformation": {
                        "description": "Information supplied to be used by the end user",
                        "title": "DebtorInformation",
                        "type": "string"
                      },
                      "BlockFunds": {
                        "description": "Determines if the transfer amount will be blocked until the transfer execution",
                        "title": "BlockFunds",
                        "type": "boolean"
                      },
                      "ValueDate": {
                        "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                        "type": "string",
                        "format": "date-time"
                      },
                      "TransferType": {
                        "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                        "type": "string",
                        "enum": [
                          "Simple",
                          "IRIS"
                        ]
                      },
                      "OurShare": {
                        "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                        "title": "OurShare",
                        "type": "string",
                        "enum": [
                          "OUR",
                          "SHA"
                        ]
                      },
                      "BoPCode": {
                        "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                        "type": "string",
                        "enum": [
                          "DirectInvestments",
                          "SecuritiesInvestment",
                          "Loans",
                          "Deposits",
                          "TravelServices",
                          "MailAndTelecommunications",
                          "TransportServices",
                          "EntertainementServicesAndCulture",
                          "Insurance",
                          "DividentsAndCapitalGains",
                          "RentsForResidentsAbroad",
                          "Scholarships",
                          "CreditCards"
                        ]
                      },
                      "CreditorAddress": {
                        "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                        "title": "CreditorAddress",
                        "type": "string"
                      },
                      "DebtorPhone": {
                        "description": "Contact phone (Applicable for International Transfers only)",
                        "title": "DebtorPhone",
                        "type": "string"
                      },
                      "CreatedAt": {
                        "description": "Date and time at which the resource was created in ISO 8601 format.",
                        "type": "string",
                        "format": "date-time"
                      },
                      "Status": {
                        "description": "Specifies the status of the transfer resource.",
                        "title": "TransferStatus",
                        "type": "string",
                        "enum": [
                          "Accepted",
                          "Rejected",
                          "Authorised",
                          "Revoked"
                        ]
                      },
                      "Risk": {
                        "description": "Risk assessment related information",
                        "title": "Risk",
                        "type": "object",
                        "properties": {
                          "PaymentContextCode": {
                            "description": "Specifies the payment context",
                            "title": "PaymentContextCode",
                            "type": "string",
                            "enum": [
                              "BillPayment",
                              "EcommerceGoods",
                              "EcommerceServices",
                              "Other",
                              "PersonToPerson"
                            ]
                          },
                          "MerchantCategoryCode": {
                            "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 4
                          },
                          "MerchantCustomerIdentification": {
                            "description": "The unique customer identifier of the PSU with the merchant.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "DeliveryAddress": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                            "type": "object",
                            "properties": {
                              "AddressLine": {
                                "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 70 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 70
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "StreetName": {
                                "description": "Name of a street or thoroughfare",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 70
                              },
                              "BuildingNumber": {
                                "description": "Number that identifies the position of a building on a street.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "PostCode": {
                                "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "TownName": {
                                "description": "Name of a built-up area, with defined boundaries, and a local government.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35
                              },
                              "CountrySubDivision": {
                                "description": "Identifies a subdivision of a country, for instance state, region, county.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 35 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 35
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "Country": {
                                "description": "Nation with its own government, occupying a particular territory.",
                                "type": "string",
                                "pattern": "^[A-Z]{2,2}$"
                              }
                            },
                            "required": [
                              "TownName",
                              "Country"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "mass-transfer-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/mass/submissions": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a mass transfer submission",
        "description": "Submit a previously setup mass transfer. Currently not available for Alpha Bank Cyprus.",
        "operationId": "CreateMassTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a mass transfer submission",
            "required": true,
            "schema": {
              "title": "Mass Transfer Submission POST request",
              "description": "Allows Submission of a mass transfer",
              "type": "object",
              "required": [
                "MassTransferId",
                "TransfersList"
              ],
              "properties": {
                "MassTransferId": {
                  "description": "Unique identification as assigned by the Alpha bank-end service to uniquely identify the transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "TransfersList": {
                  "description": "A list of transfers to be executed under a single order",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "InstructionIdentification",
                      "EndToEndIdentification",
                      "InstructedAmount",
                      "CreditorAccount",
                      "BoPCode",
                      "CreditorAddress",
                      "DebtorPhone"
                    ],
                    "properties": {
                      "TransferItemId": {
                        "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "Sequence": {
                        "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                        "type": "integer"
                      },
                      "InstructionIdentification": {
                        "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "EndToEndIdentification": {
                        "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "InstructedAmount": {
                        "type": "object",
                        "description": "Amount of money",
                        "required": [
                          "Value",
                          "Currency"
                        ],
                        "properties": {
                          "Value": {
                            "type": "number"
                          },
                          "Currency": {
                            "description": "ISO 4217 currency code",
                            "type": "string",
                            "pattern": "^[A-Z]{3,3}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorAccount": {
                        "description": "IBAN of the debtor account.",
                        "title": "DebtorAccount",
                        "type": "string"
                      },
                      "CreditorAccount": {
                        "description": "Creditor account identification",
                        "title": "International Creditor Account",
                        "type": "object",
                        "required": [
                          "AccountCode",
                          "OwnerName",
                          "SchemeName"
                        ],
                        "properties": {
                          "AccountCode": {
                            "description": "Identification assigned by an institution to identify the account",
                            "title": "AccountCode",
                            "type": "string"
                          },
                          "OwnerName": {
                            "description": "The Name of the owner as known by the account institution",
                            "title": "OwnerName",
                            "type": "string"
                          },
                          "SchemeName": {
                            "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                            "title": "SchemeName",
                            "type": "string",
                            "enum": [
                              "IBAN",
                              "BBAN"
                            ]
                          },
                          "BICCode": {
                            "description": "The BIC Code that identifies the creditor account's institution",
                            "title": "BICCode",
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 11
                          }
                        }
                      },
                      "RemittanceInformation": {
                        "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                        "title": "RemittanceInformation",
                        "type": "object",
                        "properties": {
                          "Unstructured": {
                            "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.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                          },
                          "Reference": {
                            "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          }
                        },
                        "additionalProperties": false
                      },
                      "DebtorInformation": {
                        "description": "Information supplied to be used by the end user",
                        "title": "DebtorInformation",
                        "type": "string"
                      },
                      "BlockFunds": {
                        "description": "Determines if the transfer amount will be blocked until the transfer execution",
                        "title": "BlockFunds",
                        "type": "boolean"
                      },
                      "ValueDate": {
                        "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                        "type": "string",
                        "format": "date-time"
                      },
                      "TransferType": {
                        "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                        "type": "string",
                        "enum": [
                          "Simple",
                          "IRIS"
                        ]
                      },
                      "OurShare": {
                        "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                        "title": "OurShare",
                        "type": "string",
                        "enum": [
                          "OUR",
                          "SHA"
                        ]
                      },
                      "BoPCode": {
                        "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                        "type": "string",
                        "enum": [
                          "DirectInvestments",
                          "SecuritiesInvestment",
                          "Loans",
                          "Deposits",
                          "TravelServices",
                          "MailAndTelecommunications",
                          "TransportServices",
                          "EntertainementServicesAndCulture",
                          "Insurance",
                          "DividentsAndCapitalGains",
                          "RentsForResidentsAbroad",
                          "Scholarships",
                          "CreditCards"
                        ]
                      },
                      "CreditorAddress": {
                        "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                        "title": "CreditorAddress",
                        "type": "string"
                      },
                      "DebtorPhone": {
                        "description": "Contact phone (Applicable for International Transfers only)",
                        "title": "DebtorPhone",
                        "type": "string"
                      },
                      "CreatedAt": {
                        "description": "Date and time at which the resource was created in ISO 8601 format.",
                        "type": "string",
                        "format": "date-time"
                      },
                      "Status": {
                        "description": "Specifies the status of the transfer resource.",
                        "title": "TransferStatus",
                        "type": "string",
                        "enum": [
                          "Accepted",
                          "Rejected",
                          "Authorised",
                          "Revoked"
                        ]
                      },
                      "Risk": {
                        "description": "Risk assessment related information",
                        "title": "Risk",
                        "type": "object",
                        "properties": {
                          "PaymentContextCode": {
                            "description": "Specifies the payment context",
                            "title": "PaymentContextCode",
                            "type": "string",
                            "enum": [
                              "BillPayment",
                              "EcommerceGoods",
                              "EcommerceServices",
                              "Other",
                              "PersonToPerson"
                            ]
                          },
                          "MerchantCategoryCode": {
                            "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 4
                          },
                          "MerchantCustomerIdentification": {
                            "description": "The unique customer identifier of the PSU with the merchant.",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "DeliveryAddress": {
                            "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                            "type": "object",
                            "properties": {
                              "AddressLine": {
                                "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 70 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 70
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "StreetName": {
                                "description": "Name of a street or thoroughfare",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 70
                              },
                              "BuildingNumber": {
                                "description": "Number that identifies the position of a building on a street.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "PostCode": {
                                "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 16
                              },
                              "TownName": {
                                "description": "Name of a built-up area, with defined boundaries, and a local government.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35
                              },
                              "CountrySubDivision": {
                                "description": "Identifies a subdivision of a country, for instance state, region, county.",
                                "type": "array",
                                "items": {
                                  "description": "maxLength 35 text",
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 35
                                },
                                "minItems": 0,
                                "maxItems": 2
                              },
                              "Country": {
                                "description": "Nation with its own government, occupying a particular territory.",
                                "type": "string",
                                "pattern": "^[A-Z]{2,2}$"
                              }
                            },
                            "required": [
                              "TownName",
                              "Country"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Transfer submit resource successfully created",
            "schema": {
              "title": "Mass Transfer Submit Response",
              "type": "object",
              "required": [
                "MassTransferSubmissionId",
                "MassTransferId",
                "Status",
                "CreationDateTime",
                "ExecutionDate"
              ],
              "properties": {
                "MassTransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the mass transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "MassTransferId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the mass transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the mass transfer submission resource.",
                  "title": "MassTransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                },
                "ExecutionDate": {
                  "description": "Date and time at which the transfer is set to be executed in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "mass-transfer"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/mass/submissions/{MassTransferSubmissionId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a mass transfer submission object",
        "description": "Get a previously setup mass transfer. Currently not available for Alpha Bank Cyprus.",
        "operationId": "GetMassTransferSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "MassTransferSubmissionId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the mass transfer submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Mass transfer submit resource successfully returned",
            "schema": {
              "title": "Mass Transfer Submit Status Response",
              "type": "object",
              "required": [
                "MassTransferSubmissionId",
                "MassTransferId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "MassTransferSubmissionId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the mass transfer submission resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "MassTransferId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the mass transfer setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the mass transfer submission resource as a whole.",
                  "title": "MassTransferSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Unknown",
                    "Pending",
                    "PartiallySucceeded",
                    "Succeded",
                    "Failed",
                    "Canceled"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                },
                "TransferList": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "TransferItemId",
                      "Status"
                    ],
                    "properties": {
                      "TransferItemId": {
                        "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "Status": {
                        "description": "Specifies the status of the mass transfer item submission.",
                        "title": "MassTransferItemSubmissionStatus",
                        "type": "string",
                        "enum": [
                          "Unknown",
                          "Pending",
                          "Succeded",
                          "Failed",
                          "Canceled"
                        ]
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "mass-transfer-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/standing-orders": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a standing order intent object",
        "description": "Initiate the standing order creation process by creating an intent object. Currently not available for Alpha Bank Cyprus.",
        "operationId": "CreateStandingOrderSetup",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "x-idempotency-key",
            "in": "header",
            "description": "Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.",
            "required": true,
            "type": "string",
            "pattern": "^(?!\\s)(.*)(\\S)$",
            "maxLength": 40
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Setup a standing order, creating an intent object",
            "required": true,
            "schema": {
              "title": "StandingOrderSetupRequest",
              "description": "Allows setup of a new standing order",
              "type": "object",
              "required": [
                "Initiation",
                "Risk"
              ],
              "properties": {
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request a recurring movement of funds from the debtor account to a creditor.",
                  "required": [
                    "Name",
                    "Amount",
                    "DateStart",
                    "DateStop",
                    "ExecutionPlan",
                    "CreditorAccount",
                    "CreditorReason",
                    "RemittanceInformation"
                  ],
                  "properties": {
                    "Name": {
                      "description": "a subscriber defined descriptive name for the standing order",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DateStart": {
                      "description": "the date from the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "DateStop": {
                      "description": "the date until the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "ExecutionPlan": {
                      "description": "the definition of the periodicity of the standing order",
                      "type": "object",
                      "properties": {
                        "ExecutionMonthlyFrequency": {
                          "description": "every how many months the standing order is executed",
                          "type": "integer"
                        },
                        "ExecutionMonthDay": {
                          "description": "the day of the month the standing order is executed",
                          "type": "integer"
                        }
                      }
                    },
                    "DebtorAccount": {
                      "description": "The IBAN representation of the order's initiator's account, from which the money will be deducted",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "The IBAN representation of the account to receive the order's amount",
                      "type": "string"
                    },
                    "CreditorReason": {
                      "description": "descriptive text used for the creditor to identify the relative transactions",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Standing Order setup resource successfully created",
            "schema": {
              "title": "Standing Order setup POST response.",
              "description": "Reflection of The Main Data Payload, with Created Resource ID, Status and Timestamp",
              "type": "object",
              "required": [
                "StandingOrderRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "StandingOrderRequestId": {
                  "description": "Unique identification to uniquely identify the standing order setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the standing order resource.",
                  "title": "StandingOrderStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected",
                    "Authorised",
                    "Revoked"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request a recurring movement of funds from the debtor account to a creditor.",
                  "required": [
                    "Name",
                    "Amount",
                    "DateStart",
                    "DateStop",
                    "ExecutionPlan",
                    "CreditorAccount",
                    "CreditorReason",
                    "RemittanceInformation"
                  ],
                  "properties": {
                    "Name": {
                      "description": "a subscriber defined descriptive name for the standing order",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DateStart": {
                      "description": "the date from the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "DateStop": {
                      "description": "the date until the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "ExecutionPlan": {
                      "description": "the definition of the periodicity of the standing order",
                      "type": "object",
                      "properties": {
                        "ExecutionMonthlyFrequency": {
                          "description": "every how many months the standing order is executed",
                          "type": "integer"
                        },
                        "ExecutionMonthDay": {
                          "description": "the day of the month the standing order is executed",
                          "type": "integer"
                        }
                      }
                    },
                    "DebtorAccount": {
                      "description": "The IBAN representation of the order's initiator's account, from which the money will be deducted",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "The IBAN representation of the account to receive the order's amount",
                      "type": "string"
                    },
                    "CreditorReason": {
                      "description": "descriptive text used for the creditor to identify the relative transactions",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "stand-order-setup"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/standing-orders/submissions": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a standing order submission",
        "description": "Submit a previously setup standing order. Currently not available for Alpha Bank Cyprus.",
        "operationId": "CreateStandingOrderSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          },
          {
            "name": "body",
            "in": "body",
            "description": "Submit a single standing order",
            "required": true,
            "schema": {
              "title": "Standing Order Submission POST request",
              "description": "Allows Submission of a standing order",
              "type": "object",
              "required": [
                "StandingOrderRequestId",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "StandingOrderRequestId": {
                  "description": "Unique identification as assigned by the Alpha bank-end service to uniquely identify the standing order setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request a recurring movement of funds from the debtor account to a creditor.",
                  "required": [
                    "Name",
                    "Amount",
                    "DateStart",
                    "DateStop",
                    "ExecutionPlan",
                    "CreditorAccount",
                    "CreditorReason",
                    "RemittanceInformation"
                  ],
                  "properties": {
                    "Name": {
                      "description": "a subscriber defined descriptive name for the standing order",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DateStart": {
                      "description": "the date from the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "DateStop": {
                      "description": "the date until the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "ExecutionPlan": {
                      "description": "the definition of the periodicity of the standing order",
                      "type": "object",
                      "properties": {
                        "ExecutionMonthlyFrequency": {
                          "description": "every how many months the standing order is executed",
                          "type": "integer"
                        },
                        "ExecutionMonthDay": {
                          "description": "the day of the month the standing order is executed",
                          "type": "integer"
                        }
                      }
                    },
                    "DebtorAccount": {
                      "description": "The IBAN representation of the order's initiator's account, from which the money will be deducted",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "The IBAN representation of the account to receive the order's amount",
                      "type": "string"
                    },
                    "CreditorReason": {
                      "description": "descriptive text used for the creditor to identify the relative transactions",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Standing Orders submit resource successfully created",
            "schema": {
              "title": "Standing Order Submit POST Response",
              "type": "object",
              "required": [
                "StandingOrderRequestId",
                "StandingOrderId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "StandingOrderRequestId": {
                  "description": "Unique identification to uniquely identify the standing order setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "StandingOrderId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the Submitted Standing Order Resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the standing order submission resource.",
                  "title": "StandingOrderSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Rejected"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "stand-order"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/standing-orders/{StandingOrderRequestId}": {
      "get": {
        "summary": "Get a standing order request",
        "tags": [
          "Payments"
        ],
        "description": "Return the Standing Order Request intent object given its Id. Currently not available for Alpha Bank Cyprus.\n",
        "operationId": "GetStandingOrderRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "StandingOrderRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the standing order request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Standing Order Request resource successfully retrieved",
            "schema": {
              "title": "Standing Order Request GET response",
              "type": "object",
              "required": [
                "StandingOrderRequestId",
                "Status",
                "CreationTimeStamp",
                "Initiation",
                "Risk"
              ],
              "properties": {
                "StandingOrderRequestId": {
                  "description": "Unique identification to uniquely identify the standing order setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the standing order resource.",
                  "title": "StandingOrderStatus",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorized",
                    "Executed",
                    "Revoked",
                    "Rejected"
                  ]
                },
                "CreationTimeStamp": {
                  "description": "Date and time at which the resource was created in ISO 8601 format. ",
                  "type": "string",
                  "format": "date-time"
                },
                "Initiation": {
                  "type": "object",
                  "description": "The Initiation payload is sent by the initiating party. It is used to request a recurring movement of funds from the debtor account to a creditor.",
                  "required": [
                    "Name",
                    "Amount",
                    "DateStart",
                    "DateStop",
                    "ExecutionPlan",
                    "CreditorAccount",
                    "CreditorReason",
                    "RemittanceInformation"
                  ],
                  "properties": {
                    "Name": {
                      "description": "a subscriber defined descriptive name for the standing order",
                      "type": "string"
                    },
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "DateStart": {
                      "description": "the date from the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "DateStop": {
                      "description": "the date until the standing order is active (in ISO 8601 format)",
                      "type": "string"
                    },
                    "ExecutionPlan": {
                      "description": "the definition of the periodicity of the standing order",
                      "type": "object",
                      "properties": {
                        "ExecutionMonthlyFrequency": {
                          "description": "every how many months the standing order is executed",
                          "type": "integer"
                        },
                        "ExecutionMonthDay": {
                          "description": "the day of the month the standing order is executed",
                          "type": "integer"
                        }
                      }
                    },
                    "DebtorAccount": {
                      "description": "The IBAN representation of the order's initiator's account, from which the money will be deducted",
                      "type": "string"
                    },
                    "CreditorAccount": {
                      "description": "The IBAN representation of the account to receive the order's amount",
                      "type": "string"
                    },
                    "CreditorReason": {
                      "description": "descriptive text used for the creditor to identify the relative transactions",
                      "type": "string"
                    },
                    "RemittanceInformation": {
                      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                      "title": "RemittanceInformation",
                      "type": "object",
                      "properties": {
                        "Unstructured": {
                          "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.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 140
                        },
                        "Reference": {
                          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "Risk": {
                  "description": "Risk assessment related information",
                  "title": "Risk",
                  "type": "object",
                  "properties": {
                    "PaymentContextCode": {
                      "description": "Specifies the payment context",
                      "title": "PaymentContextCode",
                      "type": "string",
                      "enum": [
                        "BillPayment",
                        "EcommerceGoods",
                        "EcommerceServices",
                        "Other",
                        "PersonToPerson"
                      ]
                    },
                    "MerchantCategoryCode": {
                      "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 4
                    },
                    "MerchantCustomerIdentification": {
                      "description": "The unique customer identifier of the PSU with the merchant.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "DeliveryAddress": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                      "type": "object",
                      "properties": {
                        "AddressLine": {
                          "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 70 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "StreetName": {
                          "description": "Name of a street or thoroughfare",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "BuildingNumber": {
                          "description": "Number that identifies the position of a building on a street.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "PostCode": {
                          "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 16
                        },
                        "TownName": {
                          "description": "Name of a built-up area, with defined boundaries, and a local government.",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "CountrySubDivision": {
                          "description": "Identifies a subdivision of a country, for instance state, region, county.",
                          "type": "array",
                          "items": {
                            "description": "maxLength 35 text",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                          },
                          "minItems": 0,
                          "maxItems": 2
                        },
                        "Country": {
                          "description": "Nation with its own government, occupying a particular territory.",
                          "type": "string",
                          "pattern": "^[A-Z]{2,2}$"
                        }
                      },
                      "required": [
                        "TownName",
                        "Country"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "stand-order-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a standing order request",
        "tags": [
          "Payments"
        ],
        "description": "Delete a standing order request",
        "operationId": "DeleteStandingOrderRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "StandingOrderRequestId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the standing order request resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Standing Order Request resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "stand-order"
            ]
          }
        ]
      }
    },
    "/payments/v1/transfers/standing-orders/submissions/{StandingOrderId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a standing order submission",
        "description": "Get a previously submitted standing order. Currently not available for Alpha Bank Cyprus.",
        "operationId": "GetStandingOrderSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "StandingOrderId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the standing order submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Standing order submit resource successfully returned",
            "schema": {
              "title": "Standing Order Submit Status Response",
              "type": "object",
              "required": [
                "StandingOrderId",
                "StandingOrderRequestId",
                "Status",
                "CreationDateTime"
              ],
              "properties": {
                "StandingOrderId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the Submitted Standing Order Resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "StandingOrderRequestId": {
                  "description": "Unique identification as assigned by the Alpha BANK back-end service to uniquely identify the standing order setup resource.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "Status": {
                  "description": "Specifies the status of the standing order resource.",
                  "title": "StandingOrderSubmissionStatus",
                  "type": "string",
                  "enum": [
                    "Unknown",
                    "Pending",
                    "Succeded",
                    "Failed",
                    "Canceled"
                  ]
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created in ISO 8601 date-time format.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "stand-order-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a standing order submission",
        "tags": [
          "Payments"
        ],
        "description": "Delete a standing order submission. Currently not available for Alpha Bank Cyprus.",
        "operationId": "DeleteStandingOrderSubmission",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "StandingOrderId",
            "in": "path",
            "description": "Unique identification as assigned by the ASPSP to uniquely identify the standing order submission resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Standing Order Submission resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "stand-order-delete"
            ]
          }
        ]
      }
    },
    "/funds-confirmation/v1/funds-confirmation-requests": {
      "post": {
        "summary": "Create a funds confirmation intent",
        "tags": [
          "FundsConfirmation"
        ],
        "description": "Ask for the generation of a funds confirmation request. The funds confirmation request is a 'resource' representing the intent of the client application to ask for the funds availability of a specific account. This intent must be authorised by the end user in order for the client to acquire the access-token necessary to call any of the relative API operations. The autorization of the intent is performed using the \"request\" parameter (query argument) at the authorize request.\n",
        "operationId": "CreateFundsConfirmationRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "description": "Create an Funds Confirmation Request",
            "required": true,
            "schema": {
              "title": "Funds Confirmation Request POST request object",
              "description": "Allows setup of a funds confirmation request",
              "type": "object",
              "required": [
                "DebtorAccount",
                "ExpirationDateTime"
              ],
              "properties": {
                "DebtorAccount": {
                  "description": "DebtorAccount for the Funds confirmation consent provided",
                  "title": "DebtorAccount",
                  "type": "object",
                  "properties": {
                    "SchemeName": {
                      "description": "Name of the identification scheme, in a coded form as published in an external list.",
                      "title": "SchemeName",
                      "type": "string",
                      "enum": [
                        "NA",
                        "Account",
                        "Card"
                      ]
                    },
                    "Identification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    },
                    "Name": {
                      "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "SecondaryIdentification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    }
                  },
                  "additionalProperties": false
                },
                "ExpirationDateTime": {
                  "description": "The date expiration of the requested consent (in ISO 8601 format)",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            }
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "201": {
            "description": "Funds Confirmation Request resource successfully created",
            "schema": {
              "title": "Funds Confirmation Request POST response object",
              "type": "object",
              "required": [
                "FundsRequestId",
                "CreationDateTime"
              ],
              "properties": {
                "FundsRequestId": {
                  "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
                  "type": "string"
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "Status": {
                  "description": "Specifies the status of the funds confirmation request resource.",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorised",
                    "Rejected",
                    "Revoked"
                  ]
                },
                "StatusUpdateDateTime": {
                  "description": "Date and time at which the resource's status was last updated (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "ExpirationDateTime": {
                  "description": "The date expiration of the requested consent (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "DebtorAccount": {
                  "description": "DebtorAccount for the Funds confirmation consent provided",
                  "title": "DebtorAccount",
                  "type": "object",
                  "properties": {
                    "SchemeName": {
                      "description": "Name of the identification scheme, in a coded form as published in an external list.",
                      "title": "SchemeName",
                      "type": "string",
                      "enum": [
                        "NA",
                        "Account",
                        "Card"
                      ]
                    },
                    "Identification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    },
                    "Name": {
                      "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "SecondaryIdentification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "funds-confirm-setup"
            ]
          }
        ]
      }
    },
    "/funds-confirmation/v1/funds-confirmation-requests/{FundsRequestId}": {
      "get": {
        "summary": "Get a funds confirmation request",
        "tags": [
          "FundsConfirmation"
        ],
        "description": "Return the Funds Confirmation intent object given its Id.\n",
        "operationId": "GetFundsConfirmationRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "FundsRequestId",
            "in": "path",
            "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Funds Confirmation Request resource successfully retrieved",
            "schema": {
              "title": "Funds Confirmation Request GET response",
              "type": "object",
              "required": [
                "FundsRequestId",
                "CreationDateTime",
                "Status"
              ],
              "properties": {
                "FundsRequestId": {
                  "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
                  "type": "string"
                },
                "CreationDateTime": {
                  "description": "Date and time at which the resource was created (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "Status": {
                  "description": "Specifies the status of the funds confirmation request resource.",
                  "type": "string",
                  "enum": [
                    "Accepted",
                    "Authorised",
                    "Rejected",
                    "Revoked"
                  ]
                },
                "StatusUpdateDateTime": {
                  "description": "Date and time at which the resource's status was last updated (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "ExpirationDateTime": {
                  "description": "The date expiration of the requested consent (in ISO 8601 format).",
                  "type": "string",
                  "format": "date-time"
                },
                "DebtorAccount": {
                  "description": "DebtorAccount for the Funds confirmation consent provided",
                  "title": "DebtorAccount",
                  "type": "object",
                  "properties": {
                    "SchemeName": {
                      "description": "Name of the identification scheme, in a coded form as published in an external list.",
                      "title": "SchemeName",
                      "type": "string",
                      "enum": [
                        "NA",
                        "Account",
                        "Card"
                      ]
                    },
                    "Identification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    },
                    "Name": {
                      "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "SecondaryIdentification": {
                      "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 34
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "funds-confirm-setup"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Delete a funds confirmation request",
        "tags": [
          "FundsConfirmation"
        ],
        "description": "Delete a funds confirmation request",
        "operationId": "DeleteFundsConfirmationRequest",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "FundsRequestId",
            "in": "path",
            "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "204": {
            "description": "Funds Confirmation resource successfully deleted",
            "headers": {
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "funds-confirm"
            ]
          }
        ]
      }
    },
    "/funds-confirmation/v1/funds-confirmations": {
      "post": {
        "summary": "Submit a funds confirmation request",
        "tags": [
          "FundsConfirmation"
        ],
        "description": "Given a specified amount, inquire about the funds availability of an account which has been previously given consent for\n",
        "operationId": "FundsConfirmationSubmission",
        "consumes": [
          "application/json; charset=utf-8"
        ],
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "description": "Submit a funds confirmation request",
            "required": true,
            "schema": {
              "title": "Funds Confirmation Submission POST request object",
              "description": "Allows submission of a funds confirmation request",
              "type": "object",
              "required": [
                "FundsRequestId",
                "Reference",
                "InstructedAmount"
              ],
              "properties": {
                "FundsRequestId": {
                  "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
                  "type": "string"
                },
                "Reference": {
                  "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction",
                  "type": "string"
                },
                "InstructedAmount": {
                  "type": "object",
                  "description": "Amount of money",
                  "required": [
                    "Value",
                    "Currency"
                  ],
                  "properties": {
                    "Value": {
                      "type": "number"
                    },
                    "Currency": {
                      "description": "ISO 4217 currency code",
                      "type": "string",
                      "pattern": "^[A-Z]{3,3}$"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-psu-last-logged",
            "type": "string",
            "required": false,
            "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates."
          },
          {
            "in": "header",
            "name": "x-ab-psu-ip",
            "type": "string",
            "required": false,
            "description": "The PSU's IP address if the PSU is currently logged in with the TPP."
          },
          {
            "in": "header",
            "name": "x-ab-interaction-id",
            "type": "string",
            "required": false,
            "description": "An RFC4122 UID used as a correlation id."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          },
          {
            "in": "header",
            "name": "x-jws-signature",
            "type": "string",
            "required": true,
            "description": "Header containing a detached JWS signature of the body of the payload."
          }
        ],
        "responses": {
          "201": {
            "description": "Funds Confirmation Submission Response",
            "schema": {
              "title": "Funds Confirmation Submission Request POST response object",
              "type": "object",
              "required": [
                "FundsRequestId",
                "FundsConfirmationId",
                "FundsAvailable"
              ],
              "properties": {
                "FundsRequestId": {
                  "description": "Unique identification as assigned to uniquely identify the funds confirmation consent resource.",
                  "type": "string"
                },
                "FundsConfirmationId": {
                  "description": "Unique identification as assigned to uniquely identify the funds confirmation resource.",
                  "type": "string"
                },
                "FundsAvailable": {
                  "description": "Flag to indicate the result of a confirmation of funds check.",
                  "type": "boolean"
                },
                "Reference": {
                  "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.",
                  "type": "string"
                },
                "InstructedAmount": {
                  "type": "object",
                  "description": "Amount of money",
                  "required": [
                    "Value",
                    "Currency"
                  ],
                  "properties": {
                    "Value": {
                      "type": "number"
                    },
                    "Currency": {
                      "description": "ISO 4217 currency code",
                      "type": "string",
                      "pattern": "^[A-Z]{3,3}$"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              },
              "x-ab-interaction-id": {
                "type": "string",
                "description": "An RFC4122 UID used as a correlation id."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PSUSec": [
              "funds-confirm"
            ]
          }
        ]
      }
    },
    "/open-data/v1/branches": {
      "get": {
        "summary": "Get the list of the Bank Branches",
        "tags": [
          "OpenData"
        ],
        "description": "Return the list of the Bank Branches.\n",
        "operationId": "GetBranches",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Bank Branches successfully retrieved",
            "schema": {
              "title": "Bank Branches GET response",
              "type": "object",
              "required": [
                "Id",
                "Name"
              ],
              "properties": {
                "Id": {
                  "description": "Unique identification of the Branch",
                  "type": "number"
                },
                "Name": {
                  "description": "The name of the branch",
                  "type": "string"
                },
                "City": {
                  "description": "The City the Branch is located at",
                  "type": "string"
                },
                "Region": {
                  "description": "The geographic region of the Branch",
                  "type": "string"
                },
                "Country": {
                  "description": "The Country the Branch is located in",
                  "type": "string"
                },
                "Address": {
                  "description": "The address of the Branch",
                  "type": "string"
                },
                "AddressSuppl": {
                  "description": "Supplementary address information",
                  "type": "string"
                },
                "ZipCode": {
                  "description": "Postal code for the Branch address",
                  "type": "string",
                  "maxLength": 6
                },
                "Phone": {
                  "description": "Contact phone for the Branch",
                  "type": "string"
                },
                "Fax": {
                  "description": "Fax number for the Branch",
                  "type": "string"
                },
                "Lat": {
                  "description": "The Latitude value of the Branch geographic location",
                  "type": "number"
                },
                "Lon": {
                  "description": "The Longitude value of the Branch geographic location",
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "open-data"
            ]
          }
        ]
      }
    },
    "/open-data/v1/atms": {
      "get": {
        "summary": "Get the list of the Bank ATMs",
        "tags": [
          "OpenData"
        ],
        "description": "Return the list of the Bank ATMs.\n",
        "operationId": "GetATMs",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Bank ATMs successfully retrieved",
            "schema": {
              "title": "Bank ATMs GET response",
              "type": "object",
              "required": [
                "Id",
                "Name"
              ],
              "properties": {
                "Id": {
                  "description": "Unique identification of the ATM",
                  "type": "number"
                },
                "Name": {
                  "description": "The name of the ATM",
                  "type": "string"
                },
                "City": {
                  "description": "The City the ATM is located at",
                  "type": "string"
                },
                "Region": {
                  "description": "The geographic region of the ATM",
                  "type": "string"
                },
                "Address": {
                  "description": "The address of the ATM",
                  "type": "string"
                },
                "ZipCode": {
                  "description": "Postal code for the ATM address",
                  "type": "string",
                  "maxLength": 6
                },
                "Access": {
                  "description": "Access information",
                  "type": "string"
                },
                "FacilityDesc": {
                  "description": "Facilities description",
                  "type": "string"
                },
                "IsInBranch": {
                  "description": "True if the ATM is located inside a Bank Branch",
                  "type": "boolean"
                },
                "Lat": {
                  "description": "The Latitude value of the ATM geographic location",
                  "type": "number"
                },
                "Lon": {
                  "description": "The Longitude value of the ATM geographic location",
                  "type": "number"
                },
                "SettlementType": {
                  "description": "Description of the settlement where the ATM is located",
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "open-data"
            ]
          }
        ]
      }
    },
    "/open-data/v1/akps": {
      "get": {
        "summary": "Get the list of the Bank AKPs",
        "tags": [
          "OpenData"
        ],
        "description": "Return the list of the Bank AKPs.\n",
        "operationId": "GetAKPs",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Bank AKPs successfully retrieved",
            "schema": {
              "title": "Bank AKPs GET response",
              "type": "object",
              "required": [
                "Id",
                "Name"
              ],
              "properties": {
                "Id": {
                  "description": "Unique identification of the AKP",
                  "type": "number"
                },
                "Name": {
                  "description": "The name of the AKP",
                  "type": "string"
                },
                "City": {
                  "description": "The City the AKP is located at",
                  "type": "string"
                },
                "Address": {
                  "description": "The address of the AKP",
                  "type": "string"
                },
                "ZipCode": {
                  "description": "Postal code for the AKP address",
                  "type": "string",
                  "maxLength": 6
                },
                "IsInBranch": {
                  "description": "True if the AKP is located inside a Bank Branch",
                  "type": "boolean"
                },
                "Lat": {
                  "description": "The Latitude value of the AKP geographic location",
                  "type": "number"
                },
                "Lon": {
                  "description": "The Longitude value of the AKP geographic location",
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "open-data"
            ]
          }
        ]
      }
    },
    "/open-data/v1/rates": {
      "get": {
        "summary": "Get the list of the latest currency rates",
        "tags": [
          "OpenData"
        ],
        "description": "Return the list of the currency rates.\n",
        "operationId": "GetRates",
        "produces": [
          "application/json; charset=utf-8"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-ab-bank-id",
            "type": "string",
            "required": true,
            "description": "The unique id of the Alpha Bank to which the request is issued. Use CRBAGRAA for Alpha Bank Greece."
          },
          {
            "in": "header",
            "name": "x-ab-lang",
            "type": "string",
            "required": false,
            "description": "An ISO 639-1 two letter language code. Only 'el', 'ro' and 'en' values are valid."
          },
          {
            "in": "header",
            "name": "Authorization",
            "type": "string",
            "required": true,
            "description": "An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750"
          },
          {
            "in": "header",
            "name": "Ocp-Apim-Subscription-Key",
            "type": "string",
            "required": true,
            "description": "The subscription key necessary to access the API endpoint"
          }
        ],
        "responses": {
          "200": {
            "description": "Currency rates successfully retrieved",
            "schema": {
              "title": "Currency rates GET response",
              "type": "object",
              "required": [
                "ExchangeRatesDate",
                "ECBRatesDate",
                "Currencies"
              ],
              "properties": {
                "ExchangeRatesDate": {
                  "description": "The date-stamp of the last currency rates update (ISO8601)",
                  "type": "string",
                  "format": "date-time"
                },
                "ECBRatesDate": {
                  "description": "The date validity as of the corresponding ECB service (ISO8601)",
                  "type": "string",
                  "format": "date-time"
                },
                "Currencies": {
                  "description": "The list of the currency rate information object",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ISOCode": {
                        "description": "the code of the currency",
                        "type": "number"
                      },
                      "Name": {
                        "description": "The name of the currency",
                        "type": "string"
                      },
                      "BankNote": {
                        "type": "object",
                        "required": [
                          "Buy",
                          "Sell"
                        ],
                        "properties": {
                          "Buy": {
                            "description": "the value to buy",
                            "type": "number"
                          },
                          "Sell": {
                            "description": "the value to sell",
                            "type": "number"
                          }
                        }
                      },
                      "ForeignExchange": {
                        "type": "object",
                        "required": [
                          "Buy",
                          "Sell"
                        ],
                        "properties": {
                          "Buy": {
                            "description": "the value to buy",
                            "type": "number"
                          },
                          "Sell": {
                            "description": "the value to sell",
                            "type": "number"
                          }
                        }
                      },
                      "ECB": {
                        "type": "object",
                        "required": [
                          "Buy",
                          "Sell"
                        ],
                        "properties": {
                          "Buy": {
                            "description": "the value to buy",
                            "type": "number"
                          },
                          "Sell": {
                            "description": "the value to sell",
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "headers": {
              "x-jws-signature": {
                "type": "string",
                "description": "Header containing a detached JWS signature of the body of the payload."
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "406": {
            "description": "Not Acceptable"
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "Retry-After": {
                "description": "Number in seconds to wait",
                "type": "integer"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "description": "Error Description",
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "number"
                },
                "errorDescription": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "TPPSec": [
              "open-data"
            ]
          }
        ]
      }
    }
  },
  "definitions": {
    "ErrorDescription": {
      "description": "Error Description",
      "type": "object",
      "properties": {
        "errorCode": {
          "type": "number"
        },
        "errorDescription": {
          "type": "string"
        }
      }
    },
    "ProductIdentifiers": {
      "description": "List of Product Identifiers",
      "type": "array",
      "items": {
        "title": "Product Identifier",
        "description": "Identifies a Bank product owned by the end user",
        "type": "object",
        "required": [
          "AccountCode",
          "Scheme"
        ],
        "properties": {
          "AccountCode": {
            "description": "the global identifier of the product (e.g. IBAN, Card number)",
            "type": "string"
          },
          "Scheme": {
            "description": "Name of the identification scheme (AccountCode scheme)",
            "type": "string",
            "enum": [
              "NA",
              "Account",
              "Card"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "ProductIdentifier": {
      "title": "Product Identifier",
      "description": "Identifies a Bank product owned by the end user",
      "type": "object",
      "required": [
        "AccountCode",
        "Scheme"
      ],
      "properties": {
        "AccountCode": {
          "description": "the global identifier of the product (e.g. IBAN, Card number)",
          "type": "string"
        },
        "Scheme": {
          "description": "Name of the identification scheme (AccountCode scheme)",
          "type": "string",
          "enum": [
            "NA",
            "Account",
            "Card"
          ]
        }
      },
      "additionalProperties": false
    },
    "Account": {
      "title": "Account",
      "description": "Account",
      "type": "object",
      "required": [
        "AccountId",
        "AccountCode",
        "Scheme",
        "ProductTypeCode",
        "CategoryCode",
        "AllowDebit",
        "AllowCredit",
        "AllowQuery"
      ],
      "properties": {
        "AccountId": {
          "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "AccountCode": {
          "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "Scheme": {
          "description": "Name of the identification scheme (AccountCode scheme)",
          "type": "string",
          "enum": [
            "NA",
            "Account",
            "Card"
          ]
        },
        "Currency": {
          "description": "Identification of the currency in which the account is held.",
          "type": "string",
          "pattern": "^[A-Z]{3,3}$"
        },
        "Alias": {
          "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
          "type": "string",
          "minLength": 1,
          "maxLength": 50
        },
        "ProductTypeCode": {
          "description": "The code of the product type for the account.",
          "type": "string",
          "minLength": 1,
          "maxLength": 10
        },
        "ProductTypeName": {
          "description": "The name of the product type for the account.",
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "CategoryCode": {
          "description": "The code of the account category (the account can be of saving account, loan, etc.).",
          "type": "string",
          "minLength": 1,
          "maxLength": 10
        },
        "CategoryName": {
          "description": "The name of the account category.",
          "type": "string",
          "minLength": 1,
          "maxLength": 70
        },
        "AllowDebit": {
          "description": "Flag to denote if the account can be debited",
          "type": "boolean"
        },
        "AllowCredit": {
          "description": "Flag to denote if the account can be credited",
          "type": "boolean"
        },
        "AllowQuery": {
          "description": "Flag to denote if the balance of the account can be acquired",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Transaction": {
      "type": "object",
      "required": [
        "AccountId",
        "Amount",
        "CreditDebitIndicator",
        "BookingDateTime"
      ],
      "properties": {
        "TransactionId": {
          "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "AccountId": {
          "description": "A unique and immutable identifier used to identify the account resource",
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "Scheme": {
          "description": "Name of the Account identification scheme",
          "type": "string",
          "enum": [
            "NA",
            "Account",
            "Card"
          ]
        },
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "CreditDebitIndicator": {
          "description": "Indicates whether the transaction is a credit or a debit entry.",
          "type": "string",
          "enum": [
            "Credit",
            "Debit"
          ]
        },
        "OriginatorAccount": {
          "description": "The identifier of the transaction. If refers to a card transaction the value corresponds to the card number. In case of account transactions the value corresponds to the account IBAN.",
          "type": "string"
        },
        "EndToEndIdentification": {
          "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
          "type": "string"
        },
        "InstructionIdentification": {
          "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
          "type": "string"
        },
        "BookingDateTime": {
          "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
          "type": "string",
          "format": "date-time"
        },
        "ValueDateTime": {
          "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
          "type": "string",
          "format": "date-time"
        },
        "TransactionInformation": {
          "description": "Further details of the transaction. This is the transaction narrative, which is unstructured text.",
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        "MerchantDetails": {
          "description": "Details of the merchant involved in the transaction. This information is applicable only for accounts of type Card.",
          "type": "object",
          "properties": {
            "MerchantName": {
              "description": "Name by which the merchant is known.",
              "type": "string",
              "minLength": 1,
              "maxLength": 350
            },
            "MerchantCategoryCode": {
              "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.",
              "type": "string",
              "minLength": 3,
              "maxLength": 4
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "AccountsResponse": {
      "type": "array",
      "items": {
        "title": "Account",
        "description": "Account",
        "type": "object",
        "required": [
          "AccountId",
          "AccountCode",
          "Scheme",
          "ProductTypeCode",
          "CategoryCode",
          "AllowDebit",
          "AllowCredit",
          "AllowQuery"
        ],
        "properties": {
          "AccountId": {
            "description": "A unique and immutable identifier used to identify the account resource. This id is used on any subsequent request as path variable.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "AccountCode": {
            "description": "An identification code for the account. The values is an IBAN (Account scheme), Card Number (Card Scheme), etc",
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "Scheme": {
            "description": "Name of the identification scheme (AccountCode scheme)",
            "type": "string",
            "enum": [
              "NA",
              "Account",
              "Card"
            ]
          },
          "Currency": {
            "description": "Identification of the currency in which the account is held.",
            "type": "string",
            "pattern": "^[A-Z]{3,3}$"
          },
          "Alias": {
            "description": "The alias name of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "ProductTypeCode": {
            "description": "The code of the product type for the account.",
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "ProductTypeName": {
            "description": "The name of the product type for the account.",
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "CategoryCode": {
            "description": "The code of the account category (the account can be of saving account, loan, etc.).",
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "CategoryName": {
            "description": "The name of the account category.",
            "type": "string",
            "minLength": 1,
            "maxLength": 70
          },
          "AllowDebit": {
            "description": "Flag to denote if the account can be debited",
            "type": "boolean"
          },
          "AllowCredit": {
            "description": "Flag to denote if the account can be credited",
            "type": "boolean"
          },
          "AllowQuery": {
            "description": "Flag to denote if the balance of the account can be acquired",
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "TransactionsResponse": {
      "description": "List of the transactions according to the query parameters, order by date, most recent first. The count of the transactions has a linit of 30. If more transactions are available the reponse returns a value in the x-ab-locator header. This value can be used for the same header in subsquent requests in order to acquire the next set of transaction entries.",
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "AccountId",
          "Amount",
          "CreditDebitIndicator",
          "BookingDateTime"
        ],
        "properties": {
          "TransactionId": {
            "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "AccountId": {
            "description": "A unique and immutable identifier used to identify the account resource",
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "Scheme": {
            "description": "Name of the Account identification scheme",
            "type": "string",
            "enum": [
              "NA",
              "Account",
              "Card"
            ]
          },
          "Amount": {
            "type": "object",
            "description": "Amount of money",
            "required": [
              "Value",
              "Currency"
            ],
            "properties": {
              "Value": {
                "type": "number"
              },
              "Currency": {
                "description": "ISO 4217 currency code",
                "type": "string",
                "pattern": "^[A-Z]{3,3}$"
              }
            },
            "additionalProperties": false
          },
          "CreditDebitIndicator": {
            "description": "Indicates whether the transaction is a credit or a debit entry.",
            "type": "string",
            "enum": [
              "Credit",
              "Debit"
            ]
          },
          "OriginatorAccount": {
            "description": "The identifier of the transaction. If refers to a card transaction the value corresponds to the card number. In case of account transactions the value corresponds to the account IBAN.",
            "type": "string"
          },
          "EndToEndIdentification": {
            "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
            "type": "string"
          },
          "InstructionIdentification": {
            "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022). Value is not empty when the transaction submitted through PSD2 Transfer API.",
            "type": "string"
          },
          "BookingDateTime": {
            "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
            "type": "string",
            "format": "date-time"
          },
          "ValueDateTime": {
            "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
            "type": "string",
            "format": "date-time"
          },
          "TransactionInformation": {
            "description": "Further details of the transaction. This is the transaction narrative, which is unstructured text.",
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "MerchantDetails": {
            "description": "Details of the merchant involved in the transaction. This information is applicable only for accounts of type Card.",
            "type": "object",
            "properties": {
              "MerchantName": {
                "description": "Name by which the merchant is known.",
                "type": "string",
                "minLength": 1,
                "maxLength": 350
              },
              "MerchantCategoryCode": {
                "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.",
                "type": "string",
                "minLength": 3,
                "maxLength": 4
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "Amount": {
      "type": "object",
      "description": "Amount of money",
      "required": [
        "Value",
        "Currency"
      ],
      "properties": {
        "Value": {
          "type": "number"
        },
        "Currency": {
          "description": "ISO 4217 currency code",
          "type": "string",
          "pattern": "^[A-Z]{3,3}$"
        }
      },
      "additionalProperties": false
    },
    "CurrencyValue": {
      "type": "object",
      "required": [
        "Buy",
        "Sell"
      ],
      "properties": {
        "Buy": {
          "description": "the value to buy",
          "type": "number"
        },
        "Sell": {
          "description": "the value to sell",
          "type": "number"
        }
      }
    },
    "OrderExecution": {
      "description": "described an order execution",
      "type": "object",
      "properties": {
        "Status": {
          "description": "the execution status of the order",
          "type": "string",
          "enum": [
            "Pending",
            "Executed"
          ]
        },
        "ExecutionDate": {
          "description": "the date the order is planed to be executed or already executed (in ISO 8601 format)",
          "type": "string"
        },
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        }
      }
    },
    "StandingOrderBasicInfo": {
      "type": "object",
      "required": [
        "StandingOrderId",
        "Name",
        "CreditorAccount"
      ],
      "properties": {
        "StandingOrderId": {
          "description": "the unique id of the standing order",
          "type": "string"
        },
        "Name": {
          "description": "a subscriber defined descriptive name for the standing order",
          "type": "string"
        },
        "AccountId": {
          "description": "the 'representation' Id of the associated account",
          "type": "string"
        },
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "CreditorAccount": {
          "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
          "title": "Creditor Account",
          "type": "object",
          "required": [
            "SchemeName",
            "Identification"
          ],
          "properties": {
            "SchemeName": {
              "description": "Name of the identification scheme, in a coded form as published in an external list.",
              "title": "SchemeName",
              "type": "string",
              "enum": [
                "NA",
                "Account",
                "Card"
              ]
            },
            "Identification": {
              "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
              "type": "string",
              "minLength": 1,
              "maxLength": 34
            },
            "Name": {
              "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "SecondaryIdentification": {
              "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
              "type": "string",
              "minLength": 1,
              "maxLength": 34
            }
          }
        }
      }
    },
    "StandingOrderDetailedInfo": {
      "type": "object",
      "required": [
        "StandingOrderId",
        "Name",
        "CreditorAccount"
      ],
      "properties": {
        "StandingOrderId": {
          "description": "the unique id of the standing order",
          "type": "string"
        },
        "Name": {
          "description": "a subscriber defined descriptive name for the standing order",
          "type": "string"
        },
        "AccountId": {
          "description": "the 'representation' Id of the associated account",
          "type": "string"
        },
        "Status": {
          "description": "the status of the standing order",
          "type": "string",
          "enum": [
            "Active",
            "Inactive"
          ]
        },
        "DateCreated": {
          "description": "the date the standing order was created (in ISO 8601 format)",
          "type": "string"
        },
        "DateStart": {
          "description": "the date from the standing order is active (in ISO 8601 format)",
          "type": "string"
        },
        "DateStop": {
          "description": "the date until the standing order is active (in ISO 8601 format)",
          "type": "string"
        },
        "NumberOfOccurences": {
          "description": "number of times the standing order will be executed (supported by Alpha Bank Cyprus only)",
          "type": "number"
        },
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "CreditorAccount": {
          "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
          "title": "Creditor Account",
          "type": "object",
          "required": [
            "SchemeName",
            "Identification"
          ],
          "properties": {
            "SchemeName": {
              "description": "Name of the identification scheme, in a coded form as published in an external list.",
              "title": "SchemeName",
              "type": "string",
              "enum": [
                "NA",
                "Account",
                "Card"
              ]
            },
            "Identification": {
              "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
              "type": "string",
              "minLength": 1,
              "maxLength": 34
            },
            "Name": {
              "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "SecondaryIdentification": {
              "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
              "type": "string",
              "minLength": 1,
              "maxLength": 34
            }
          }
        },
        "CreditorReason": {
          "description": "descriptive text used for the creditor to identify the relative transactions",
          "type": "string"
        },
        "ExecutionPlan": {
          "description": "the definition of the periodicity of the standing order",
          "type": "object",
          "properties": {
            "ExecutionMonthlyFrequency": {
              "description": "every how many months the standing order is executed",
              "type": "integer"
            },
            "ExecutionMonthDay": {
              "description": "the day of the month the standing order is executed",
              "type": "integer"
            }
          }
        },
        "PreviousExecution": {
          "description": "described an order execution",
          "type": "object",
          "properties": {
            "Status": {
              "description": "the execution status of the order",
              "type": "string",
              "enum": [
                "Pending",
                "Executed"
              ]
            },
            "ExecutionDate": {
              "description": "the date the order is planed to be executed or already executed (in ISO 8601 format)",
              "type": "string"
            },
            "Amount": {
              "type": "object",
              "description": "Amount of money",
              "required": [
                "Value",
                "Currency"
              ],
              "properties": {
                "Value": {
                  "type": "number"
                },
                "Currency": {
                  "description": "ISO 4217 currency code",
                  "type": "string",
                  "pattern": "^[A-Z]{3,3}$"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "NextExecution": {
          "description": "described an order execution",
          "type": "object",
          "properties": {
            "Status": {
              "description": "the execution status of the order",
              "type": "string",
              "enum": [
                "Pending",
                "Executed"
              ]
            },
            "ExecutionDate": {
              "description": "the date the order is planed to be executed or already executed (in ISO 8601 format)",
              "type": "string"
            },
            "Amount": {
              "type": "object",
              "description": "Amount of money",
              "required": [
                "Value",
                "Currency"
              ],
              "properties": {
                "Value": {
                  "type": "number"
                },
                "Currency": {
                  "description": "ISO 4217 currency code",
                  "type": "string",
                  "pattern": "^[A-Z]{3,3}$"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "StandingOrdersBasicInfo": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "StandingOrderId",
          "Name",
          "CreditorAccount"
        ],
        "properties": {
          "StandingOrderId": {
            "description": "the unique id of the standing order",
            "type": "string"
          },
          "Name": {
            "description": "a subscriber defined descriptive name for the standing order",
            "type": "string"
          },
          "AccountId": {
            "description": "the 'representation' Id of the associated account",
            "type": "string"
          },
          "Amount": {
            "type": "object",
            "description": "Amount of money",
            "required": [
              "Value",
              "Currency"
            ],
            "properties": {
              "Value": {
                "type": "number"
              },
              "Currency": {
                "description": "ISO 4217 currency code",
                "type": "string",
                "pattern": "^[A-Z]{3,3}$"
              }
            },
            "additionalProperties": false
          },
          "CreditorAccount": {
            "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
            "title": "Creditor Account",
            "type": "object",
            "required": [
              "SchemeName",
              "Identification"
            ],
            "properties": {
              "SchemeName": {
                "description": "Name of the identification scheme, in a coded form as published in an external list.",
                "title": "SchemeName",
                "type": "string",
                "enum": [
                  "NA",
                  "Account",
                  "Card"
                ]
              },
              "Identification": {
                "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                "type": "string",
                "minLength": 1,
                "maxLength": 34
              },
              "Name": {
                "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "SecondaryIdentification": {
                "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
                "type": "string",
                "minLength": 1,
                "maxLength": 34
              }
            }
          }
        }
      }
    },
    "CreditorAccount": {
      "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the standing order execution.",
      "title": "Creditor Account",
      "type": "object",
      "required": [
        "SchemeName",
        "Identification"
      ],
      "properties": {
        "SchemeName": {
          "description": "Name of the identification scheme, in a coded form as published in an external list.",
          "title": "SchemeName",
          "type": "string",
          "enum": [
            "NA",
            "Account",
            "Card"
          ]
        },
        "Identification": {
          "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
          "type": "string",
          "minLength": 1,
          "maxLength": 34
        },
        "Name": {
          "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
          "type": "string",
          "minLength": 1,
          "maxLength": 70
        },
        "SecondaryIdentification": {
          "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
          "type": "string",
          "minLength": 1,
          "maxLength": 34
        }
      }
    },
    "DirectDebitDetailedInfo": {
      "type": "object",
      "required": [
        "AccountId"
      ],
      "properties": {
        "DirectDebitId": {
          "description": "the unique id of the direct debit",
          "type": "string"
        },
        "Name": {
          "description": "a subscriber defined descriptive name for the direct debit",
          "type": "string"
        },
        "AccountId": {
          "description": "the 'representation' Id of the associated account",
          "type": "string"
        },
        "ProductType": {
          "description": "the type of the product to pay",
          "type": "string"
        },
        "ProductName": {
          "description": "the name of the product",
          "type": "string"
        },
        "Status": {
          "description": "the status of the standing order",
          "type": "string",
          "enum": [
            "Active",
            "Inactive"
          ]
        },
        "DateCreated": {
          "description": "the date the standing order was created (in ISO 8601 format)",
          "type": "string"
        },
        "AmountLimit": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "DirectDebitBasicInfo": {
      "type": "object",
      "required": [
        "AccountId"
      ],
      "properties": {
        "AccountId": {
          "description": "the 'representation' Id of the associated account",
          "type": "string"
        },
        "ProductName": {
          "description": "the name of the product",
          "type": "string"
        },
        "DirectDebitId": {
          "description": "the unique id of the direct debit",
          "type": "string"
        },
        "Status": {
          "description": "the status of the standing order",
          "type": "string",
          "enum": [
            "Active",
            "Inactive"
          ]
        }
      },
      "additionalProperties": false
    },
    "DirectDebitsBasicInfo": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "AccountId"
        ],
        "properties": {
          "AccountId": {
            "description": "the 'representation' Id of the associated account",
            "type": "string"
          },
          "ProductName": {
            "description": "the name of the product",
            "type": "string"
          },
          "DirectDebitId": {
            "description": "the unique id of the direct debit",
            "type": "string"
          },
          "Status": {
            "description": "the status of the standing order",
            "type": "string",
            "enum": [
              "Active",
              "Inactive"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "Beneficiary": {
      "title": "Beneficiary",
      "description": "Beneficiary",
      "type": "object",
      "required": [
        "CustomerNumber",
        "CustomerType"
      ],
      "properties": {
        "CustomerNumber": {
          "description": "the customer identification number",
          "type": "string"
        },
        "CustomerType": {
          "description": "type of the customer",
          "type": "string",
          "enum": [
            "Individual",
            "Company",
            "Unknown"
          ]
        },
        "CompanyName": {
          "description": "Company name",
          "type": "string"
        },
        "CompanyTitle": {
          "description": "Comapny title",
          "type": "string"
        },
        "LastName": {
          "description": "Persons' surname",
          "type": "string"
        },
        "FistName": {
          "description": "Person's name",
          "type": "string"
        },
        "FatherName": {
          "description": "Person's father name",
          "type": "string"
        },
        "BirthDate": {
          "description": "Person's birth date in ISO 8601 format",
          "type": "string"
        },
        "Language": {
          "description": "prefered communication language",
          "type": "string",
          "enum": [
            "en",
            "el",
            "ro"
          ]
        },
        "Nationality": {
          "description": "Nationality in ISO 3166-1 alpha-2 code",
          "type": "string"
        },
        "Sex": {
          "description": "Person's sex",
          "type": "string",
          "enum": [
            "Unknown",
            "Male",
            "Female",
            "Other",
            "NA"
          ]
        },
        "TaxInformation": {
          "description": "tax information data",
          "type": "object",
          "properties": {
            "VAT": {
              "description": "vat number",
              "type": "string"
            },
            "TaxOffice": {
              "description": "tax office",
              "type": "string"
            }
          }
        },
        "Identity": {
          "description": "person's identification document",
          "type": "object",
          "properties": {
            "Id": {
              "description": "the identification document's code",
              "type": "string"
            },
            "IdType": {
              "description": "the identification type",
              "type": "string",
              "enum": [
                "Nothing",
                "IDCard",
                "Passport",
                "Other"
              ]
            },
            "Publisher": {
              "description": "Person's identification publisher",
              "type": "string"
            },
            "PublisherCountry": {
              "description": "identification publisher's country (ISO 3166-1 alpha-2 code)",
              "type": "string"
            }
          }
        },
        "Contacts": {
          "description": "list of contacts",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "ContactType": {
                "description": "contact type",
                "type": "string",
                "enum": [
                  "Telephone",
                  "Email",
                  "WorkPhone",
                  "PrivatePhone",
                  "Mobile"
                ]
              },
              "ContactValue": {
                "description": "contact value (nuber, address, tec.)",
                "type": "string"
              }
            }
          }
        },
        "Addresses": {
          "description": "list of addresses",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "AddressType": {
                "description": "type of the address",
                "type": "string",
                "enum": [
                  "Home",
                  "Work"
                ]
              },
              "Street": {
                "description": "street name",
                "type": "string"
              },
              "Number": {
                "description": "the street number",
                "type": "string"
              },
              "City": {
                "description": "the city name",
                "type": "string"
              },
              "Country": {
                "description": "address country",
                "type": "string"
              },
              "PostalCode": {
                "description": "postal code",
                "type": "string"
              }
            }
          }
        },
        "BussinessActivity": {
          "description": "business activity",
          "type": "string"
        },
        "CorpExpirationDate": {
          "description": "Corporate expiration date (ISO 8601 format)",
          "type": "string"
        },
        "LegalEntityExpiryDate": {
          "description": "Corporate expiration date (ISO 8601 format)",
          "type": "string"
        },
        "InsuranceClearanceExpiryDate": {
          "description": "Insurance Clearance Expiry Date (ISO 8601 format)",
          "type": "string"
        },
        "TaxClearanceExpiryDate": {
          "description": "Tax Clearance Expiry Date (ISO 8601 format)",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Beneficiaries": {
      "type": "array",
      "items": {
        "title": "Beneficiary",
        "description": "Beneficiary",
        "type": "object",
        "required": [
          "CustomerNumber",
          "CustomerType"
        ],
        "properties": {
          "CustomerNumber": {
            "description": "the customer identification number",
            "type": "string"
          },
          "CustomerType": {
            "description": "type of the customer",
            "type": "string",
            "enum": [
              "Individual",
              "Company",
              "Unknown"
            ]
          },
          "CompanyName": {
            "description": "Company name",
            "type": "string"
          },
          "CompanyTitle": {
            "description": "Comapny title",
            "type": "string"
          },
          "LastName": {
            "description": "Persons' surname",
            "type": "string"
          },
          "FistName": {
            "description": "Person's name",
            "type": "string"
          },
          "FatherName": {
            "description": "Person's father name",
            "type": "string"
          },
          "BirthDate": {
            "description": "Person's birth date in ISO 8601 format",
            "type": "string"
          },
          "Language": {
            "description": "prefered communication language",
            "type": "string",
            "enum": [
              "en",
              "el",
              "ro"
            ]
          },
          "Nationality": {
            "description": "Nationality in ISO 3166-1 alpha-2 code",
            "type": "string"
          },
          "Sex": {
            "description": "Person's sex",
            "type": "string",
            "enum": [
              "Unknown",
              "Male",
              "Female",
              "Other",
              "NA"
            ]
          },
          "TaxInformation": {
            "description": "tax information data",
            "type": "object",
            "properties": {
              "VAT": {
                "description": "vat number",
                "type": "string"
              },
              "TaxOffice": {
                "description": "tax office",
                "type": "string"
              }
            }
          },
          "Identity": {
            "description": "person's identification document",
            "type": "object",
            "properties": {
              "Id": {
                "description": "the identification document's code",
                "type": "string"
              },
              "IdType": {
                "description": "the identification type",
                "type": "string",
                "enum": [
                  "Nothing",
                  "IDCard",
                  "Passport",
                  "Other"
                ]
              },
              "Publisher": {
                "description": "Person's identification publisher",
                "type": "string"
              },
              "PublisherCountry": {
                "description": "identification publisher's country (ISO 3166-1 alpha-2 code)",
                "type": "string"
              }
            }
          },
          "Contacts": {
            "description": "list of contacts",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ContactType": {
                  "description": "contact type",
                  "type": "string",
                  "enum": [
                    "Telephone",
                    "Email",
                    "WorkPhone",
                    "PrivatePhone",
                    "Mobile"
                  ]
                },
                "ContactValue": {
                  "description": "contact value (nuber, address, tec.)",
                  "type": "string"
                }
              }
            }
          },
          "Addresses": {
            "description": "list of addresses",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "AddressType": {
                  "description": "type of the address",
                  "type": "string",
                  "enum": [
                    "Home",
                    "Work"
                  ]
                },
                "Street": {
                  "description": "street name",
                  "type": "string"
                },
                "Number": {
                  "description": "the street number",
                  "type": "string"
                },
                "City": {
                  "description": "the city name",
                  "type": "string"
                },
                "Country": {
                  "description": "address country",
                  "type": "string"
                },
                "PostalCode": {
                  "description": "postal code",
                  "type": "string"
                }
              }
            }
          },
          "BussinessActivity": {
            "description": "business activity",
            "type": "string"
          },
          "CorpExpirationDate": {
            "description": "Corporate expiration date (ISO 8601 format)",
            "type": "string"
          },
          "LegalEntityExpiryDate": {
            "description": "Corporate expiration date (ISO 8601 format)",
            "type": "string"
          },
          "InsuranceClearanceExpiryDate": {
            "description": "Insurance Clearance Expiry Date (ISO 8601 format)",
            "type": "string"
          },
          "TaxClearanceExpiryDate": {
            "description": "Tax Clearance Expiry Date (ISO 8601 format)",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "BalancesResponse": {
      "type": "object",
      "required": [
        "Balances"
      ],
      "properties": {
        "Balances": {
          "description": "the balances for a set of accounts",
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "AccountId",
              "Balances"
            ],
            "properties": {
              "AccountId": {
                "description": "A unique and immutable identifier used to identify the account resource.",
                "type": "string"
              },
              "Balances": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "Amount",
                    "TimeStamp",
                    "BalanceType"
                  ],
                  "properties": {
                    "Amount": {
                      "type": "object",
                      "description": "Amount of money",
                      "required": [
                        "Value",
                        "Currency"
                      ],
                      "properties": {
                        "Value": {
                          "type": "number"
                        },
                        "Currency": {
                          "description": "ISO 4217 currency code",
                          "type": "string",
                          "pattern": "^[A-Z]{3,3}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "CreditDebitIndicator": {
                      "description": "if the balance is credit or debit",
                      "type": "string",
                      "enum": [
                        "Credit",
                        "Debit"
                      ]
                    },
                    "TimeStamp": {
                      "description": "The date-time of the balance in ISO 8601 format",
                      "type": "string"
                    },
                    "BalanceType": {
                      "description": "the type of the balance",
                      "type": "string",
                      "enum": [
                        "Gross",
                        "Available"
                      ]
                    },
                    "CreditLine": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "AccountBalance": {
      "type": "object",
      "required": [
        "AccountId",
        "Balances"
      ],
      "properties": {
        "AccountId": {
          "description": "A unique and immutable identifier used to identify the account resource.",
          "type": "string"
        },
        "Balances": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "Amount",
              "TimeStamp",
              "BalanceType"
            ],
            "properties": {
              "Amount": {
                "type": "object",
                "description": "Amount of money",
                "required": [
                  "Value",
                  "Currency"
                ],
                "properties": {
                  "Value": {
                    "type": "number"
                  },
                  "Currency": {
                    "description": "ISO 4217 currency code",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  }
                },
                "additionalProperties": false
              },
              "CreditDebitIndicator": {
                "description": "if the balance is credit or debit",
                "type": "string",
                "enum": [
                  "Credit",
                  "Debit"
                ]
              },
              "TimeStamp": {
                "description": "The date-time of the balance in ISO 8601 format",
                "type": "string"
              },
              "BalanceType": {
                "description": "the type of the balance",
                "type": "string",
                "enum": [
                  "Gross",
                  "Available"
                ]
              },
              "CreditLine": {
                "type": "number"
              }
            }
          }
        }
      }
    },
    "Balance": {
      "type": "object",
      "required": [
        "Amount",
        "TimeStamp",
        "BalanceType"
      ],
      "properties": {
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "CreditDebitIndicator": {
          "description": "if the balance is credit or debit",
          "type": "string",
          "enum": [
            "Credit",
            "Debit"
          ]
        },
        "TimeStamp": {
          "description": "The date-time of the balance in ISO 8601 format",
          "type": "string"
        },
        "BalanceType": {
          "description": "the type of the balance",
          "type": "string",
          "enum": [
            "Gross",
            "Available"
          ]
        },
        "CreditLine": {
          "type": "number"
        }
      }
    },
    "DomesticTransferInitiation": {
      "type": "object",
      "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
      "required": [
        "InstructionIdentification",
        "EndToEndIdentification",
        "InstructedAmount",
        "CreditorAccount"
      ],
      "properties": {
        "TransferType": {
          "description": "defines the type of the transfer (IRIS is supported only by Alpha Bank Greece)",
          "type": "string",
          "enum": [
            "Simple",
            "IRIS"
          ]
        },
        "OurShare": {
          "description": "Share \"mode\" (OUR is supported only by Alpha Bank Greece).",
          "title": "OurShare",
          "type": "string",
          "enum": [
            "OUR",
            "SHA"
          ]
        },
        "ValueDate": {
          "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
          "type": "string",
          "format": "date-time"
        },
        "InstructionIdentification": {
          "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "EndToEndIdentification": {
          "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "InstructedAmount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "BlockFunds": {
          "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
          "title": "BlockFunds",
          "type": "boolean"
        },
        "DebtorAccount": {
          "description": "IBAN of the debtor account.",
          "title": "DebtorAccount",
          "type": "string"
        },
        "CreditorAccount": {
          "description": "IBAN of the creditor account.",
          "title": "Creditor Account",
          "type": "object",
          "required": [
            "AccountCode",
            "OwnerName"
          ],
          "properties": {
            "AccountCode": {
              "description": "The IBAN of the account",
              "title": "AccountCode",
              "type": "string"
            },
            "OwnerName": {
              "description": "The Name of the owner as known by the account institution",
              "title": "OwnerName",
              "type": "string"
            }
          }
        },
        "DebtorInformation": {
          "description": "Information supplied to be used by the end user",
          "title": "DebtorInformation",
          "type": "string"
        },
        "RemittanceInformation": {
          "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
          "title": "RemittanceInformation",
          "type": "object",
          "properties": {
            "Unstructured": {
              "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.",
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            "Reference": {
              "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "InternationalTransferInitiation": {
      "type": "object",
      "description": "The Initiation payload is sent by the initiating party. It is used to request movement of funds from the debtor account to a creditor.",
      "required": [
        "InstructionIdentification",
        "EndToEndIdentification",
        "InstructedAmount",
        "CreditorAccount"
      ],
      "properties": {
        "InstructionIdentification": {
          "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "EndToEndIdentification": {
          "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "InstructedAmount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "DebtorAccount": {
          "description": "IBAN of the debtor account.",
          "title": "DebtorAccount",
          "type": "string"
        },
        "CreditorAccount": {
          "description": "Creditor account identification",
          "title": "International Creditor Account",
          "type": "object",
          "required": [
            "AccountCode",
            "OwnerName",
            "SchemeName"
          ],
          "properties": {
            "AccountCode": {
              "description": "Identification assigned by an institution to identify the account",
              "title": "AccountCode",
              "type": "string"
            },
            "OwnerName": {
              "description": "The Name of the owner as known by the account institution",
              "title": "OwnerName",
              "type": "string"
            },
            "SchemeName": {
              "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
              "title": "SchemeName",
              "type": "string",
              "enum": [
                "IBAN",
                "BBAN"
              ]
            },
            "BICCode": {
              "description": "The BIC Code that identifies the creditor account's institution",
              "title": "BICCode",
              "type": "string",
              "minLength": 8,
              "maxLength": 11
            }
          }
        },
        "ValueDate": {
          "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
          "type": "string",
          "format": "date-time"
        },
        "IntermediaryBankBIC": {
          "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
          "title": "IntermediaryBankBIC",
          "type": "string"
        },
        "RemittanceInformation": {
          "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
          "title": "RemittanceInformation",
          "type": "object",
          "properties": {
            "Unstructured": {
              "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.",
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            "Reference": {
              "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        },
        "DebtorInformation": {
          "description": "Information supplied to be used by the end user",
          "title": "DebtorInformation",
          "type": "string"
        },
        "BlockFunds": {
          "description": "Determines if the transfer amount will be blocked until the transfer execution. The value must always be false in the case of AlphaBank Cyprus.",
          "title": "BlockFunds",
          "type": "boolean"
        },
        "BoPCode": {
          "description": "Balance of Payment (BoP) code",
          "type": "string",
          "enum": [
            "DirectInvestments",
            "SecuritiesInvestment",
            "Loans",
            "Deposits",
            "TravelServices",
            "MailAndTelecommunications",
            "TransportServices",
            "EntertainementServicesAndCulture",
            "Insurance",
            "DividentsAndCapitalGains",
            "RentsForResidentsAbroad",
            "Scholarships",
            "CreditCards"
          ]
        },
        "CreditorAddress": {
          "description": "Address information corresponding to the Creditor account (this information is required for Alpha Bank Greece)",
          "title": "CreditorAddress",
          "type": "string"
        },
        "DebtorPhone": {
          "description": "Contact phone (this information is required for Alpha Bank Greece)",
          "title": "DebtorPhone",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "MassTransferItem": {
      "type": "object",
      "required": [
        "InstructionIdentification",
        "EndToEndIdentification",
        "InstructedAmount",
        "CreditorAccount",
        "BoPCode",
        "CreditorAddress",
        "DebtorPhone"
      ],
      "properties": {
        "TransferItemId": {
          "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "Sequence": {
          "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
          "type": "integer"
        },
        "InstructionIdentification": {
          "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "EndToEndIdentification": {
          "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "InstructedAmount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "DebtorAccount": {
          "description": "IBAN of the debtor account.",
          "title": "DebtorAccount",
          "type": "string"
        },
        "CreditorAccount": {
          "description": "Creditor account identification",
          "title": "International Creditor Account",
          "type": "object",
          "required": [
            "AccountCode",
            "OwnerName",
            "SchemeName"
          ],
          "properties": {
            "AccountCode": {
              "description": "Identification assigned by an institution to identify the account",
              "title": "AccountCode",
              "type": "string"
            },
            "OwnerName": {
              "description": "The Name of the owner as known by the account institution",
              "title": "OwnerName",
              "type": "string"
            },
            "SchemeName": {
              "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
              "title": "SchemeName",
              "type": "string",
              "enum": [
                "IBAN",
                "BBAN"
              ]
            },
            "BICCode": {
              "description": "The BIC Code that identifies the creditor account's institution",
              "title": "BICCode",
              "type": "string",
              "minLength": 8,
              "maxLength": 11
            }
          }
        },
        "RemittanceInformation": {
          "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
          "title": "RemittanceInformation",
          "type": "object",
          "properties": {
            "Unstructured": {
              "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.",
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            "Reference": {
              "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        },
        "DebtorInformation": {
          "description": "Information supplied to be used by the end user",
          "title": "DebtorInformation",
          "type": "string"
        },
        "BlockFunds": {
          "description": "Determines if the transfer amount will be blocked until the transfer execution",
          "title": "BlockFunds",
          "type": "boolean"
        },
        "ValueDate": {
          "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
          "type": "string",
          "format": "date-time"
        },
        "TransferType": {
          "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
          "type": "string",
          "enum": [
            "Simple",
            "IRIS"
          ]
        },
        "OurShare": {
          "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
          "title": "OurShare",
          "type": "string",
          "enum": [
            "OUR",
            "SHA"
          ]
        },
        "BoPCode": {
          "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
          "type": "string",
          "enum": [
            "DirectInvestments",
            "SecuritiesInvestment",
            "Loans",
            "Deposits",
            "TravelServices",
            "MailAndTelecommunications",
            "TransportServices",
            "EntertainementServicesAndCulture",
            "Insurance",
            "DividentsAndCapitalGains",
            "RentsForResidentsAbroad",
            "Scholarships",
            "CreditCards"
          ]
        },
        "CreditorAddress": {
          "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
          "title": "CreditorAddress",
          "type": "string"
        },
        "DebtorPhone": {
          "description": "Contact phone (Applicable for International Transfers only)",
          "title": "DebtorPhone",
          "type": "string"
        },
        "CreatedAt": {
          "description": "Date and time at which the resource was created in ISO 8601 format.",
          "type": "string",
          "format": "date-time"
        },
        "Status": {
          "description": "Specifies the status of the transfer resource.",
          "title": "TransferStatus",
          "type": "string",
          "enum": [
            "Accepted",
            "Rejected",
            "Authorised",
            "Revoked"
          ]
        },
        "Risk": {
          "description": "Risk assessment related information",
          "title": "Risk",
          "type": "object",
          "properties": {
            "PaymentContextCode": {
              "description": "Specifies the payment context",
              "title": "PaymentContextCode",
              "type": "string",
              "enum": [
                "BillPayment",
                "EcommerceGoods",
                "EcommerceServices",
                "Other",
                "PersonToPerson"
              ]
            },
            "MerchantCategoryCode": {
              "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
              "type": "string",
              "minLength": 3,
              "maxLength": 4
            },
            "MerchantCustomerIdentification": {
              "description": "The unique customer identifier of the PSU with the merchant.",
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "DeliveryAddress": {
              "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
              "type": "object",
              "properties": {
                "AddressLine": {
                  "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                  "type": "array",
                  "items": {
                    "description": "maxLength 70 text",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "minItems": 0,
                  "maxItems": 2
                },
                "StreetName": {
                  "description": "Name of a street or thoroughfare",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 70
                },
                "BuildingNumber": {
                  "description": "Number that identifies the position of a building on a street.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 16
                },
                "PostCode": {
                  "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 16
                },
                "TownName": {
                  "description": "Name of a built-up area, with defined boundaries, and a local government.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 35
                },
                "CountrySubDivision": {
                  "description": "Identifies a subdivision of a country, for instance state, region, county.",
                  "type": "array",
                  "items": {
                    "description": "maxLength 35 text",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "minItems": 0,
                  "maxItems": 2
                },
                "Country": {
                  "description": "Nation with its own government, occupying a particular territory.",
                  "type": "string",
                  "pattern": "^[A-Z]{2,2}$"
                }
              },
              "required": [
                "TownName",
                "Country"
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "MassTransferList": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "InstructionIdentification",
          "EndToEndIdentification",
          "InstructedAmount",
          "CreditorAccount",
          "BoPCode",
          "CreditorAddress",
          "DebtorPhone"
        ],
        "properties": {
          "TransferItemId": {
            "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "Sequence": {
            "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
            "type": "integer"
          },
          "InstructionIdentification": {
            "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
            "type": "string",
            "minLength": 1,
            "maxLength": 35
          },
          "EndToEndIdentification": {
            "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
            "type": "string",
            "minLength": 1,
            "maxLength": 35
          },
          "InstructedAmount": {
            "type": "object",
            "description": "Amount of money",
            "required": [
              "Value",
              "Currency"
            ],
            "properties": {
              "Value": {
                "type": "number"
              },
              "Currency": {
                "description": "ISO 4217 currency code",
                "type": "string",
                "pattern": "^[A-Z]{3,3}$"
              }
            },
            "additionalProperties": false
          },
          "DebtorAccount": {
            "description": "IBAN of the debtor account.",
            "title": "DebtorAccount",
            "type": "string"
          },
          "CreditorAccount": {
            "description": "Creditor account identification",
            "title": "International Creditor Account",
            "type": "object",
            "required": [
              "AccountCode",
              "OwnerName",
              "SchemeName"
            ],
            "properties": {
              "AccountCode": {
                "description": "Identification assigned by an institution to identify the account",
                "title": "AccountCode",
                "type": "string"
              },
              "OwnerName": {
                "description": "The Name of the owner as known by the account institution",
                "title": "OwnerName",
                "type": "string"
              },
              "SchemeName": {
                "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                "title": "SchemeName",
                "type": "string",
                "enum": [
                  "IBAN",
                  "BBAN"
                ]
              },
              "BICCode": {
                "description": "The BIC Code that identifies the creditor account's institution",
                "title": "BICCode",
                "type": "string",
                "minLength": 8,
                "maxLength": 11
              }
            }
          },
          "RemittanceInformation": {
            "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
            "title": "RemittanceInformation",
            "type": "object",
            "properties": {
              "Unstructured": {
                "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.",
                "type": "string",
                "minLength": 1,
                "maxLength": 140
              },
              "Reference": {
                "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              }
            },
            "additionalProperties": false
          },
          "DebtorInformation": {
            "description": "Information supplied to be used by the end user",
            "title": "DebtorInformation",
            "type": "string"
          },
          "BlockFunds": {
            "description": "Determines if the transfer amount will be blocked until the transfer execution",
            "title": "BlockFunds",
            "type": "boolean"
          },
          "ValueDate": {
            "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
            "type": "string",
            "format": "date-time"
          },
          "TransferType": {
            "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
            "type": "string",
            "enum": [
              "Simple",
              "IRIS"
            ]
          },
          "OurShare": {
            "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
            "title": "OurShare",
            "type": "string",
            "enum": [
              "OUR",
              "SHA"
            ]
          },
          "BoPCode": {
            "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
            "type": "string",
            "enum": [
              "DirectInvestments",
              "SecuritiesInvestment",
              "Loans",
              "Deposits",
              "TravelServices",
              "MailAndTelecommunications",
              "TransportServices",
              "EntertainementServicesAndCulture",
              "Insurance",
              "DividentsAndCapitalGains",
              "RentsForResidentsAbroad",
              "Scholarships",
              "CreditCards"
            ]
          },
          "CreditorAddress": {
            "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
            "title": "CreditorAddress",
            "type": "string"
          },
          "DebtorPhone": {
            "description": "Contact phone (Applicable for International Transfers only)",
            "title": "DebtorPhone",
            "type": "string"
          },
          "CreatedAt": {
            "description": "Date and time at which the resource was created in ISO 8601 format.",
            "type": "string",
            "format": "date-time"
          },
          "Status": {
            "description": "Specifies the status of the transfer resource.",
            "title": "TransferStatus",
            "type": "string",
            "enum": [
              "Accepted",
              "Rejected",
              "Authorised",
              "Revoked"
            ]
          },
          "Risk": {
            "description": "Risk assessment related information",
            "title": "Risk",
            "type": "object",
            "properties": {
              "PaymentContextCode": {
                "description": "Specifies the payment context",
                "title": "PaymentContextCode",
                "type": "string",
                "enum": [
                  "BillPayment",
                  "EcommerceGoods",
                  "EcommerceServices",
                  "Other",
                  "PersonToPerson"
                ]
              },
              "MerchantCategoryCode": {
                "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                "type": "string",
                "minLength": 3,
                "maxLength": 4
              },
              "MerchantCustomerIdentification": {
                "description": "The unique customer identifier of the PSU with the merchant.",
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "DeliveryAddress": {
                "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                "type": "object",
                "properties": {
                  "AddressLine": {
                    "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                    "type": "array",
                    "items": {
                      "description": "maxLength 70 text",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "minItems": 0,
                    "maxItems": 2
                  },
                  "StreetName": {
                    "description": "Name of a street or thoroughfare",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "BuildingNumber": {
                    "description": "Number that identifies the position of a building on a street.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "PostCode": {
                    "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "TownName": {
                    "description": "Name of a built-up area, with defined boundaries, and a local government.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "CountrySubDivision": {
                    "description": "Identifies a subdivision of a country, for instance state, region, county.",
                    "type": "array",
                    "items": {
                      "description": "maxLength 35 text",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "minItems": 0,
                    "maxItems": 2
                  },
                  "Country": {
                    "description": "Nation with its own government, occupying a particular territory.",
                    "type": "string",
                    "pattern": "^[A-Z]{2,2}$"
                  }
                },
                "required": [
                  "TownName",
                  "Country"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "additionalProperties": false
    },
    "ValidatedMassTransferItem": {
      "type": "object",
      "required": [
        "Instance",
        "HasError"
      ],
      "properties": {
        "ErrorDesc": {
          "description": "Validation rule violation description of the mass transfer item",
          "title": "ErrorDescription",
          "type": "string"
        },
        "HasError": {
          "description": "Validation Result of specific mass transfer item",
          "title": "HasError",
          "type": "boolean"
        },
        "Instance": {
          "type": "object",
          "required": [
            "InstructionIdentification",
            "EndToEndIdentification",
            "InstructedAmount",
            "CreditorAccount",
            "BoPCode",
            "CreditorAddress",
            "DebtorPhone"
          ],
          "properties": {
            "TransferItemId": {
              "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "Sequence": {
              "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
              "type": "integer"
            },
            "InstructionIdentification": {
              "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "EndToEndIdentification": {
              "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "InstructedAmount": {
              "type": "object",
              "description": "Amount of money",
              "required": [
                "Value",
                "Currency"
              ],
              "properties": {
                "Value": {
                  "type": "number"
                },
                "Currency": {
                  "description": "ISO 4217 currency code",
                  "type": "string",
                  "pattern": "^[A-Z]{3,3}$"
                }
              },
              "additionalProperties": false
            },
            "DebtorAccount": {
              "description": "IBAN of the debtor account.",
              "title": "DebtorAccount",
              "type": "string"
            },
            "CreditorAccount": {
              "description": "Creditor account identification",
              "title": "International Creditor Account",
              "type": "object",
              "required": [
                "AccountCode",
                "OwnerName",
                "SchemeName"
              ],
              "properties": {
                "AccountCode": {
                  "description": "Identification assigned by an institution to identify the account",
                  "title": "AccountCode",
                  "type": "string"
                },
                "OwnerName": {
                  "description": "The Name of the owner as known by the account institution",
                  "title": "OwnerName",
                  "type": "string"
                },
                "SchemeName": {
                  "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                  "title": "SchemeName",
                  "type": "string",
                  "enum": [
                    "IBAN",
                    "BBAN"
                  ]
                },
                "BICCode": {
                  "description": "The BIC Code that identifies the creditor account's institution",
                  "title": "BICCode",
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 11
                }
              }
            },
            "RemittanceInformation": {
              "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
              "title": "RemittanceInformation",
              "type": "object",
              "properties": {
                "Unstructured": {
                  "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.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 140
                },
                "Reference": {
                  "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 35
                }
              },
              "additionalProperties": false
            },
            "DebtorInformation": {
              "description": "Information supplied to be used by the end user",
              "title": "DebtorInformation",
              "type": "string"
            },
            "BlockFunds": {
              "description": "Determines if the transfer amount will be blocked until the transfer execution",
              "title": "BlockFunds",
              "type": "boolean"
            },
            "ValueDate": {
              "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
              "type": "string",
              "format": "date-time"
            },
            "TransferType": {
              "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
              "type": "string",
              "enum": [
                "Simple",
                "IRIS"
              ]
            },
            "OurShare": {
              "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
              "title": "OurShare",
              "type": "string",
              "enum": [
                "OUR",
                "SHA"
              ]
            },
            "BoPCode": {
              "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
              "type": "string",
              "enum": [
                "DirectInvestments",
                "SecuritiesInvestment",
                "Loans",
                "Deposits",
                "TravelServices",
                "MailAndTelecommunications",
                "TransportServices",
                "EntertainementServicesAndCulture",
                "Insurance",
                "DividentsAndCapitalGains",
                "RentsForResidentsAbroad",
                "Scholarships",
                "CreditCards"
              ]
            },
            "CreditorAddress": {
              "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
              "title": "CreditorAddress",
              "type": "string"
            },
            "DebtorPhone": {
              "description": "Contact phone (Applicable for International Transfers only)",
              "title": "DebtorPhone",
              "type": "string"
            },
            "CreatedAt": {
              "description": "Date and time at which the resource was created in ISO 8601 format.",
              "type": "string",
              "format": "date-time"
            },
            "Status": {
              "description": "Specifies the status of the transfer resource.",
              "title": "TransferStatus",
              "type": "string",
              "enum": [
                "Accepted",
                "Rejected",
                "Authorised",
                "Revoked"
              ]
            },
            "Risk": {
              "description": "Risk assessment related information",
              "title": "Risk",
              "type": "object",
              "properties": {
                "PaymentContextCode": {
                  "description": "Specifies the payment context",
                  "title": "PaymentContextCode",
                  "type": "string",
                  "enum": [
                    "BillPayment",
                    "EcommerceGoods",
                    "EcommerceServices",
                    "Other",
                    "PersonToPerson"
                  ]
                },
                "MerchantCategoryCode": {
                  "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 4
                },
                "MerchantCustomerIdentification": {
                  "description": "The unique customer identifier of the PSU with the merchant.",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 70
                },
                "DeliveryAddress": {
                  "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                  "type": "object",
                  "properties": {
                    "AddressLine": {
                      "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                      "type": "array",
                      "items": {
                        "description": "maxLength 70 text",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                      },
                      "minItems": 0,
                      "maxItems": 2
                    },
                    "StreetName": {
                      "description": "Name of a street or thoroughfare",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "BuildingNumber": {
                      "description": "Number that identifies the position of a building on a street.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 16
                    },
                    "PostCode": {
                      "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 16
                    },
                    "TownName": {
                      "description": "Name of a built-up area, with defined boundaries, and a local government.",
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    },
                    "CountrySubDivision": {
                      "description": "Identifies a subdivision of a country, for instance state, region, county.",
                      "type": "array",
                      "items": {
                        "description": "maxLength 35 text",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "minItems": 0,
                      "maxItems": 2
                    },
                    "Country": {
                      "description": "Nation with its own government, occupying a particular territory.",
                      "type": "string",
                      "pattern": "^[A-Z]{2,2}$"
                    }
                  },
                  "required": [
                    "TownName",
                    "Country"
                  ]
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      }
    },
    "ValidatedMassTransferList": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "Instance",
          "HasError"
        ],
        "properties": {
          "ErrorDesc": {
            "description": "Validation rule violation description of the mass transfer item",
            "title": "ErrorDescription",
            "type": "string"
          },
          "HasError": {
            "description": "Validation Result of specific mass transfer item",
            "title": "HasError",
            "type": "boolean"
          },
          "Instance": {
            "type": "object",
            "required": [
              "InstructionIdentification",
              "EndToEndIdentification",
              "InstructedAmount",
              "CreditorAccount",
              "BoPCode",
              "CreditorAddress",
              "DebtorPhone"
            ],
            "properties": {
              "TransferItemId": {
                "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "Sequence": {
                "description": "Optional value used to assign the sequence of the object within a mass transfer list.",
                "type": "integer"
              },
              "InstructionIdentification": {
                "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "EndToEndIdentification": {
                "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "InstructedAmount": {
                "type": "object",
                "description": "Amount of money",
                "required": [
                  "Value",
                  "Currency"
                ],
                "properties": {
                  "Value": {
                    "type": "number"
                  },
                  "Currency": {
                    "description": "ISO 4217 currency code",
                    "type": "string",
                    "pattern": "^[A-Z]{3,3}$"
                  }
                },
                "additionalProperties": false
              },
              "DebtorAccount": {
                "description": "IBAN of the debtor account.",
                "title": "DebtorAccount",
                "type": "string"
              },
              "CreditorAccount": {
                "description": "Creditor account identification",
                "title": "International Creditor Account",
                "type": "object",
                "required": [
                  "AccountCode",
                  "OwnerName",
                  "SchemeName"
                ],
                "properties": {
                  "AccountCode": {
                    "description": "Identification assigned by an institution to identify the account",
                    "title": "AccountCode",
                    "type": "string"
                  },
                  "OwnerName": {
                    "description": "The Name of the owner as known by the account institution",
                    "title": "OwnerName",
                    "type": "string"
                  },
                  "SchemeName": {
                    "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
                    "title": "SchemeName",
                    "type": "string",
                    "enum": [
                      "IBAN",
                      "BBAN"
                    ]
                  },
                  "BICCode": {
                    "description": "The BIC Code that identifies the creditor account's institution",
                    "title": "BICCode",
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 11
                  }
                }
              },
              "RemittanceInformation": {
                "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
                "title": "RemittanceInformation",
                "type": "object",
                "properties": {
                  "Unstructured": {
                    "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.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 140
                  },
                  "Reference": {
                    "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  }
                },
                "additionalProperties": false
              },
              "DebtorInformation": {
                "description": "Information supplied to be used by the end user",
                "title": "DebtorInformation",
                "type": "string"
              },
              "BlockFunds": {
                "description": "Determines if the transfer amount will be blocked until the transfer execution",
                "title": "BlockFunds",
                "type": "boolean"
              },
              "ValueDate": {
                "description": "The Value date of the transfer - the date the transfer will be scheduled to be executed (in ISO 8601 format).",
                "type": "string",
                "format": "date-time"
              },
              "TransferType": {
                "description": "defines the type of the transfer (IRIS ot not) (Applicable for Domestic Transfers only)",
                "type": "string",
                "enum": [
                  "Simple",
                  "IRIS"
                ]
              },
              "OurShare": {
                "description": "Share \"mode\". (Applicable for Domestic Transfers only)",
                "title": "OurShare",
                "type": "string",
                "enum": [
                  "OUR",
                  "SHA"
                ]
              },
              "BoPCode": {
                "description": "Balance of Payment (BoP) code (Applicable for International Transfers only)",
                "type": "string",
                "enum": [
                  "DirectInvestments",
                  "SecuritiesInvestment",
                  "Loans",
                  "Deposits",
                  "TravelServices",
                  "MailAndTelecommunications",
                  "TransportServices",
                  "EntertainementServicesAndCulture",
                  "Insurance",
                  "DividentsAndCapitalGains",
                  "RentsForResidentsAbroad",
                  "Scholarships",
                  "CreditCards"
                ]
              },
              "CreditorAddress": {
                "description": "Address information corresponding to the Creditor account (Applicable for International Transfers only)",
                "title": "CreditorAddress",
                "type": "string"
              },
              "DebtorPhone": {
                "description": "Contact phone (Applicable for International Transfers only)",
                "title": "DebtorPhone",
                "type": "string"
              },
              "CreatedAt": {
                "description": "Date and time at which the resource was created in ISO 8601 format.",
                "type": "string",
                "format": "date-time"
              },
              "Status": {
                "description": "Specifies the status of the transfer resource.",
                "title": "TransferStatus",
                "type": "string",
                "enum": [
                  "Accepted",
                  "Rejected",
                  "Authorised",
                  "Revoked"
                ]
              },
              "Risk": {
                "description": "Risk assessment related information",
                "title": "Risk",
                "type": "object",
                "properties": {
                  "PaymentContextCode": {
                    "description": "Specifies the payment context",
                    "title": "PaymentContextCode",
                    "type": "string",
                    "enum": [
                      "BillPayment",
                      "EcommerceGoods",
                      "EcommerceServices",
                      "Other",
                      "PersonToPerson"
                    ]
                  },
                  "MerchantCategoryCode": {
                    "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 4
                  },
                  "MerchantCustomerIdentification": {
                    "description": "The unique customer identifier of the PSU with the merchant.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "DeliveryAddress": {
                    "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
                    "type": "object",
                    "properties": {
                      "AddressLine": {
                        "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
                        "type": "array",
                        "items": {
                          "description": "maxLength 70 text",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 70
                        },
                        "minItems": 0,
                        "maxItems": 2
                      },
                      "StreetName": {
                        "description": "Name of a street or thoroughfare",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                      },
                      "BuildingNumber": {
                        "description": "Number that identifies the position of a building on a street.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                      },
                      "PostCode": {
                        "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                      },
                      "TownName": {
                        "description": "Name of a built-up area, with defined boundaries, and a local government.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                      },
                      "CountrySubDivision": {
                        "description": "Identifies a subdivision of a country, for instance state, region, county.",
                        "type": "array",
                        "items": {
                          "description": "maxLength 35 text",
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 35
                        },
                        "minItems": 0,
                        "maxItems": 2
                      },
                      "Country": {
                        "description": "Nation with its own government, occupying a particular territory.",
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                      }
                    },
                    "required": [
                      "TownName",
                      "Country"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        }
      }
    },
    "MassTransferSubmissionTransferItem": {
      "type": "object",
      "required": [
        "TransferItemId",
        "Status"
      ],
      "properties": {
        "TransferItemId": {
          "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "Status": {
          "description": "Specifies the status of the mass transfer item submission.",
          "title": "MassTransferItemSubmissionStatus",
          "type": "string",
          "enum": [
            "Unknown",
            "Pending",
            "Succeded",
            "Failed",
            "Canceled"
          ]
        }
      }
    },
    "MassTransferSubmissionTransferList": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "TransferItemId",
          "Status"
        ],
        "properties": {
          "TransferItemId": {
            "description": "Unique identification as assigned to uniquely identify a specific transfer item of a mass transfer",
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "Status": {
            "description": "Specifies the status of the mass transfer item submission.",
            "title": "MassTransferItemSubmissionStatus",
            "type": "string",
            "enum": [
              "Unknown",
              "Pending",
              "Succeded",
              "Failed",
              "Canceled"
            ]
          }
        }
      }
    },
    "DebtorAccount": {
      "description": "DebtorAccount for the Funds confirmation consent provided",
      "title": "DebtorAccount",
      "type": "object",
      "properties": {
        "SchemeName": {
          "description": "Name of the identification scheme, in a coded form as published in an external list.",
          "title": "SchemeName",
          "type": "string",
          "enum": [
            "NA",
            "Account",
            "Card"
          ]
        },
        "Identification": {
          "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
          "type": "string",
          "minLength": 1,
          "maxLength": 34
        },
        "Name": {
          "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usable only for intra-bank payments.",
          "type": "string",
          "minLength": 1,
          "maxLength": 70
        },
        "SecondaryIdentification": {
          "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.",
          "type": "string",
          "minLength": 1,
          "maxLength": 34
        }
      },
      "additionalProperties": false
    },
    "StandingOrderInitiation": {
      "type": "object",
      "description": "The Initiation payload is sent by the initiating party. It is used to request a recurring movement of funds from the debtor account to a creditor.",
      "required": [
        "Name",
        "Amount",
        "DateStart",
        "DateStop",
        "ExecutionPlan",
        "CreditorAccount",
        "CreditorReason",
        "RemittanceInformation"
      ],
      "properties": {
        "Name": {
          "description": "a subscriber defined descriptive name for the standing order",
          "type": "string"
        },
        "Amount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "DateStart": {
          "description": "the date from the standing order is active (in ISO 8601 format)",
          "type": "string"
        },
        "DateStop": {
          "description": "the date until the standing order is active (in ISO 8601 format)",
          "type": "string"
        },
        "ExecutionPlan": {
          "description": "the definition of the periodicity of the standing order",
          "type": "object",
          "properties": {
            "ExecutionMonthlyFrequency": {
              "description": "every how many months the standing order is executed",
              "type": "integer"
            },
            "ExecutionMonthDay": {
              "description": "the day of the month the standing order is executed",
              "type": "integer"
            }
          }
        },
        "DebtorAccount": {
          "description": "The IBAN representation of the order's initiator's account, from which the money will be deducted",
          "type": "string"
        },
        "CreditorAccount": {
          "description": "The IBAN representation of the account to receive the order's amount",
          "type": "string"
        },
        "CreditorReason": {
          "description": "descriptive text used for the creditor to identify the relative transactions",
          "type": "string"
        },
        "RemittanceInformation": {
          "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
          "title": "RemittanceInformation",
          "type": "object",
          "properties": {
            "Unstructured": {
              "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.",
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            "Reference": {
              "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        }
      }
    },
    "Risk": {
      "description": "Risk assessment related information",
      "title": "Risk",
      "type": "object",
      "properties": {
        "PaymentContextCode": {
          "description": "Specifies the payment context",
          "title": "PaymentContextCode",
          "type": "string",
          "enum": [
            "BillPayment",
            "EcommerceGoods",
            "EcommerceServices",
            "Other",
            "PersonToPerson"
          ]
        },
        "MerchantCategoryCode": {
          "description": "Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction",
          "type": "string",
          "minLength": 3,
          "maxLength": 4
        },
        "MerchantCustomerIdentification": {
          "description": "The unique customer identifier of the PSU with the merchant.",
          "type": "string",
          "minLength": 1,
          "maxLength": 70
        },
        "DeliveryAddress": {
          "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.",
          "type": "object",
          "properties": {
            "AddressLine": {
              "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.",
              "type": "array",
              "items": {
                "description": "maxLength 70 text",
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "minItems": 0,
              "maxItems": 2
            },
            "StreetName": {
              "description": "Name of a street or thoroughfare",
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "BuildingNumber": {
              "description": "Number that identifies the position of a building on a street.",
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "PostCode": {
              "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail",
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "TownName": {
              "description": "Name of a built-up area, with defined boundaries, and a local government.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "CountrySubDivision": {
              "description": "Identifies a subdivision of a country, for instance state, region, county.",
              "type": "array",
              "items": {
                "description": "maxLength 35 text",
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "minItems": 0,
              "maxItems": 2
            },
            "Country": {
              "description": "Nation with its own government, occupying a particular territory.",
              "type": "string",
              "pattern": "^[A-Z]{2,2}$"
            }
          },
          "required": [
            "TownName",
            "Country"
          ]
        }
      },
      "additionalProperties": false
    },
    "TransferInfo": {
      "type": "object",
      "required": [
        "InstructedAmount",
        "DebtorAccount",
        "CreditorAccount"
      ],
      "properties": {
        "DateSubmitted": {
          "type": "string",
          "format": "date-time"
        },
        "TransferScope": {
          "description": "defines the type of the transfer by the means of participating institutions",
          "type": "string",
          "enum": [
            "LOCAL",
            "NATIONAL",
            "INTERNATIONAL"
          ]
        },
        "OurShare": {
          "description": "Share \"mode\".",
          "title": "OurShare",
          "type": "string",
          "enum": [
            "OUR",
            "SHA",
            "BEN"
          ]
        },
        "Status": {
          "description": "the status of the transfer",
          "type": "string",
          "enum": [
            "Unknown",
            "Pending",
            "Succeeded",
            "Failed",
            "Canceled"
          ]
        },
        "BookingDateTime": {
          "description": "Date and time (ISO8601) when a transaction entry is posted to an account on the account servicer's books (time information is not supported by Alpha Bank Cyprus). ",
          "type": "string",
          "format": "date-time"
        },
        "ValueDateTime": {
          "description": "Date and time (ISO8601) at which assets become available to the account owner in case of a credit entry,  or cease to be available to the account owner in case of a debit entry (time information is not supported by Alpha Bank Cyprus). ",
          "type": "string",
          "format": "date-time"
        },
        "InstructionIdentification": {
          "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the  instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (ISO 20022)",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "EndToEndIdentification": {
          "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. (ISO 20022) ",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "InstructedAmount": {
          "type": "object",
          "description": "Amount of money",
          "required": [
            "Value",
            "Currency"
          ],
          "properties": {
            "Value": {
              "type": "number"
            },
            "Currency": {
              "description": "ISO 4217 currency code",
              "type": "string",
              "pattern": "^[A-Z]{3,3}$"
            }
          },
          "additionalProperties": false
        },
        "DebtorAccount": {
          "description": "IBAN of the debtor account.",
          "title": "DebtorAccount",
          "type": "string"
        },
        "CreditorAccount": {
          "description": "Creditor account identification",
          "title": "International Creditor Account",
          "type": "object",
          "required": [
            "AccountCode",
            "OwnerName",
            "SchemeName"
          ],
          "properties": {
            "AccountCode": {
              "description": "Identification assigned by an institution to identify the account",
              "title": "AccountCode",
              "type": "string"
            },
            "OwnerName": {
              "description": "The Name of the owner as known by the account institution",
              "title": "OwnerName",
              "type": "string"
            },
            "SchemeName": {
              "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
              "title": "SchemeName",
              "type": "string",
              "enum": [
                "IBAN",
                "BBAN"
              ]
            },
            "BICCode": {
              "description": "The BIC Code that identifies the creditor account's institution",
              "title": "BICCode",
              "type": "string",
              "minLength": 8,
              "maxLength": 11
            }
          }
        },
        "IntermediaryBankBIC": {
          "description": "The BIC code of the Intermediary Bank (supported only by Alpha Bank Cyprus).",
          "title": "IntermediaryBankBIC",
          "type": "string"
        },
        "DebtorInformation": {
          "description": "Information supplied to be used by the end user",
          "title": "DebtorInformation",
          "type": "string"
        },
        "RemittanceInformation": {
          "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
          "title": "RemittanceInformation",
          "type": "object",
          "properties": {
            "Unstructured": {
              "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.",
              "type": "string",
              "minLength": 1,
              "maxLength": 140
            },
            "Reference": {
              "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "CreditorAccountInternational": {
      "description": "Creditor account identification",
      "title": "International Creditor Account",
      "type": "object",
      "required": [
        "AccountCode",
        "OwnerName",
        "SchemeName"
      ],
      "properties": {
        "AccountCode": {
          "description": "Identification assigned by an institution to identify the account",
          "title": "AccountCode",
          "type": "string"
        },
        "OwnerName": {
          "description": "The Name of the owner as known by the account institution",
          "title": "OwnerName",
          "type": "string"
        },
        "SchemeName": {
          "description": "Name of the identification scheme, in a coded form, describing the AccountCode format",
          "title": "SchemeName",
          "type": "string",
          "enum": [
            "IBAN",
            "BBAN"
          ]
        },
        "BICCode": {
          "description": "The BIC Code that identifies the creditor account's institution",
          "title": "BICCode",
          "type": "string",
          "minLength": 8,
          "maxLength": 11
        }
      }
    },
    "RemittanceInfo": {
      "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.",
      "title": "RemittanceInformation",
      "type": "object",
      "properties": {
        "Unstructured": {
          "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.",
          "type": "string",
          "minLength": 1,
          "maxLength": 140
        },
        "Reference": {
          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction (It is supported only by Alpha Bank Greece). Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification,  and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance  identification should be quoted in the end-to-end transaction identification.",
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        }
      },
      "additionalProperties": false
    }
  },
  "securityDefinitions": {
    "PSUSec": {
      "type": "oauth2",
      "flow": "accessCode",
      "tokenUrl": "https://gw.api.alphabank.eu/sandbox/auth/token",
      "authorizationUrl": "https://gw.api.alphabank.eu/sandbox/auth/authorize",
      "scopes": {
        "account-info": "Account Request scope",
        "transfer": "Payment/Transfer execution scope",
        "transfer-info": "Payment/Transfer submission information scope",
        "transfer-delete": "Payment/Transfer deletion information scope",
        "mass-transfer": "Mass Transfer execution scope",
        "mass-transfer-delete": "Mass Transfer deletion information scope",
        "stand-order": "Standing Order Submission scope",
        "stand-order-delete": "Order Submission deletion scope",
        "funds-confirm": "Funds Confirmation scope"
      },
      "description": "OAuth2 flow, it is required when the PSU needs to perform authentication with the Alpha BANK when a TPP wants to access an Alpha BANK resource owned by the PSU"
    },
    "TPPSec": {
      "type": "oauth2",
      "flow": "application",
      "tokenUrl": "https://gw.api.alphabank.eu/sandbox/auth/token",
      "scopes": {
        "account-info-setup": "permission to create an account request intent object",
        "transfer-setup": "permission to create a payment/transfer request intent object",
        "stand-order-setup": "permission to create a standing order request intent object",
        "mass-transfer-setup": "permission to create a mass transfer request intent object",
        "open-data": "permission to access Open Bank Data",
        "funds-confirm-setup": "permission to create a funds confirmation request intent object"
      },
      "description": "TPP client credential authorisation flow for intent object"
    }
  }
}