Skip to main content

Page contents

What this API does:

Confirmation of Funds API allows a Card Based Payment Instrument Issuer ('CBPII') to check if sufficient balance is available to make a payment.

Endpoint configuration

Sandbox:  cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/cbpii/funds-confirmation-consents

Production:  api.openbanking.virginmoney.com/open-banking/v3.1/cbpii/funds-confirmation-consents

The API endpoint lets you ask Virgin Money to create a new funds-confirmation-consent resource:

Virgin Money will create a funds-confirmation-consent resource and provide a unique ConsentId.

Before calling the API, you must have an access token issued by Virgin Money using a 'client_credentials' grant type.

Sandbox:  cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/cbpii/funds-confirmation-consents/{ConsentId}

Production:  api.openbanking.virginmoney.com/open-banking/v3.1/cbpii/funds-confirmation-consents/{ConsentId}

Check the status of the funds-confirmation-consent.

Before calling the API, you must have an access token issued by Virgin Money using a ''client_credentials ' grant type.

Sandbox:  cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/cbpii/funds-confirmation-consents/{ConsentId}

Production:  api.openbanking.virginmoney.com/v3.1/cbpii/funds-confirmation-consents/{ConsentId}

The API endpoint lets you to delete funds-confirmation-consent.

Before calling the API, you must have an access token issued by Virgin Money using a 'client_credentials ' grant type.

Sandbox:  cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/cbpii/funds-confirmations

Production:  api.openbanking.virginmoney.com/open-banking/v3.1/cbpii/funds-confirmations

Before calling the API, you must have an access token issued by Virgin Money using a ' authorization_code ' grant type.

API calls

Funds Confirmations

NameDescription
x-fapi-auth-date
string
(header)

The time when the PSU last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:
Sun, 10 Sep 2017 19:43:31 UTC

x-fapi-customer-ip-address
string
(header)

The PSU's IP address if the PSU is currently logged in with the TPP.

x-fapi-interaction-id
string
(header)
An RFC4122 UID used as a correlation id.
Authorization *
string
(header)
body *
(body)

{
"Data": {
"ExpirationDateTime": "2024-06-12T11:28:14.954Z",
"DebtorAccount": {
"SchemeName": "string",
"Identification": "string",
"Name": "string",
"SecondaryIdentification": "string"
}
}
}
#/definitions/OBFundsConfirmationConsent1OBFundsConfirmationConsent1{
Data*{
ExpirationDateTimestring($date-time)

Specified date and time the funds confirmation authorisation will expire.
If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

DebtorAccount*{
description:
Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.
SchemeName*string

Name of the identification scheme, in a coded form as published in an external list.

Identification*string
minLength: 1

maxLength: 256
Identification assigned by an institution to identify an account. This identification is known by the account owner.
Namestring
minLength: 1

maxLength: 70

Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

SecondaryIdentificationstring
minLength: 1

maxLength: 34

This is secondary identification of the account, as assigned by the account servicing institution.
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

}
}
}

Responses

CodeDescription
201
Created

