# Funds Confirmation Consent - v4.0

# Overview

The Funds Confirmation Consent resource is used by an CBPII to register an intent to confirm funds.

This resource description should be read in conjunction with a compatible Confirmation of Funds API Profile.

# Endpoints

Resource HTTP Operation Endpoint Mandatory ? Scope Grant Type Message Signing Idempotency Key Request Object Response Object
funds-confirmation-consent POST POST /funds-confirmation-consents Mandatory fundsconfirmations Client Credentials No No OBFundsConfirmationConsent1 OBFundsConfirmationConsentResponse1
funds-confirmation-consent GET GET /funds-confirmation-consents/{ConsentId} Mandatory fundsconfirmations Client Credentials No No NA OBFundsConfirmationConsentResponse1
funds-confirmation-consent DELETE DELETE /funds-confirmation-consents/{ConsentId} Mandatory fundsconfirmations Client Credentials No No NA NA

# POST /funds-confirmation-consents

The API allows the CBPII to ask an ASPSP to create a new funds-confirmation-consent resource.

  • This endpoint allows the CBPII to propose a consent to be agreed between the ASPSP and PSU, to authorise the CBPII access to confirm funds are available.
  • The ASPSP creates the funds-confirmation-consent resource and responds with a unique ConsentId to refer to the resource.
  • Prior to calling the operation, the CBPII must have an access token issued by the ASPSP using a client credentials grant.

The PSU must authenticate with the ASPSP and agree the funds-confirmation-consent with the ASPSP, for the funds-confirmation-consent to be successfully setup.

The funds-confirmation-consent resource that is created successfully must have one of the following Status code-list enumerations:

Status Status Description
1 AWAU The Funds Confirmation Consent is awaiting agreement.

After consent has been agreed the funds-confirmation-consent resource may have these following statuses.

Status Status Description
1 RJCT The Funds Confirmation Consent has been rejected.
2 AUTH The Funds Confirmation Consent has been successfully agreed.
3 CANC The Funds Confirmation Consent has been cancelled
4 EXPD The Funds Confirmation Consent has expired

Changes to the Status, such as being rejected, should be captured in StatusReason, an array of StatusReasonCode, StatusReasonDescription and Path.

Field Description
StatusReasonCode Code directly relating to the reason for the current Status. See the codelists (opens new window) for appropriate values.
StatusReasonDescription Description of why the code was returned
Path Recommended but optional reference to JSON path if relevant to the code

# Status Flow

This is the state diagram for Status.

 Consent Authorisation.jpg

# GET /funds-confirmation-consents/{ConsentId}

A CBPII may optionally retrieve a funds-confirmation-consent resource that they have created to check its status.

Prior to calling the operation, the CBPII must have an access token issued by the ASPSP using a client credentials grant.

ASPSP may mask the Identification field partially in the GET response.

ASPSPs may return masked PAN as per their online system e.g. 5555 **** **** 4444, **** **** **** 4444 etc.

Once the PSU agrees the consent outlined in the funds-confirmation-consent resource, the Status of the funds-confirmation-consent resource will be updated with "AUTH".

The available Status code-list enumerations for the funds-confirmation-consent resource are:

Status Status Description
1 AWAU The Funds Confirmation Consent is awaiting agreement.
2 RJCT The Funds Confirmation Consent has been rejected.
3 AUTH The Funds Confirmation Consent has been successfully agreed.
4 CANC The Funds Confirmation Consent has been cancelled
5 EXPD The Funds Confirmation Consent has expired

# DELETE /funds-confirmation-consents/{ConsentId}

If the PSU revokes consent to confirm funds with the CBPII, the CBPII must delete the funds-confirmation-consent resource.

  • This is done by making a call to DELETE the funds-confirmation-consent resource as soon as is practically possible.
  • Prior to calling the operation, the CBPII must have an access token issued by the ASPSP using a client credentials grant.

# Data Model

This data dictionary section gives the detail on the payload content.

# Reused Classes

# OBProxy1

The OBProxy1 class is defined in the confirmation-of-funds-api-profile page.

The OBFundsConfirmationConsent1 object will be used for the following:

  • Request to POST /funds-confirmation-consents

# UML Diagram

OBFundsConfirmationConsent1

# Data Dictionary

