Create Consent Request VRP
POST /obp/v7.0.0/consumer/vrp-consent-requests
OBPv5.1.0-createVRPConsentRequest No role required ConsentVRPTransaction-Request
This endpoint is used to begin the process of creating a consent that may be used for Variable Recurring Payments (VRPs).
VRPs are useful in situations when a beneficiary needs to be paid different amounts on a regular basis.
Once granted, the consent allows its holder to initiate multiple Transaction Requests to the Counterparty defined in this endpoint as long as the Counterparty Limits linked to this particular consent are respected.
Client, Consumer or Application Authentication is mandatory for this endpoint.
i.e. the caller of this endpoint is the API Client, Consumer or Application rather than a specific User.
At the end of the process the following objects are created in OBP or connected backend systems:
- An automatically generated View which controls access.
- A Counterparty that is the Beneficiary of the Variable Recurring Payments. The Counterparty specifies the Bank Account number or other routing address.
- Limits for the Counterparty which constrain the amount of money that can be sent to it in various periods (yearly, monthly, weekly).
The Account holder may modify the Counterparty or Limits e.g. to increase or decrease the maximum possible payment amounts or the frequencey of the payments.
In the case of a public client we use the client_id and private key to obtain an access token, otherwise we use the client_id and client_secret. The obtained access token is used in the HTTP Authorization header of the request as follows:
Example: Authorization: Bearer eXtneO-THbQtn3zvK_kQtXXfvOZyZFdBCItlPDbR2Bk.dOWqtXCtFX-tqGTVR0YrIjvAolPIVg7GZ-jz83y6nA0
After successfully creating the VRP consent request, you need to call the Create Consent By CONSENT_REQUEST_ID endpoint to finalize the consent using the CONSENT_REQUEST_ID returned by this endpoint.
Application Access is Required. The Application must be authenticated.
User Authentication is Optional. The User need not be logged in.
JSON request body fields (21)
- account_routing
- address
- bank_routing
- branch_routing
- counterparty_name
- John Smith Ltd.
- currency
- EUR
- from_account
- from_account
- limit
- 100
- max_monthly_amount
- 10000.11
- max_number_of_monthly_transactions
- 10
- max_number_of_transactions
- 100
- max_number_of_yearly_transactions
- 100
- max_single_amount
- 1000.11
- max_total_amount
- 10000.12
- max_yearly_amount
- 12000.11
- scheme
- OBP
- to_account
- to_account
- felixsmith@example.com
- phone_number
- time_to_live
- valid_from
- 2020-01-27
JSON response body fields (3)
- consent_request_id
- 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
- consumer_id
- 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
- payload
- payload
Example request body
{
"from_account": {
"bank_routing": {
"scheme": "OBP",
"address": "gh.29.uk"
},
"account_routing": {
"scheme": "OBP",
"address": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"
},
"branch_routing": {
"scheme": "OBP",
"address": "DERBY6"
}
},
"to_account": {
"counterparty_name": "John Smith Ltd.",
"bank_routing": {
"scheme": "OBP",
"address": "gh.29.uk"
},
"account_routing": {
"scheme": "OBP",
"address": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"
},
"branch_routing": {
"scheme": "OBP",
"address": "DERBY6"
},
"limit": {
"currency": "EUR",
"max_single_amount": "1000.11",
"max_monthly_amount": "10000.11",
"max_number_of_monthly_transactions": 10,
"max_yearly_amount": "12000.11",
"max_number_of_yearly_transactions": 100,
"max_total_amount": "10000.12",
"max_number_of_transactions": 100
}
},
"email": "felixsmith@example.com",
"phone_number": "+44 07972 444 876",
"valid_from": "2026-10-21T01:45:41Z",
"time_to_live": 3600
}Example success response
{
"consent_request_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"payload": {
"from_account": {
"bank_routing": {
"scheme": "OBP",
"address": "gh.29.uk"
},
"account_routing": {
"scheme": "OBP",
"address": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"
},
"branch_routing": {
"scheme": "OBP",
"address": "DERBY6"
}
},
"to_account": {
"bank_routing": {
"scheme": "OBP",
"address": "gh.29.uk"
},
"account_routing": {
"scheme": "OBP",
"address": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"
},
"branch_routing": {
"scheme": "OBP",
"address": "DERBY6"
},
"limit": {
"currency": "EUR",
"max_single_amount": 1000,
"max_monthly_amount": 10000,
"max_number_of_monthly_transactions": 10,
"max_yearly_amount": 12000,
"max_number_of_yearly_transactions": 100
}
},
"valid_from": "2024-07-10T09:22:06Z",
"time_to_live": 3600
},
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"
}Possible errors (6)
- OBP-10001: Incorrect json format.
- OBP-35020: You exceeded max value of time to live of consents.
- OBP-20306: PEM Encoded Certificate cannot be found at request header.
- OBP-20300: PEM Encoded Certificate issue.
- OBP-50200: Connector cannot return the data we requested.
- OBP-50000: Unknown Error.