{
"Data": {
"ConsentId": "string",
"CreationDateTime": "2024-06-12T12:20:27.299Z",
"Status": "Authorised",
"StatusUpdateDateTime": "2024-06-12T12:20:27.299Z",
"ExpirationDateTime": "2024-06-12T12:20:27.299Z",
"DebtorAccount": {
"SchemeName": "string",
"Identification": "string",
"Name": "string",
"SecondaryIdentification": "string"
}
},
"Links": {
"Self": "string",
"First": "string",
"Prev": "string",
"Next": "string",
"Last": "string"
},
"Meta": {
"TotalPages": 0,
"FirstAvailableDateTime": "2024-06-12T12:20:27.299Z",
"LastAvailableDateTime": "2024-06-12T12:20:27.299Z"
}
}
#/definitions/OBFundsConfirmationConsentResponse1OBFundsConfirmationConsentResponse1{
Data*{
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned to identify the funds confirmation consent resource.
CreationDateTime*string($date-time)

Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

Status*string
Specifies the status of consent resource in code form.
Enum:
[ Authorised, AwaitingAuthorisation, Rejected, Revoked ]
StatusUpdateDateTime*string($date-time)

Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

ExpirationDateTimestring($date-time)

Specified date and time the funds confirmation authorisation will expire.
If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

DebtorAccount*{
description:
Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.
SchemeName*string

Name of the identification scheme, in a coded form as published in an external list.

Identification*string
minLength: 1

maxLength: 256
Identification assigned by an institution to identify an account. This identification is known by the account owner.
Namestring
minLength: 1

maxLength: 70

Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

SecondaryIdentificationstring
minLength: 1

maxLength: 34

This is secondary identification of the account, as assigned by the account servicing institution.
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

}
}
Links#/definitions/LinksLinks{
description:
Links relevant to the payload
Self*string
Firststring
Prevstring
Nextstring
Laststring
}
Meta#/definitions/MetaMeta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
400
Bad request

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
401
Unauthorized

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
403
Forbidden

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
404
Not found

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
405
Method Not Allowed

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
406
Not Acceptable

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
429
Too Many Requests

Headers:

NameDescriptionType
Retry-After
Number in seconds to wait
integer
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
500
Internal Server Error

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
NameDescription
ConsentId *
string
(path)
ConsentId
x-fapi-auth-date
string
(header)

The time when the PSU last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:
Sun, 10 Sep 2017 19:43:31 UTC

x-fapi-customer-ip-address
string
(header)

The PSU's IP address if the PSU is currently logged in with the TPP.

x-fapi-interaction-id
string
(header)
An RFC4122 UID used as a correlation id.
Authorization *
string
(header)

Responses

CodeDescription
200
OK

{
"Data": {
"ConsentId": "string",
"CreationDateTime": "2024-06-12T12:57:13.613Z",
"Status": "Authorised",
"StatusUpdateDateTime": "2024-06-12T12:57:13.613Z",
"ExpirationDateTime": "2024-06-12T12:57:13.613Z",
"DebtorAccount": {
"SchemeName": "string",
"Identification": "string",
"Name": "string",
"SecondaryIdentification": "string"
}
},
"Links": {
"Self": "string",
"First": "string",
"Prev": "string",
"Next": "string",
"Last": "string"
},
"Meta": {
"TotalPages": 0,
"FirstAvailableDateTime": "2024-06-12T12:57:13.613Z",
"LastAvailableDateTime": "2024-06-12T12:57:13.613Z"
}
}
#/definitions/OBFundsConfirmationConsentResponse1OBFundsConfirmationConsentResponse1{
Data*{
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned to identify the funds confirmation consent resource.
CreationDateTime*string($date-time)

Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

Status*string
Specifies the status of consent resource in code form.
Enum:
[ Authorised, AwaitingAuthorisation, Rejected, Revoked ]
StatusUpdateDateTime*string($date-time)

Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

ExpirationDateTimestring($date-time)

Specified date and time the funds confirmation authorisation will expire.
If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

DebtorAccount*{
description:
Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.
SchemeName*string

Name of the identification scheme, in a coded form as published in an external list.

Identification*string
minLength: 1

maxLength: 256
Identification assigned by an institution to identify an account. This identification is known by the account owner.
Namestring
minLength: 1

maxLength: 70

Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

SecondaryIdentificationstring
minLength: 1

maxLength: 34

This is secondary identification of the account, as assigned by the account servicing institution.
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

}
}
Links#/definitions/LinksLinks{
description:
Links relevant to the payload
Self*string
Firststring
Prevstring
Nextstring
Laststring
}
Meta#/definitions/MetaMeta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
400
Bad request

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
401
Unauthorized

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
403
Forbidden

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
404
Not found

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
405
Method Not Allowed

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
406
Not Acceptable

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
429
Too Many Requests

Headers:

NameDescriptionType
Retry-After
Number in seconds to wait
integer
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
500
Internal Server Error

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
NameDescription
ConsentId *
string
(path)
ConsentId
x-fapi-auth-date
string
(header)