Name Occurrence XPath EnhancedDefinition Class Codes Pattern
OBFundsConfirmationConsent1 OBFundsConfirmationConsent1 OBFundsConfirmationConsent1
Data 1..1 OBFundsConfirmationConsent1/Data OBFundsConfirmationConsentData1
ExpirationDateTime 0..1 OBFundsConfirmationConsent1/Data/ExpirationDateTime Specified date and time the funds confirmation authorisation will expire. If this is not populated, the authorisation will be open ended. ISODateTime
DebtorAccount 1..1 OBFundsConfirmationConsent1/Data/DebtorAccount Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied. OBCashAccountDebtor4
SchemeName 1..1 OBFundsConfirmationConsent1/Data/DebtorAccount/SchemeName Name of the identification scheme, in a coded form as published in an external list. For a full list of enumeration values refer to OB_Internal_CodeSet here (opens new window). OBInternalAccountIdentification4Code
Identification 1..1 OBFundsConfirmationConsent1/Data/DebtorAccount/Identification Identification assigned by an institution to identify an account. This identification is known by the account owner. Max256Text
Name 0..1 OBFundsConfirmationConsent1/Data/DebtorAccount/Name 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. Max350Text
SecondaryIdentification 0..1 OBFundsConfirmationConsent1/Data/DebtorAccount/SecondaryIdentification 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). Max34Text
Proxy 0..1 OBFundsConfirmationConsent1/Data/DebtorAccount/Proxy Specifies an alternate assumed name for the identification of the account. OBProxy1

The OBFundsConfirmationConsentResponse1 object will be used for the following:

  • Response to POST /funds-confirmation-consents
  • Call to GET /funds-confirmation-consents/{ConsentId}

# UML Diagram

OBFundsConfirmationConsentResponse1

Notes:

The OBFundsConfirmationConsentResponse1 object contains the same information as the OBFundsConfirmation1, but with additional fields:

  • ConsentId - to uniquely identify the funds-confirmation-consent resource.
  • Status.
  • StatusReason
  • StatusUpdateDateTime.
  • CreationDateTime.

# Data Dictionary

Name Occurrence XPath EnhancedDefinition Class Codes Pattern
OBFundsConfirmationConsentResponse1 OBFundsConfirmationConsentResponse1 OBFundsConfirmationConsentResponse1
Data 1..1 OBFundsConfirmationConsentResponse1/Data OBFundsConfirmationConsentDataResponse1
ConsentId 1..1 OBFundsConfirmationConsentResponse1/Data/ConsentId Unique identification as assigned to identify the funds confirmation consent resource. Max128Text
CreationDateTime 1..1 OBFundsConfirmationConsentResponse1/Data/CreationDateTime Date and time at which the resource was created. ISODateTime
ExpirationDateTime 0..1 OBFundsConfirmationConsentResponse1/Data/ExpirationDateTime Specified date and time the funds confirmation authorisation will expire. If this is not populated, the authorisation will be open ended. ISODateTime
Status 1..1 OBFundsConfirmationConsentResponse1/Data/Status Specifies the status of consent resource in code form. For a full list of enumeration values refer to OB_Internal_CodeSet here (opens new window). OBInternalConsentStatus1Code
StatusReason 0..* OBFundsConfirmationConsentResponse1/Data/StatusReason Array of StatusReasonCodes. OBStatusReason
StatusReasonCode 0..1 OBFundsConfirmationConsentResponse1/Data/StatusReason/StatusReasonCode Specifies the status reason in a code form. For a full list of enumeration values refer to OB_Internal_CodeSet here (opens new window) OBExternalStatusReason1Code
StatusReasonDescription 0..1 OBFundsConfirmationConsentResponse1/Data/StatusReason/StatusReasonDescription Description supporting the StatusReasonCode. Max500text
Path 0..1 OBFundsConfirmationConsentResponse1/Data/StatusReason/Path Path is optional but relevant when the status reason refers to an object/field and hence conditional to provide JSON path. Max500text
StatusUpdateDateTime 1..1 OBFundsConfirmationConsentResponse1/Data/StatusUpdateDateTime Date and time at which the resource status was updated. ISODateTime
DebtorAccount 1..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied. OBCashAccountDebtor4
SchemeName 1..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount/SchemeName Name of the identification scheme, in a coded form as published in an external list. For a full list of enumeration values refer to OB_Internal_CodeSet here (opens new window). OBInternalAccountIdentification4Code
Identification 1..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount/Identification Identification assigned by an institution to identify an account. This identification is known by the account owner. Max256Text
Name 0..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount/Name 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. Max350Text
SecondaryIdentification 0..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount/SecondaryIdentification 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). Max34Text
Proxy 0..1 OBFundsConfirmationConsentResponse1/Data/DebtorAccount/Proxy Specifies an alternate assumed name for the identification of the account. OBProxy1

# Data Payload - Enumerations

A full list of enumerations for both OBL and ISO 20022 used in the payloads can be found here (opens new window)

# Usage Examples

# POST - Funds Confirmation Consent

# Example with all permitted fields

# Request

Post Funds Confirmation Consent

