Events - v3.1.2

  1. Overview
  2. Endpoints
    1. POST /events
  3. Data Model
    1. Aggregated Polling - Request
      1. UML Diagram
      2. Data Dictionary
    2. Aggregated Polling - Response
      1. UML Diagram
      2. Data Dictionary
    3. OBEventNotification2
      1. UML Diagram
      2. Notes
      3. Data Dictionary
    4. OBEventSubject1
      1. UML Diagram
      2. Notes
      3. Data Dictionary
    5. OBEventResourceUpdate2
      1. UML Diagram
      2. Data Dictionary
    6. OBEventConsentAuthorizationRevoked1
      1. UML Diagram
      2. Notes
      3. Data Dictionary
    7. OBEventAccountAccessConsentLinkedAccountUpdate1
      1. UML Diagram
      2. Notes
      3. Data Dictionary
  4. Usage Examples
    1. Poll Only
      1. POST Events Request
      2. POST Events Response
    2. Acknowledge Only
      1. POST Events Request
      2. POST Events Response
    3. Poll and Acknowledge With Errors
      1. POST Events Request
      2. POST Events Response

Overview

The Events resource is used by a TPP to retrieve multiple signed event notifications from an ASPSP.

This resource description should be read in conjunction with a compatible Aggregated Polling Profile.

Endpoints

| Resource |HTTP Operation |Endpoint |Mandatory? |Scope |Grant Type |Message Signing |Idempotency Key |Request Object |Response Object | | — |— |— |— |— |— |— |— |— |— | | events |POST |POST /events |Optional |eventpolling |Client Credentials |N/A |No |OBEventPolling1 |OBEventPollingResponse1 |

POST /events

The endpoint allows a TPP to poll for and acknowledge and receive event notifications.

  • The POST method allows the TPP to transmit their polling parameters and event notification acknowledgements.
  • The ASPSP responds accordingly, sending event notifications as indicated by the TPPs polling parameters.

Data Model

Aggregated Polling - Request

The OBEventPolling1 will be used as the request payload for:

  • POST /events

UML Diagram

OBEventPolling1

Data Dictionary

NameOccurrenceXPathEnhancedDefinitionClassCodesPattern
OBEventPolling11..1OBEventPolling1 OBEventPolling1  
maxEvents0..1OBEventPolling1/maxEventsMaximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if availablexs:int  
returnImmediately0..1OBEventPolling1/returnImmediatelyIndicates whether an ASPSP should return a response immediately or provide a long pollxs:boolean  
ack0..nOBEventPolling1/ackAn array of jti values indicating event notifications positively acknowledged by the TPPMax128Text  
setErrs0..1OBEventPolling1/setErrsAn object that encapsulates all negative acknowledgements transmitted by the TPPxs:anyType  
<jti>0..nOBEventPolling1/setErrs/<jti>A event notification error object entitled using the jti of the event notificationOBEventError1  
err1..1OBEventPolling1/setErrs/<jti>/errA value from the IANA “Security Event Token Delivery Error Codes” registry that identifies the error as defined hereMax40Text  
description1..1OBEventPolling1/setErrs/<jti>/descriptionA human-readable string that provides additional diagnostic informationMax256Text  

Aggregated Polling - Response

The OBEventPollingResponse1 will be used as the response payload for:

  • POST /events

UML Diagram

OBEventPollingResponse1

Data Dictionary

NameOccurrenceXPathEnhancedDefinitionClassCodesPattern
OBEventPollingResponse11..1OBEventPollingResponse1 OBEventPollingResponse1  
moreAvailable1..1OBEventPollingResponse1/moreAvailableA JSON boolean value that indicates if more unacknowledged event notifications are available to be returned.xs:boolean  
sets1..1OBEventPollingResponse1/setsA JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty.xs:anyType  
<jti>0..nOBEventPollingResponse1/sets/<jti>An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string. The payload of the event should be defined in the OBEventNotification2 format.xs:string  

OBEventNotification2

This section describes the OBEventNotification2 class which is used in the Real Time and Aggregated Event Notification API sub-specifications.

