Danske Bank (UK) Events API

OBIE Read/Write Event Notification API (v4.0) delivering real-time notifications on account and payment activities to registered TPPs. FAPI-secured with OAuth2/OIDC and mutual-TLS; requires TPP onboarding via the Open Banking Directory.

OpenAPI Specification

danske-bank-uk-events-openapi.json Raw ↑
{"openapi":"3.0.1","info":{"title":"Events - UK OB","description":"Receive real-time notifications on account and payment activities.","version":"4.0.0"},"paths":{"/events":{"post":{"tags":["Events"],"summary":"Create Events","operationId":"CreateEvents","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/x-fapi-auth-date"},{"$ref":"#/components/parameters/x-fapi-customer-ip-address"},{"$ref":"#/components/parameters/x-fapi-interaction-id"},{"$ref":"#/components/parameters/x-customer-user-agent"}],"requestBody":{"$ref":"#/components/requestBodies/OBEventPolling1Param"},"responses":{"200":{"$ref":"#/components/responses/200EventsRead"},"201":{"$ref":"#/components/responses/201EventsCreated"},"400":{"$ref":"#/components/responses/400Error"},"401":{"$ref":"#/components/responses/401Error"},"403":{"$ref":"#/components/responses/403Error"},"404":{"$ref":"#/components/responses/404Error"},"405":{"$ref":"#/components/responses/405Error"},"406":{"$ref":"#/components/responses/406Error"},"415":{"$ref":"#/components/responses/415Error"},"429":{"$ref":"#/components/responses/429Error"},"500":{"$ref":"#/components/responses/500Error"},"503":{"$ref":"#/components/responses/503Error"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"x-customer-user-agent":{"name":"x-customer-user-agent","in":"header","description":"Indicates the user-agent that the PSU is using.","required":false,"schema":{"type":"string"}},"x-fapi-customer-ip-address":{"name":"x-fapi-customer-ip-address","in":"header","required":false,"description":"The PSU's IP address if the PSU is currently logged in with the TPP.","schema":{"type":"string"}},"x-fapi-auth-date":{"name":"x-fapi-auth-date","in":"header","required":false,"description":"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","schema":{"type":"string","pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$"}},"x-fapi-interaction-id":{"name":"x-fapi-interaction-id","in":"header","required":false,"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}},"x-idempotency-key":{"name":"x-idempotency-key","in":"header","description":"Every request will be processed only once per x-idempotency-key.  The\nIdempotency Key will be valid for 24 hours.\n","required":true,"schema":{"type":"string","maxLength":40,"pattern":"^(?!\\s)(.*)(\\S)$"}},"x-jws-signature":{"name":"x-jws-signature","in":"header","required":true,"description":"A detached JWS signature of the body of the payload.","schema":{"type":"string"}}},"requestBodies":{"OBEventPolling1Param":{"description":"Default","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBEventPolling1"}}},"required":true}},"schemas":{"OBError1":{"type":"object","minProperties":1,"additionalProperties":false,"required":["ErrorCode"],"properties":{"ErrorCode":{"$ref":"#/components/schemas/OBExternalStatusReason1Code"},"Message":{"description":"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","type":"string","minLength":1,"maxLength":500},"Path":{"description":"Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency","type":"string","minLength":1,"maxLength":500},"Url":{"description":"URL to help remediate the problem, or provide more information, or to API Reference, or help etc","type":"string"}}},"OBErrorResponse1":{"description":"An array of detail error codes, and messages, and URLs to documentation to help remediation.","type":"object","additionalProperties":false,"required":["Errors"],"properties":{"Id":{"description":"A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.","type":"string","minLength":1,"maxLength":40},"Errors":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/OBError1"}}}},"OBEventPolling1":{"type":"object","additionalProperties":false,"properties":{"maxEvents":{"description":"Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available","type":"integer"},"returnImmediately":{"description":"Indicates whether an ASPSP should return a response immediately or provide a long poll","type":"boolean"},"ack":{"type":"array","items":{"description":"An array of jti values indicating event notifications positively acknowledged by the TPP","type":"string","minLength":1,"maxLength":128}},"setErrs":{"description":"An object that encapsulates all negative acknowledgements transmitted by the TPP","type":"object","additionalProperties":{"type":"object","required":["err","description"],"properties":{"err":{"description":"A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here https://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes","type":"string","minLength":1,"maxLength":40},"description":{"description":"A human-readable string that provides additional diagnostic information","type":"string","minLength":1,"maxLength":256}}}}}},"OBEventPollingResponse1":{"type":"object","additionalProperties":false,"required":["moreAvailable","sets"],"properties":{"moreAvailable":{"description":"A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned.","type":"boolean"},"sets":{"description":"A 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.","type":"object","additionalProperties":{"description":"An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format.","type":"string"}}}},"OBExternalStatusReason1Code":{"description":"Low level textual error code, for all enum values see `ExternalReturnReason1Code` here - https://github.com/OpenBankingUK/External_Interal_CodeSets/","type":"string","minLength":4,"maxLength":4,"example":"AC17"}},"responses":{"201EventsCreated":{"description":"Events Created","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBEventPollingResponse1"}}}},"200EventsRead":{"description":"Read awaiting events","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBEventPollingResponse1"}}}},"400Error":{"description":"Bad request","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBErrorResponse1"}}}},"401Error":{"description":"Unauthorized","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"403Error":{"description":"Forbidden","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBErrorResponse1"}}}},"404Error":{"description":"Not found","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"405Error":{"description":"Method Not Allowed","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"406Error":{"description":"Not Acceptable","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"409Error":{"description":"Conflict","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"415Error":{"description":"Unsupported Media Type","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"429Error":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Number in seconds to wait","schema":{"type":"integer"}},"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}}},"500Error":{"description":"Internal Server Error","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBErrorResponse1"}}}},"503Error":{"description":"Service temporary unavailable","headers":{"x-fapi-interaction-id":{"description":"An RFC4122 UID used as a correlation id.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OBErrorResponse1"}}}}}},"servers":[{"description":"prod Environment","url":"https://obp-api.danskebank.com/open-banking/v4.0"}]}