The time when the PSU last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:
Sun, 10 Sep 2017 19:43:31 UTC

x-fapi-customer-ip-address
string
(header)

The PSU's IP address if the PSU is currently logged in with the TPP.

x-fapi-interaction-id
string
(header)
An RFC4122 UID used as a correlation id.
Authorization *
string
(header)

Responses

CodeDescription
204
No Content

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
400
Bad request

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
401
Unauthorized

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
403
Forbidden

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
404
Not found

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
405
Method Not Allowed

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
406
Not Acceptable

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
429
Too Many Requests

Headers:

NameDescriptionType
Retry-After
Number in seconds to wait
integer
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
500
Internal Server Error

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
NameDescription
x-fapi-auth-date
string
(header)

The time when the PSU last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:
Sun, 10 Sep 2017 19:43:31 UTC

x-fapi-customer-ip-address
string
(header)

The PSU's IP address if the PSU is currently logged in with the TPP.

x-fapi-interaction-id
string
(header)
An RFC4122 UID used as a correlation id.
Authorization *
string
(header)
body *
(body)

{
"Data": {
"ConsentId": "string",
"Reference": "string",
"InstructedAmount": {
"Amount": "string",
"Currency": "string"
}
}
}
#/definitions/OBFundsConfirmation1OBFundsConfirmation1{
Data*{
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.
Reference*string
minLength: 1

maxLength: 35

Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.

InstructedAmount*{
description:
Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.
Amount*string
pattern: ^\d{1,13}\.\d{1,5}$
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
Currency*string
pattern: ^[A-Z]{3,3}$

A 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".

}
}
}

Responses

CodeDescription
201
Created

{
"Data": {
"FundsConfirmationId": "string",
"ConsentId": "string",
"CreationDateTime": "2024-06-12T13:20:00.550Z",
"FundsAvailable": true,
"Reference": "string",
"InstructedAmount": {
"Amount": "string",
"Currency": "string"
}
},
"Links": {
"Self": "string",
"First": "string",
"Prev": "string",
"Next": "string",
"Last": "string"
},
"Meta": {
"TotalPages": 0,
"FirstAvailableDateTime": "2024-06-12T13:20:00.550Z",
"LastAvailableDateTime": "2024-06-12T13:20:00.550Z"
}
}
#/definitions/OBFundsConfirmationResponse1OBFundsConfirmationResponse1{
Data*{
FundsConfirmationId*string
minLength: 1

maxLength: 40
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource.
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.
CreationDateTime*string($date-time)

Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

FundsAvailable*boolean
Flag to indicate the result of a confirmation of funds check.
Reference*string
minLength: 1

maxLength: 35

Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.

InstructedAmount*{
description:
Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.
Amount*string
pattern: ^\d{1,13}\.\d{1,5}$
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
Currency*string
pattern: ^[A-Z]{3,3}$

A 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".

}
}
Links#/definitions/LinksLinks{
description:
Links relevant to the payload
Self*string
Firststring
Prevstring
Nextstring
Laststring
}
Meta#/definitions/MetaMeta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
400
Bad request

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
401
Unauthorized

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
403
Forbidden

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
404
Not found

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
405
Method Not Allowed

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
406
Not Acceptable

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
429
Too Many Requests

Headers:

NameDescriptionType
Retry-After
Number in seconds to wait
integer
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string
500
Internal Server Error

{
"Code": "string",
"Id": "string",
"Message": "string",
"Errors": [
{
"ErrorCode": "string",
"Message": "string",
"Path": "string",
"Url": "string"
}
]
}
#/definitions/OBErrorResponse1OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

Headers:

NameDescriptionType
x-fapi-interaction-id
An RFC4122 UID used as a correlation id.
string

Models

ISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

Meta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}

Name_0string

The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.
Note, the account name is not the product name or the nickname of the account.

Name_1string
Name by which a party is known and which is usually used to identify that party.

Name_2string
Name by which an agent is known and which is usually used to identify that agent.