Note, the OBEventNotification2 object is aligned with the Security Event Token (https://tools.ietf.org/html/rfc8417). It acts as a wrapper for events contained within the events claim.

UML Diagram

OBEventNotification2

Notes

  • The rid, rty and rlk claims are prefixed with the OB namespace http://openbanking.org.uk in the data model. The namespace has been removed from the diagram for clarity.

Data Dictionary

NameOccurrenceXPathEnhancedDefinitionClassCodesPattern
OBEventNotification2OBEventNotification2  OBEventNotification2  
iss1..1OBEventNotification2/issIssuer.xs:anyURI  
iat1..1OBEventNotification2/iatIssued At.xs:int  
jti1..1OBEventNotification2/jtiJWT ID.Max128Text  
aud1..1OBEventNotification2/audAudience.Max128Text  
sub1..1OBEventNotification2/subSubject.xs:anyURI  
txn1..1OBEventNotification2/txnTransaction Identifier.Max128Text  
toe1..1OBEventNotification2/toeTime of Event.xs:int  
events1..1OBEventNotification2/eventsEvents.OBEvent2  
urn:uk:org:openbanking:events:resource-update0..1OBEventNotification2/events/urn:uk:org:openbanking:events:resource-updateResource-Update Event.OBEventResourceUpdate2  
urn:uk:org:openbanking:events:account-access-consent-linked-account-update0..1OBEventNotification2/events/urn:uk:org:openbanking:events:account-access-consent-linked-account-updateAn event that indicates an account linked to a consent has move in/out of scope of the consent.OBEventAccountAccessConsentLinkedAccountUpdate1  
urn:uk:org:openbanking:events:consent-authorization-revoked0..1OBEventNotification2/events/urn:uk:org:openbanking:events:consent-authorization-revokedAn event that indicates a consent resource has had its authorisation revoked.OBEventConsentAuthorizationRevoked1  

OBEventSubject1

This section describes the OBEventSubject1 class which is used in the OBEventResourceUpdate2, OBEventConsentAuthorizationRevoked1 and OBEventAccountAccessConsentLinkedAccountUpdate1 classes.

UML Diagram

OBEventSubject1

Notes

  • The rid, rty and rlk claims are prefixed with the OB namespace http://openbanking.org.uk in the data model. The namespace has been removed from the diagram for clarity.

  • The array of resource links (http://openbanking.org.uk/rlk) must contain links to all supported versions of the resource.

Data Dictionary

NameOccurrenceXPathEnhanced DefinitionClassCodesPattern
OBEventSubject1   OBEventSubject1  
subject_type1..1OBEventSubject1/subject_typeSubject type for the updated resource.Max128Texthttp://openbanking.org.uk/rid_http://openbanking.org.uk/rty 
http://openbanking.org.uk/rid1..1OBEventSubject1/http://openbanking.org.uk/ridResource Id for the updated resource.Max128Text  
http://openbanking.org.uk/rty1..1OBEventSubject1/http://openbanking.org.uk/rtyResource Type for the updated resource.Max128Text  
http://openbanking.org.uk/rlk1..nOBEventSubject1/http://openbanking.org.uk/rlkResource links to other available versions of the resource.OBEventLink1  
version1..1OBEventSubject1/http://openbanking.org.uk/rlk/versionResource version.Max10Text  
link1..1OBEventSubject1/http://openbanking.org.uk/rlk/linkResource link.xs:anyURI  

OBEventResourceUpdate2

This section describes the OBEventResourceUpdate2 class which is used in the OBEventNotification2 resource.

UML Diagram

resource-update

Data Dictionary

NameOccurrenceXPathEnhanced DefinitionClassCodesPattern
urn:uk:org:openbanking:events:resource-update  An event that indicates a resource has been updated.OBEventResourceDescriptor1  
subject1..1urn:uk:org:openbanking:events:resource-update/subjectThe subject of the event.OBEventSubject1  

OBEventConsentAuthorizationRevoked1

This section describes the OBEventConsentAuthorizationRevoked1 class which is used in the OBEventNotification2 resource.

UML Diagram

OBEventConsentAuthorizationRevoked1

Notes

For the OBEventConsentAuthorizationRevoked1 object:

  • The subject claim must be populated if the Event Notification does not include a urn:uk:org:openbanking:events:resource-update event.

Data Dictionary

NameOccurrenceXPathEnhanced DefinitionClassCodesPattern
urn:uk:org:openbanking:events:consent-authorization-revoked  An event that indicates a consent resource has had its authorisation revoked.OBEventConsentAuthorizationRevoked1  
reason0..1urn:uk:org:openbanking:events:consent-authorization-revoked/reasonReason for the Consent Authorization Revoked event.OBExternalEventConsentAuthorizationRevokedReason1Code  
subject0..1urn:uk:org:openbanking:events:consent-authorization-revoked/subjectThe subject of the event.OBEventSubject1  

OBEventAccountAccessConsentLinkedAccountUpdate1

This section describes the OBEventAccountAccessConsentLinkedAccountUpdate1 class which is used in the OBEventNotification2 resource.

UML Diagram

OBEventAccountAccessConsentLinkedAccountUpdate1

Notes

For the OBEventAccountAccessConsentLinkedAccountUpdate object:

  • The http://openbanking.org.uk/rty claim must be populated with “account-access-consent”.

Data Dictionary

NameOccurrenceXPathEnhanced DefinitionClassCodesPattern
urn:uk:org:openbanking:events:account-access-consent-linked-account-update  An event that indicates an account linked to a consent has move in/out of scope of the consent.OBEventAccountAccessConsentLinkedAccountUpdate1  
reason0..1urn:uk:org:openbanking:events:account-access-consent-linked-account-update/reasonReason for the Account Access Consent Linked Account Update event.OBExternalEventAccountAccessConsentLinkedAccountUpdateReason1Code  
subject1..1urn:uk:org:openbanking:events:account-access-consent-linked-account-update/subjectThe subject of the event.OBEventSubject1  

Usage Examples

Note for the sake of readability the SETs shown in examples are shorted.

Poll Only

POST Events Request

POST /event HTTP/1.1

Authorization: Bearer 7b99f6c331e841dab811176e25d57ca7
Content-Type: application/json
x-fapi-interaction-id: 1af4c0e6b5da49f6b1aebf439e87c199
{
  "returnImmediately": true
}

POST Events Response

POST /event HTTP/1.1

Content-Type: application/json
x-fapi-interaction-id: 1af4c0e6b5da49f6b1aebf439e87c199
{
  "sets": {
    "b6a68c1db7fc4c178fd7d8a41b9ef85c": "eyJhbG...NEysZ4",
    "2644f8cbc8294325ad103ddfc4a5b15d": "eyJhbG...Qssw5c",
    "1fd954d5fb964afb97deee232bb88d1f": "eyJhbG...9kogfI"
  },
  "moreAvailable": false
}

Acknowledge Only

POST Events Request

POST /event HTTP/1.1

Authorization: Bearer 7b99f6c331e841dab811176e25d57ca7
Content-Type: application/json
x-fapi-interaction-id: 295f6c6c7b2045b2a3e91e4f1c31d681
 
{
  "maxEvents": 0,
  "ack": [ "b6a68c1db7fc4c178fd7d8a41b9ef85c" ]
}

POST Events Response

POST /event HTTP/1.1

Content-Type: application/json
x-fapi-interaction-id: 295f6c6c7b2045b2a3e91e4f1c31d681
{
  "sets": { }
}

Poll and Acknowledge With Errors

POST Events Request

POST /event HTTP/1.1

Authorization: Bearer 7b99f6c331e841dab811176e25d57ca7
Content-Type: application/json
x-fapi-interaction-id: 3fc0df586e45404abd5bbf1b23ce343d
{
  "returnImmediately": true,
  "maxEvents": 1,
  "ack": [ "2644f8cbc8294325ad103ddfc4a5b15d" ],
  "setErrs": {
    "1fd954d5fb964afb97deee232bb88d1f": {
      "err": "jwtIss",
      "description": "Issuer is invalid or could not be verified"
    }
  }
}

POST Events Response

POST /event HTTP/1.1

Content-Type: application/json
x-fapi-interaction-id: 3fc0df586e45404abd5bbf1b23ce343d
{
  "sets": {
    "25fd4432da4e4e609033a733aea68a54": "eyJhbG...8o8PLY"
  },
  "moreAvailable": true
}