POST /funds-confirmation-consents HTTP/1.1
Content-Type: application/json
Authorization: Bearer 1t1satruthun1v3rs4lly
Accept: application/json; charset=utf-8
x-fapi-auth-date: Mon, 13 Nov 2017 19:49:37 GMT    
x-fapi-customer-ip-address: 92.11.92.11
x-fapi-interaction-id: hook5i13-ntIg-4th3-rP41-3ro535touch3
{
  "Data": {
    "DebtorAccount": {
      "SchemeName": "UK.OBIE.IBAN",
      "Identification": "GB76LOYD30949301273801",
      "SecondaryIdentification": "Roll 56988",
      "Name": "Jane Smith",
      "Proxy": {
          "Identification": "+441632960540",
          "Code": "TELE",
          "Type": "Telephone"
        }
    },
    "ExpirationDateTime": "2017-05-02T00:00:00+00:00"
  }
}
# Response

Post Funds Confirmation Consent Response

HTTP/1.1 201 Created
Content-Type: application/json
x-fapi-interaction-id: hook5i13-ntIg-4th3-rP41-3ro535touch3
{
  "Data": {
    "ConsentId": "88379",
    "CreationDateTime": "2017-05-02T00:00:00+00:00",
    "Status": "AWAU",
    "StatusReason": [
      {
      "StatusReasonCode": "83",
      "StatusReasonDescription":"Pending completion next working day",
      }
    ],
    "StatusUpdateDateTime": "2017-05-02T00:00:00+00:00",
    "ExpirationDateTime": "2017-05-02T00:00:00+00:00",
    "DebtorAccount": {
      "SchemeName": "UK.OBIE.IBAN",
      "Identification": "GB76LOYD30949301273801",
      "SecondaryIdentification": "Roll 56988",
      "Name": "Jane Smith",
      "Proxy": {
        "Identification": "+441632960540",
        "Code": "TELE",
        "Type": "Telephone"
      },
    }
  },
  "Links": {
    "Self": "https://api.alphabank.com/open-banking/v4.0/cbpii/funds-confirmation-consents/88379"
  },
  "Meta": {}
}

# Example with all permitted fields

# Request

GET Funds Confirmation Consent Request

GET /funds-confirmation-consents/88379 HTTP/1.1
Authorization: Bearer Jhingapulaav
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Accept: application/json
# Response

GET Funds Confirmation Consent Response

HTTP/1.1 200 OK
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: application/json
{
  "Data": {
    "ConsentId": "88379",
    "CreationDateTime": "2017-05-02T00:00:00+00:00",
    "Status": "AWAU",
    "StatusUpdateDateTime": "2017-05-02T00:00:00+00:00",
    "ExpirationDateTime": "2017-05-02T00:00:00+00:00",
    "DebtorAccount": {
      "SchemeName": "UK.OBIE.IBAN",
      "Identification": "GB76LOYD30949301273801",
      "SecondaryIdentification": "Roll 56988",
      "Name": "Jane Smith",
      "Proxy": {
        "Identification": "+441632960540",
        "Code": "TELE",
        "Type": "Telephone"
      },
    },
  },
  "Links": {
    "Self": "https://api.alphabank.com/open-banking/v4.0/cbpii/funds-confirmation-consents/88379"
  },
  "Meta": {}
}

# Example with PAN as Account Identification

# Request

GET Funds Confirmation Consent Request

GET /funds-confirmation-consents/88999 HTTP/1.1
Authorization: Bearer a27393fd-12af-4aba-908d-faf042b2a7d9
x-fapi-interaction-id: 80e03097-b808-4557-b5f4-aa820c772e3c
Accept: application/json
# Response

GET Funds Confirmation Consent Response

HTTP/1.1 200 OK
x-fapi-interaction-id: 80e03097-b808-4557-b5f4-aa820c772e3c
Content-Type: application/json
{
  "Data": {
    "ConsentId": "88999",
    "CreationDateTime": "2017-05-02T00:00:00+00:00",
    "Status": "AWAU",
    "StatusReason": [
      {
      "StatusReasonCode": "83",
      "StatusReasonDescription":"Pending completion next working day",
      }
    ],
    "StatusUpdateDateTime": "2017-05-02T00:00:00+00:00",
    "ExpirationDateTime": "2017-05-02T00:00:00+00:00",
    "DebtorAccount": {
      "Name": "Jane Smith",
      "SchemeName": "UK.OBIE.PAN",
      "SecondaryIdentification": "008419",
      "Identification": "4444********1111",
      "Proxy":{
          "Identification": "441234012348",
          "Code": "TELE",
          "Type": "Telephone"
        }
    }
  },
  "Links": {
    "Self": "https://api.alphabank.com/open-banking/v4.0/cbpii/funds-confirmation-consents/88999"
  },
  "Meta": {}
}

# Example with all permitted fields

# Request

DELETE Funds Confirmation Consent Request

DELETE /funds-confirmation-consents/88379 HTTP/1.1
Authorization: Bearer Sarsonkasaag
x-fapi-auth-date: Sun, 10 Sep 2017 19:43:31 GMT
x-fapi-customer-ip-address: 104.25.212.99
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
# Response

DELETE Funds Confirmation Consent Response

HTTP/1.1 204 No Content
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d