Name_3string
Long name associated with the code

OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}

OBErrorResponse1{
description:

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Code*string
minLength: 1

maxLength: 40

High level textual error code, to help categorize the errors.

Idstring
minLength: 1

maxLength: 40

A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.

Message*string
minLength: 1

maxLength: 500

Brief Error message, e.g., 'There is something wrong with the request parameters provided'

Errors*[
minItems: 1
#/definitions/OBError1OBError1{
ErrorCode*string

Low level textual error code, e.g., UK.OBIE.Field.Missing

Message*string
minLength: 1

maxLength: 500

A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'
OBIE doesn't standardise this field

Pathstring
minLength: 1

maxLength: 500

Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency

Urlstring

URL to help remediate the problem, or provide more information, or to API Reference, or help etc

}]
}

OBActiveCurrencyAndAmount_SimpleTypestring
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.

OBFundsConfirmationConsent1{
Data*{
ExpirationDateTimestring($date-time)

Specified date and time the funds confirmation authorisation will expire.
If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

DebtorAccount*{
description:
Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.
SchemeName*string

Name of the identification scheme, in a coded form as published in an external list.

Identification*string
minLength: 1

maxLength: 256
Identification assigned by an institution to identify an account. This identification is known by the account owner.
Namestring
minLength: 1

maxLength: 70

Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

SecondaryIdentificationstring
minLength: 1

maxLength: 34

This is secondary identification of the account, as assigned by the account servicing institution.
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

}
}
}

OBFundsConfirmationConsentResponse1{
Data*{
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned to identify the funds confirmation consent resource.
CreationDateTime*string($date-time)

Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

Status*string
Specifies the status of consent resource in code form.
Enum:
[ Authorised, AwaitingAuthorisation, Rejected, Revoked ]
StatusUpdateDateTime*string($date-time)

Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

ExpirationDateTimestring($date-time)

Specified date and time the funds confirmation authorisation will expire.
If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

DebtorAccount*{
description:
Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.
SchemeName*string

Name of the identification scheme, in a coded form as published in an external list.

Identification*string
minLength: 1

maxLength: 256
Identification assigned by an institution to identify an account. This identification is known by the account owner.
Namestring
minLength: 1

maxLength: 70

Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

SecondaryIdentificationstring
minLength: 1

maxLength: 34

This is secondary identification of the account, as assigned by the account servicing institution.
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

}
}
Links#/definitions/LinksLinks{
description:
Links relevant to the payload
Self*string
Firststring
Prevstring
Nextstring
Laststring
}
Meta#/definitions/MetaMeta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}
}

OBFundsConfirmation1{
Data*{
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.
Reference*string
minLength: 1

maxLength: 35

Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.

InstructedAmount*{
description:
Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.
Amount*string
pattern: ^\d{1,13}\.\d{1,5}$
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
Currency*string
pattern: ^[A-Z]{3,3}$

A 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".

}
}
}

OBFundsConfirmationResponse1{
Data*{
FundsConfirmationId*string
minLength: 1

maxLength: 40
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource.
ConsentId*string
minLength: 1

maxLength: 128
Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.
CreationDateTime*string($date-time)

Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

FundsAvailable*boolean
Flag to indicate the result of a confirmation of funds check.
Reference*string
minLength: 1

maxLength: 35

Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.

InstructedAmount*{
description:
Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.
Amount*string
pattern: ^\d{1,13}\.\d{1,5}$
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
Currency*string
pattern: ^[A-Z]{3,3}$

A 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".

}
}
Links#/definitions/LinksLinks{
description:
Links relevant to the payload
Self*string
Firststring
Prevstring
Nextstring
Laststring
}
Meta#/definitions/MetaMeta{
description:
Meta Data relevant to the payload
TotalPagesinteger($int32)
FirstAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

LastAvailableDateTimeISODateTimestring($date-time)

All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00

}
}

Having trouble?

Contact our dedicated team members via our ticketing system or via our support mailbox

OpenBankingResponse@virginmoney.com

Contact us Link opens in a new window