Groupe BPCE · Schema

HalPaymentRequest

HYPERMEDIA structure used for returning the original Payment Request to the PISP

CompanyBankingFinancial ServicesOpen BankingPSD2PaymentsInsuranceFrance

Properties

Name Type Description
paymentRequest object
_links object
View JSON Schema on GitHub

JSON Schema

groupe-bpce-hal-payment-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/groupe-bpce/main/json-schema/groupe-bpce-hal-payment-request-schema.json",
  "title": "HalPaymentRequest",
  "description": "HYPERMEDIA structure used for returning the original Payment Request to the PISP",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/groupe-bpce-psd2-payments-openapi.yml#/components/schemas/HalPaymentRequest",
  "type": "object",
  "properties": {
    "paymentRequest": {
      "$ref": "#/$defs/PaymentRequestResource"
    },
    "_links": {
      "$ref": "#/$defs/PaymentRequestLinks"
    }
  },
  "required": [
    "paymentRequest",
    "_links"
  ],
  "$defs": {
    "AccountIdentification": {
      "description": "Unique and unambiguous identification for the account between the account owner and the account servicer.\nCard accounts must provide the identification of the card through the \"other\" substructure by giving, for instance, the masked PAN (MPAN).\nThe currency used for the account, when needed, can be specified through the [currency] field.\n",
      "type": "object",
      "properties": {
        "workspace": {
          "description": "Workspace to which the account is linked.\nThis workspace might be specified by the AISP when forwarding the consent on accounts.\nIf not provided, the default workspace is computed from the authentication that was used for getting the OAuth2 Access Token.\n",
          "type": "string",
          "maxLength": 32
        },
        "iban": {
          "description": "ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.\n\nFurther specifications of the format and content of the IBAN can be found in the standard ISO 13616 \"Banking and related financial services - International Bank Account Number (IBAN)\" version 1997-10-01, or later revisions.\n",
          "type": "string",
          "pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
        },
        "other": {
          "$ref": "#/$defs/GenericIdentification"
        },
        "currency": {
          "$ref": "#/$defs/CurrencyCode"
        }
      }
    },
    "AmountType": {
      "description": "Structure aiming to embed the amount and the currency to be used.\n",
      "type": "object",
      "properties": {
        "amount": {
          "description": "ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\n",
          "type": "number",
          "format": "float",
          "pattern": "^\\-{0,1}[0-9]{1,13}(\\.[0-9]{0,5}){0,1}$"
        },
        "currency": {
          "$ref": "#/$defs/CurrencyCode"
        }
      },
      "required": [
        "amount",
        "currency"
      ]
    },
    "AuthenticationApproach": {
      "description": "Authentication approaches that can be applied.\nREDIRECT: the PSU is redirected by the TPP to the ASPSP which processes identification and authentication\nDECOUPLED: the TPP identifies the PSU and forwards the identification to the ASPSP which processes the authentication through a decoupled device\nNONE: there is no need for the PSU to authenticate\n",
      "type": "string",
      "enum": [
        "REDIRECT",
        "DECOUPLED",
        "EMBEDDED-1-FACTOR",
        "NONE"
      ]
    },
    "AuthenticationApproaches": {
      "description": "List of authentication approaches",
      "type": "array",
      "items": {
        "$ref": "#/$defs/AuthenticationApproach"
      }
    },
    "BatchBookingIndicator": {
      "description": "Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a message is requested.\nMeaning When True: Identifies that a batch entry for the sum of the amounts of all transactions in the batch or message is requested.\nMeaning When False: Identifies that a single entry for each of the transactions in the batch or message is requested.\nDefault value: each ASPSP must be able to specify its own default value.\n",
      "type": "boolean"
    },
    "Beneficiary": {
      "description": "Specification of a beneficiary",
      "type": "object",
      "properties": {
        "workspace": {
          "$ref": "#/$defs/Workspace"
        },
        "id": {
          "description": "Id of the beneficiary",
          "type": "string",
          "pattern": "^([a-zA-Z0-9 /\\-?:\\()\\.,']{1,36})$"
        },
        "isTrusted": {
          "description": "The ASPSP having not implemented the trusted beneficiaries list must not set this flag.\nOtherwise, the ASPSP indicates whether or not the beneficiary was registered by the PSU within the trusted beneficiaries list.\n- true: the beneficiary is actually a trusted beneficiary\n- false: the beneficiary is not a trusted beneficiary\n",
          "type": "boolean",
          "readOnly": true
        },
        "creditorAgent": {
          "$ref": "#/$defs/FinancialInstitutionIdentification"
        },
        "creditor": {
          "$ref": "#/$defs/PartyIdentification"
        },
        "creditorAccount": {
          "$ref": "#/$defs/AccountIdentification"
        }
      },
      "required": [
        "creditor"
      ]
    },
    "BookingInformation": {
      "description": "Indicator that the payment can be immediately booked or not\n- true: payment is booked\n- false: payment is not booked\nBooking a transaction means that the funds required by this transaction are immediatly reserved and that a subsequent transaction will not interfere with the proper execution of the payment.\nHowever, usual fraud detection mechanisms might still be triggered and result as a rejection of the payment.\nThis indicator must be provided when the relevant Credit Transfer will be executed as soon as possible but not as an instant payment.\nThis indicator is irrelevant and will not be provided for delayed payments.\nThis indicator is only relevant for the first occurrence of a standing order when this occurrence is not delayed and will be executed as soon as possible.\n\nCase the Information System cannot handle this immediate booking, the ASPSP will have to provide the funds availability information.\n",
      "type": "boolean",
      "readOnly": true
    },
    "CategoryPurposeCode": {
      "description": "ISO20022: Specifies the high level purpose of the instruction based on a set of pre-defined categories. This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\nAPI: The following values are allowed:\n| Code | Name | Description |\n| ---- | ---- | ---------- |\n| CASH | CashManagementTransfer | Transaction is a general cash management instruction. |\n| CORT | TradeSettlementPayment | Transaction is related to settlement of a trade, e.g. a foreign exchange deal or a securities transaction. |\n| DVPM | DeliverAgainstPayment | Code used to pre-advise the account servicer of a forthcoming deliver against payment instruction. |\n| INTC | IntraCompanyPayment | Transaction is an intra-company payment, i.e. a payment between two companies belonging to the same group. |\n| SALA | SalaryPayment | Transaction is the payment of salaries. |\n| TREA | TreasuryPayment | Transaction is related to treasury operations.  E.g. financial contract settlement. |\n",
      "type": "string",
      "enum": [
        "CASH",
        "CORT",
        "DVPM",
        "INTC",
        "TREA",
        "SALA"
      ]
    },
    "ChargeBearerCode": {
      "description": "ISO20022: Specifies which party/parties will bear the charges associated with the processing of the payment transaction.\nThe following values are allowed:\n| Code | Name | Description |\n| ---- | ---- | ---------- |\n| DEBT | BorneByDebtor | All transaction charges are to be borne by the debtor. |\n| CRED | BorneByCreditor | All transaction charges are to be borne by the creditor. |\n| SHAR | Shared | In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor. |\n| SLEV | FollowingServiceLevel | Charges are to be applied following the rules agreed in the service level and/or scheme. |\n",
      "type": "string",
      "enum": [
        "DEBT",
        "CRED",
        "SHAR",
        "SLEV"
      ]
    },
    "ClearingSystemMemberIdentification": {
      "description": "ISO20022: Information used to identify a member within a clearing system.\nAPI: to be used for some specific international credit transfers in order to identify the beneficiary bank\n",
      "type": "object",
      "properties": {
        "clearingSystemId": {
          "description": "ISO20022: Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed.\n",
          "type": "string",
          "maxLength": 35
        },
        "memberId": {
          "description": "ISO20022: Identification of a member of a clearing system.\n",
          "type": "string",
          "maxLength": 35
        }
      },
      "required": [
        "clearingSystemId",
        "memberId"
      ]
    },
    "CodeAndIssuer": {
      "description": "Specifies a code and the issuer of this code.\n",
      "type": "object",
      "properties": {
        "code": {
          "description": "Provides the code.",
          "type": "string",
          "maxLength": 4
        },
        "issuer": {
          "description": "Identification of the issuer of the code.",
          "type": "string",
          "maxLength": 35
        }
      },
      "required": [
        "code"
      ]
    },
    "ContactDetails": {
      "description": "Indicates how to contact the party.\n",
      "type": "object",
      "properties": {
        "phoneNumber": {
          "$ref": "#/$defs/PhoneNumber"
        },
        "faxNumber": {
          "$ref": "#/$defs/PhoneNumber"
        },
        "emailAddress": {
          "description": "email address of the contact",
          "type": "string",
          "pattern": "^.+@.+$",
          "maxLength": 2048
        }
      }
    },
    "CreationDateTime": {
      "description": "ISO20022: Date and time at which a (group of) payment instruction(s) was created by the instructing party.\n",
      "type": "string",
      "format": "date-time"
    },
    "CreditDebitIndicator": {
      "description": "Accounting flow of the amount\n| Code | Description |\n| ---- | ----------- |\n| CRDT | Credit type amount |\n| DBIT | Debit type amount |\n",
      "type": "string",
      "enum": [
        "CRDT",
        "DBIT"
      ]
    },
    "CreditTransferTransactionResource": {
      "description": "ISO20022: Payment processes required to transfer cash from the debtor to the creditor.\nThe [instructedAmount] property indicates Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\n  Usage: This amount has to be transported unchanged through the transaction chain.\nAPI: Amounts must always be set as positive values.\n",
      "type": "object",
      "properties": {
        "paymentId": {
          "$ref": "#/$defs/PaymentIdentification"
        },
        "resourceId": {
          "$ref": "#/$defs/ResourceId"
        },
        "requestedExecutionDate": {
          "$ref": "#/$defs/RequestedExecutionDate"
        },
        "cancellableTill": {
          "description": "This field may allow the PISP to get information on the limit timestamp for requesting cancelation of the transaction.\nWhen this field is not provided by the ASPSP, the PISP must rely on the status of the transaction [transactionStatus] in order to estimate if the transaction is actually cancellable.\n",
          "type": "string",
          "format": "date-time"
        },
        "acceptanceDateTime": {
          "description": "ISO20022: Date and time at which all processing conditions for execution of the payment are met and adequate financial cover is available at the account servicing agent.\n",
          "type": "string",
          "format": "date-time"
        },
        "debtorDecisionDate": {
          "description": "ISO20022: Date and time on when the debtor has accepted or rejected the request.\n",
          "type": "string",
          "format": "date-time"
        },
        "appliedExecutionDate": {
          "description": "ISO20022: Date and time on when the payment was executed.\n",
          "type": "string",
          "format": "date-time"
        },
        "standingOrderCharacteristics": {
          "$ref": "#/$defs/StandingOrderCharacteristics"
        },
        "instructedAmount": {
          "$ref": "#/$defs/AmountType"
        },
        "equivalentAmount": {
          "$ref": "#/$defs/EquivalentAmountType"
        },
        "exchangeRateInformation": {
          "$ref": "#/$defs/ExchangeRate"
        },
        "ultimateDebtor": {
          "$ref": "#/$defs/PartyIdentification"
        },
        "intermediaryAgent": {
          "$ref": "#/$defs/IntermediaryAgent"
        },
        "beneficiary": {
          "$ref": "#/$defs/Beneficiary"
        },
        "ultimateCreditor": {
          "$ref": "#/$defs/PartyIdentification"
        },
        "instructionForCreditorAgent": {
          "description": "Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/InstructionForCreditorAgent"
          }
        },
        "purpose": {
          "$ref": "#/$defs/PurposeCode"
        },
        "regulatoryReportingCodes": {
          "$ref": "#/$defs/RegulatoryReportingCodes"
        },
        "remittanceInformation": {
          "$ref": "#/$defs/RemittanceInformation"
        },
        "transactionStatus": {
          "$ref": "#/$defs/TransactionIndividualStatusCode"
        },
        "statusReasonInformation": {
          "$ref": "#/$defs/StatusReasonInformation"
        },
        "supplementaryData": {
          "$ref": "#/$defs/SupplementaryData"
        }
      },
      "required": [
        "paymentId",
        "beneficiary"
      ]
    },
    "CreditorReferenceInformation": {
      "description": "Reference information provided by the creditor to allow the identification of the underlying documents.",
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/$defs/CodeAndIssuer"
        },
        "reference": {
          "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.",
          "type": "string",
          "maxLength": 35
        }
      }
    },
    "CurrencyCode": {
      "description": "Specifies the currency of the amount or of the account.\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
      "type": "string",
      "pattern": "^[A-Z]{3,3}$"
    },
    "DateAndPlaceOfBirth": {
      "description": "Date and place of birth of a person.\nThis information must be requested for detection of Fraud, Money-Laundering and Terrorism Financing in case of international payment.\n",
      "type": "object",
      "properties": {
        "birthDate": {
          "description": "Date on which a person is born.",
          "type": "string",
          "format": "date"
        },
        "cityOfBirth": {
          "description": "City where a person was born.",
          "type": "string",
          "maxLength": 35
        },
        "countryOfBirth": {
          "description": "Country where a person was born.",
          "type": "string",
          "pattern": "^[A-Z]{2,2}$"
        }
      },
      "required": [
        "birthDate",
        "cityOfBirth",
        "countryOfBirth"
      ]
    },
    "DocumentAdjustment": {
      "description": "ISO20022: Specifies detailed information on the amount and reason of the adjustment.\nAPI: Amounts must always be set as positive values.\n",
      "type": "object",
      "properties": {
        "amount": {
          "$ref": "#/$defs/AmountType"
        },
        "creditDebitIndicator": {
          "$ref": "#/$defs/CreditDebitIndicator"
        },
        "reason": {
          "description": "Specifies the reason for the adjustment.",
          "type": "string",
          "maxLength": 4
        },
        "additionalInformation": {
          "description": "Provides further details on the document adjustment.",
          "type": "string",
          "maxLength": 140
        }
      },
      "required": [
        "amount"
      ]
    },
    "DocumentLineIdentification": {
      "description": "Provides identification of the document line.\nthe [type] property must be used for specifying the type of referred document type.\n",
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/$defs/CodeAndIssuer"
        },
        "number": {
          "description": "Unique and unambiguous identification of the referred document line.",
          "type": "string",
          "maxLength": 35
        },
        "relatedDate": {
          "description": "Date associated with the referred document line.",
          "type": "string",
          "format": "date"
        }
      }
    },
    "EndDate": {
      "description": "The last applicable day of execution for a given period.\nIf not given, the period is considered as endless.\n",
      "type": "string",
      "format": "date-time"
    },
    "EndToEndId": {
      "description": "ISO20022: 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.\n",
      "type": "string",
      "pattern": "^([a-zA-Z0-9 /\\-?:\\()\\.,']{1,36})$"
    },
    "EquivalentAmountType": {
      "description": "Amount of money to be moved between debtor and creditor, before deduction of charges, expressed in the currency of the debtor's account, and to be moved in a different currency.\nUsage: The first agent will convert the equivalent amount into the amount to be moved.\n",
      "type": "object",
      "properties": {
        "amount": {
          "description": "ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\n",
          "type": "number",
          "format": "float",
          "pattern": "^\\-{0,1}[0-9]{1,13}(\\.[0-9]{0,5}){0,1}$"
        },
        "currency": {
          "$ref": "#/$defs/CurrencyCode"
        },
        "currencyOfTransfer": {
          "$ref": "#/$defs/CurrencyCode"
        }
      },
      "required": [
        "amount",
        "currency",
        "currencyOfTransfer"
      ]
    },
    "ExchangeRate": {
      "description": "ISO20022: Provides details on the currency exchange rate and contract.\nThe [unitCurrency] property specifies the currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.\nThe [estimatedPayerAmount] gives an estimation of the amount that will be debited on the payer's account, including transaction and change fees.\nThe [estimatedPayeeAmunt] gives an estimation of the amount that will be credited on the payee's account.\nAPI: Amounts must always be set as positive values.\n",
      "type": "object",
      "properties": {
        "unitCurrency": {
          "$ref": "#/$defs/CurrencyCode"
        },
        "exchangeRate": {
          "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.\n",
          "type": "number",
          "format": "float"
        },
        "rateType": {
          "description": "Specifies the type used to complete the currency exchange.\n| Code | Name | Description |\n| ---- | ---- | ---------- |\n| SPOT | Spot | Exchange rate applied is the spot rate. |\n| SALE | Sale | Exchange rate applied is the market rate at the time of the sale. |\n| AGRD | Agreed | Exchange rate applied is the rate agreed between the parties. |\n",
          "type": "string",
          "enum": [
            "SPOT",
            "SALE",
            "AGRD"
          ]
        },
        "contractIdentification": {
          "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.",
          "type": "string",
          "maxLength": 35
        },
        "estimatedPayerAmount": {
          "$ref": "#/$defs/AmountType"
        },
        "estimatedPayeeAmount": {
          "$ref": "#/$defs/AmountType"
        }
      },
      "required": [
        "rateType"
      ]
    },
    "ExecutionRule": {
      "description": "Execution date shifting rule for standing orders\nThis data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday.\nThe payment is then executed either the \"preceding\" or \"following\" working day.\nASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting\nthis execution rule.\n| Code | Description |\n| ---- | ----------- |\n| FWNG | following |\n| PREC | preceding |\n",
      "type": "string",
      "enum": [
        "FWNG",
        "PREC"
      ]
    },
    "FinancialInstitutionIdentification": {
      "description": "ISO20022: Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.\n",
      "type": "object",
      "properties": {
        "bicFi": {
          "description": "ISO20022: Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 \"Banking - Banking telecommunication messages - Business identification code (BIC)\".\n",
          "type": "string",
          "pattern": "^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$"
        },
        "clearingSystemMemberId": {
          "$ref": "#/$defs/ClearingSystemMemberIdentification"
        },
        "lei": {
          "$ref": "#/$defs/LeiIdentification"
        },
        "name": {
          "description": "Name of the financial institution",
          "type": "string",
          "maxLength": 140
        },
        "postalAddress": {
          "$ref": "#/$defs/PostalAddress"
        }
      },
      "required": [
        "bicFi"
      ]
    },
    "FrequencyCode": {
      "description": "Frequency rule for standing orders.\nThe following codes from the \"EventFrequency7Code\" of ISO 20022 are supported.\n| Code | Description |\n| ---- | ----------- |\n| DAIL | Daily |\n| WEEK | Weekly |\n| TOWK | EveryTwoWeeks |\n| MNTH | Monthly |\n| TOMN | EveryTwoMonths |\n| QUTR | Quarterly |\n| SEMI | SemiAnnual |\n| YEAR | Annual |\nHowever, each ASPSP might restrict these values into a subset if needed.\n",
      "type": "string",
      "enum": [
        "DAIL",
        "WEEK",
        "TOWK",
        "MNTH",
        "TOMN",
        "QUTR",
        "SEMI",
        "YEAR"
      ]
    },
    "FundsAvailabilityInformation": {
      "description": "Indicator that the payment can be covered or not by the funds available on the relevant account\n- true: payment is covered\n- false: payment is not covered\nThis indicator must be provided by the ASPSP when the Booking Information is present and set to \"False\".\nThis indicator will not be provided if the Booking Information is absent or set to \"True\".\n",
      "type": "boolean",
      "readOnly": true
    },
    "GenericIdentification": {
      "description": "ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer.\nAPI: The ASPSP will document which account reference type it will support.\n",
      "type": "object",
      "properties": {
        "identification": {
          "description": "API: Identifier\n",
          "type": "string",
          "maxLength": 70
        },
        "schemeName": {
          "description": "Name of the identification scheme.\nPossible values for the scheme name, partially based on ISO20022 external code list, are the following:\n| Code | Name | Description |\n| ---- | ---- | ----------- |\n| BANK | BankPartyIdentification | Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. |\n| BBAN | BBANIdentifier | Basic Bank Account Number (BBAN) - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer. |\n| COID | CountryIdentificationCode) : Country authority given organisation identification (e.g., corporate registration number) |\n| SREN | SIREN | The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France. |\n| SRET | SIRET | The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity. |\n| NIDN | NationalIdentityNumber | Number assigned by an authority to identify the national identity number of a person. |\nOther values are also permitted, for instance:\n| Code | Name | Description |\n| ---- | ---- | ----------- |\n| OAUT | OAUTH2 | OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU |\n| CPAN | CardPan | Card PAN |\n| MPAN | MaskedPan | Card PAN where some digits were replaced for security reason |\n| TPAN | TokenizedPan | Token which was provided by a Token Service Provider (TSP) in order to obfuscate a real card PAN. The TSP must be identified in the issuer field |\n| TBAN | TokenizedIBAN | Token which was provided by a Token Service Provider (TSP) in order to obfuscate an IBAN. The TSP must be identified in the issuer field |\nEach implementation of the STET PSD2 API must specify in its own documentation which schemes can actually been used\n",
          "type": "string",
          "maxLength": 70
        },
        "issuer": {
          "description": "ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties\n",
          "type": "string",
          "maxLength": 35
        }
      },
      "required": [
        "identification",
        "schemeName"
      ]
    },
    "GenericLink": {
      "description": "hypertext reference",
      "type": "object",
      "properties": {
        "href": {
          "description": "URI to be used. HREF stands for Hypertext REFerence.",
          "type": "string",
          "maxLength": 2000
        },
        "templated": {
          "description": "This field must be set with \"true\"  when [href] is an URI template, i.e. with parameters that will be set by the client afterwards. Parameter fields must be included by the API server according to RFC6570.\nOtherwise, this property must be absent or set to false\ndefault value: false\n",
          "type": "boolean"
        }
      },
      "required": [
        "href"
      ]
    },
    "InstructionForCreditorAgent": {
      "description": "Further information related to the processing of the payment instruction that may need to be acted upon by the creditor's agent. The instruction may relate to a level of service, or may be an instruction that has to be executed by the creditor's agent, or may be information required by the creditor's agent.\n",
      "type": "object",
      "properties": {
        "code": {
          "description": "Coded information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor's agent.\n| Code | Name | Description |\n| ---- | ---- | ---------- |\n| CHQB | PayCreditorByCheque | (Ultimate) creditor must be paid by cheque. |\n| HOLD | HoldCashForCreditor | Amount of money must be held for the (ultimate) creditor, who will call. Pay on identification. |\n| PHOB | PhoneBeneficiary | Please advise/contact (ultimate) creditor/claimant by phone. |\n| TELB | Telecom | Please advise/contact (ultimate) creditor/claimant by the most efficient means of telecommunication. |",
          "type": "string",
          "enum": [
            "CHQB",
            "HOLD",
            "PHOB",
            "TELB"
          ]
        },
        "instructionInformation": {
          "description": "Further information complementing the coded instruction or instruction to the creditor's agent that is bilaterally agreed or specific to a user community.",
          "type": "string",
          "maxLength": 140
        }
      }
    },
    "IntermediaryAgent": {
      "description": "Agent and agent account between the debtor's agent and the creditor's agent.",
      "type": "object",
      "properties": {
        "agent": {
          "$ref": "#/$defs/PartyIdentification"
        },
        "agentAccount": {
          "$ref": "#/$defs/AccountIdentification"
        }
      }
    },
    "LeiIdentification": {
      "description": "Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
      "type": "string",
      "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
    },
    "LineDetail": {
      "description": "Set of elements used to provide the content of the referred document line.",
      "type": "object",
      "properties": {
        "identification": {
          "$ref": "#/$defs/DocumentLineIdentification"
        },
        "description": {
          "description": "Description associated with the document line.",
          "type": "string",
          "maxLength": 2048
        },
        "amount": {
          "$ref": "#/$defs/RemittanceAmount"
        }
      }
    },
    "LocalInstrumentCode": {
      "description": "ISO20022: User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.\nAPI: \"INST\" value is to be used in order to ask for an SEPA instant Payment (SCTInst).\nFor International payments, this field may be valued with one of the ISO20022 external code to specify with payment instrument should be used by the creditor's bank.\n",
      "type": "string"
    },
    "PartyIdentification": {
      "description": "API : Description of a Party which can be either a person or an organization.\n",
      "type": "object",
      "properties": {
        "name": {
          "description": "ISO20022: Name by which a party is known and which is usually used to identify that party.\nThe [organisationId] property allows the specification of an unique and unambiguous way to identify an organisation.\nThe [privateId] property allows the specification of an unique and unambiguous way to identify a person.\n",
          "type": "string",
          "maxLength": 140
        },
        "dateAndPlaceOfBirth": {
          "$ref": "#/$defs/DateAndPlaceOfBirth"
        },
        "postalAddress": {
          "$ref": "#/$defs/PostalAddress"
        },
        "contactDetails": {
          "$ref": "#/$defs/ContactDetails"
        },
        "organisationId": {
          "$ref": "#/$defs/GenericIdentification"
        },
        "privateId": {
          "$ref": "#/$defs/GenericIdentification"
        },
        "lei": {
          "$ref": "#/$defs/LeiIdentification"
        }
      },
      "required": [
        "name"
      ]
    },
    "PaymentIdentification": {
      "description": "ISO20022: Set of elements used to reference a payment instruction.\n",
      "type": "object",
      "properties": {
      

# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/groupe-bpce/refs/heads/main/json-schema/groupe-bpce-hal-payment-request-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/groupe-bpce-hal-payment-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.