API Explorer 1 endpoints

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
email
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.
Implemented by OBPv5.1.0 createVRPConsentRequest Originally /obp/v5.1.0/consumer/vrp-consent-requests