--- swagger: "2.0" info: version: 3.1.0 title: PSD2 AIS description: This set of methods involves the implementation of a PSD2 compliant API based on Berlin Group XS2A Framework. contact: name: Piraeus Bank rAPIdLink url: https://rapidlink.piraeusbank.gr email: rapidlink@piraeusbank.gr x-ibm-name: PSD2_AIS termsOfService: Terms and Conditions license: name: Terms and Conditions of Use url: https://rapidlink.piraeusbank.gr/terms basePath: /psd2/v3.1 schemes: - https consumes: - application/json produces: - application/json - lisa.pavlidi@gr.ey.com paths: /consents: post: description: This method creates a consent resource, defining access rights to dedicated accounts of a given PSU-ID. These accounts are addressed explicitly in the method as parameters as a core function. When this Consent Request is a request where the "recurringIndicator" equals "true", and if a former consent already exists for recurring access on account information for the addressed PSU, then the former consent automatically expires as soon as the new consent request is authorised by the PSU. summary: createConsent tags: - Account Information Service (AIS) operationId: V1ConsentsPost deprecated: false produces: - application/json parameters: - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-ID in: header required: false type: string description: |- Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. - name: PSU-ID-Type in: header required: false type: string description: Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. - name: PSU-Corporate-ID in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: PSU-Corporate-ID-Type in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: TPP-Redirect-Preferred in: header required: false enum: - true - false type: string description: |- If it equals "true", the TPP prefers a redirect over an embedded SCA approach. If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. - name: TPP-Redirect-URI in: header required: false type: string description: |- URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach, specifically when TPP-Redirect-Preferred equals "true". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. - name: TPP-Nok-Redirect-URI in: header required: false type: string description: |- If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. - name: TPP-Explicit-Authorisation-Preferred in: header required: false enum: - true - false type: string description: |- If it equals "true", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. If it equals "false" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. - name: body in: body required: false description: Requestbody for a consents request schema: $ref: '#/definitions/consents' responses: 201: description: Created schema: $ref: '#/definitions/consentsResponse-201' headers: Location: type: string X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 ASPSP-SCA-Approach: type: string default: EMBEDDED 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /consents/{consentId}: get: description: | Returns the content of an account information consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach. summary: getConsentInformation tags: - Account Information Service (AIS) operationId: V1ConsentsByConsentIdGet deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/consentInformationResponse-200_json' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error delete: description: The TPP can delete an account information consent object if needed. summary: deleteConsent tags: - Account Information Service (AIS) operationId: V1ConsentsByConsentIdDelete deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 204: description: No Content headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' /consents/{consentId}/status: get: description: Read the status of an account information consent resource. summary: getConsentStatus tags: - Account Information Service (AIS) operationId: V1ConsentsStatusByConsentIdGet deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/consentStatusResponse-200' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /consents/{consentId}/authorisations: post: description: Create an authorisation sub-resource and start the authorisation process of a consent. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the consent. summary: startConsentAuthorisation tags: - Account Information Service (AIS) operationId: V1ConsentsAuthorisationsByConsentIdPost deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-ID in: header required: false type: string description: |- Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. - name: PSU-ID-Type in: header required: false type: string description: Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. - name: PSU-Corporate-ID in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: PSU-Corporate-ID-Type in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: TPP-Redirect-Preferred in: header required: false enum: - true - false type: string description: |- If it equals "true", the TPP prefers a redirect over an embedded SCA approach. If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. - name: TPP-Redirect-URI in: header required: false type: string description: |- URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach, specifically when TPP-Redirect-Preferred equals "true". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. - name: TPP-Nok-Redirect-URI in: header required: false type: string description: |- If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. - name: body in: body required: false description: "" schema: $ref: '#/definitions/transactionAuthorisation' responses: 201: description: Created schema: $ref: '#/definitions/startScaprocessResponse' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 ASPSP-SCA-Approach: type: string default: EMBEDDED 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /consents/{consentId}/authorisations/{authorisationId}: get: description: This method returns the SCA status of a consent initiation's authorisation sub-resource. summary: getConsentScaStatus operationId: V1ConsentsAuthorisationsByConsentIdAndAuthorisationIdGet deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: authorisationId in: path required: true type: string description: Resource identification of the related SCA. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: The certificate used for signing the request, in base64 encoding.Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. - name: body in: body required: false description: "" schema: $ref: '#/definitions/transactionAuthorisation' responses: 200: description: OK schema: $ref: '#/definitions/scaStatusResponse' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 ASPSP-SCA-Approach: type: string default: EMBEDDED 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Unauthorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Forbidden schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Method Not Allowed schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error put: summary: updateConsentsPsuData operationId: V1ConsentsAuthorisationsByConsentIdAndAuthorisationIdPut description: 'This method update PSU data on the consents resource if needed.It may authorise a consent within the Embedded SCA Approach where needed.Independently from the SCA Approach it supports e.g. the selection ofthe authentication method and a non-SCA PSU authentication.This methods updates PSU data on the cancellation authorisation resource if needed.There are several possible Update PSU Data requests in the context of a consent request if needed,which depends on the SCA approach:* Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach.* Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods.* Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation.The SCA Approach might depend on the chosen SCA method.For that reason, the following possible Update PSU Data request can apply to all SCA approaches:* Select an SCA method in case of several SCA methods are available for the customer.There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change.' deprecated: false produces: - application/json parameters: - name: consentId in: path required: true type: string description: ID of the corresponding consent object as returned by an Account Information Consent Request. - name: authorisationId in: path required: true type: string description: Resource identification of the related SCA. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-ID in: header required: false type: string description: |- Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. - name: PSU-ID-Type in: header required: false type: string description: Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. - name: PSU-Corporate-ID in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: PSU-Corporate-ID-Type in: header required: false type: string description: Might be mandated in the ASPSP's documentation. Only used in a corporate context. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. - name: body in: body required: false description: 'The request body has one of the following schemas, depending on the data to be updated: 1) selectPsuAuthenticationMethod, 2) transactionAuthorisation. The respective success responses (200 OK) are 1)SelectPsuAuthenticationMethodResponse and 2)scaStatusResponse.' schema: type: object responses: 200: description: OK schema: type: object headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 ASPSP-SCA-Approach: type: string default: EMBEDDED 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Unauthorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Forbidden schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Method Not Allowed schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /accounts: get: description: Read the identifiers of the available payment account together with booking balance information, depending on the consent granted. summary: getAccountList tags: - Account Information Service (AIS) operationId: V1AccountsGet deprecated: false produces: - application/json parameters: - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: withBalance in: query required: false type: boolean description: |- If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/accountList' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /accounts/{account-id}: get: description: Reads details about an account, with balances where required. summary: readAccountDetails tags: - Account Information Service (AIS) operationId: V1AccountsByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: withBalance in: query required: false type: boolean description: |- If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/accountDetails' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /accounts/{account-id}/balances: get: description: Reads account balances data from a given account addressed by "account-id" summary: getBalances tags: - Account Information Service (AIS) operationId: V1AccountsBalancesByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/readAccountBalanceResponse-200' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /accounts/{account-id}/transactions: get: description: Read transaction reports or transaction lists of a given account ddressed by "account-id", depending on the steering parameter "bookingStatus" together with balances. For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". summary: getTransactionList tags: - Account Information Service (AIS) operationId: V1AccountsTransactionsByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: bookingStatus in: query required: true enum: - booked - pending - both type: string description: |- Permitted codes are * "booked", * "pending" and * "both" "booked" shall be supported by the ASPSP. To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: dateFrom in: query required: false type: string format: date description: |- Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. - name: dateTo in: query required: false type: string format: date description: |- End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. - name: entryReferenceFrom in: query required: false type: string description: |- This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider. - name: deltaList in: query required: false type: boolean description: |- This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider - name: withBalance in: query required: false type: boolean description: |- If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/transactionsResponse-200_json' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /accounts/{account-id}/transactions/{resourceId}: get: description: Reads transaction details from a given transaction addressed by "resourceId" on a given account addressed by "account-id". summary: getTransactionDetails tags: - Account Information Service (AIS) operationId: V1AccountsTransactionsByAccountIdAndResourceIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: resourceId in: path required: true type: string description: This identification is given by the attribute resourceId of the corresponding entry of a transaction list. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/transactionDetails' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Status Invalid schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /card-accounts: get: description: | Reads a list of card accounts with additional information, e.g. balance information. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of card accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token. summary: getCardAccount tags: - Account Information Service (AIS) operationId: V1CardAccountsGet deprecated: false produces: - application/json parameters: - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/cardAccountList' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /card-accounts/{account-id}: get: description: | Reads details about a card account. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token. summary: ReadCardAccount tags: - Account Information Service (AIS) operationId: V1CardAccountsByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/cardAccountDetails' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /card-accounts/{account-id}/balances: get: description: | Reads balance data from a given card account addressed by "account-id". Remark: This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the "GET Card Account List" call summary: getCardAccountBalances tags: - Account Information Service (AIS) operationId: V1CardAccountsBalancesByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/readCardAccountBalanceResponse-200' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' /card-accounts/{account-id}/transactions: get: description: | Reads account data from a given card account addressed by "account-id". summary: getCardAccountTransactionList tags: - Account Information Service (AIS) operationId: V1CardAccountsTransactionsByAccountIdGet deprecated: false produces: - application/json parameters: - name: account-id in: path required: true type: string description: |- This identification is denoting the addressed account. The account-id is retrieved by using a "Read Account List" call. The account-id is the "id" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. - name: bookingStatus in: query required: true enum: - booked - pending - both type: string description: |- Permitted codes are * "booked", * "pending" and * "both" "booked" shall be supported by the ASPSP. To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend - name: X-Request-ID in: header required: true type: string format: uuid description: ID of the request, unique to the call, as determined by the initiating party. - name: Consent-ID in: header required: true type: string description: This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. - name: dateFrom in: query required: false type: string format: date description: |- Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. - name: dateTo in: query required: false type: string format: date description: |- End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. - name: entryReferenceFrom in: query required: false type: string description: |- This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider. - name: deltaList in: query required: false type: boolean description: |- This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider - name: withBalance in: query required: false type: boolean description: |- If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. - name: Digest in: header required: false type: string description: Is contained if and only if the "Signature" element is contained in the header of the request. - name: Signature in: header required: false type: string description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. - name: TPP-Signature-Certificate in: header required: false type: string description: |- The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. - name: PSU-IP-Address in: header required: false type: string description: |- The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. - name: PSU-IP-Port in: header required: false type: string description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. - name: PSU-Accept in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Charset in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Encoding in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-Accept-Language in: header required: false type: string description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. - name: PSU-User-Agent in: header required: false type: string description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available. - name: PSU-Http-Method in: header required: false enum: - GET - POST - PUT - PATCH - DELETE type: string description: |- HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE - name: PSU-Device-ID in: header required: false type: string format: uuid description: |- UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. - name: PSU-Geo-Location in: header required: false type: string pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6} description: The forwarded Geo Location of the corresponding http request between PSU and TPP if available. responses: 200: description: OK schema: $ref: '#/definitions/cardAccountsTransactionsResponse200' headers: X-Request-ID: type: string default: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721 400: description: Bad Request schema: $ref: '#/definitions/Error400_NG_AIS' 401: description: Not Authorized schema: $ref: '#/definitions/Error401_NG_AIS' 403: description: Consent Unknown schema: $ref: '#/definitions/Error403_NG_AIS' 404: description: Not Found schema: $ref: '#/definitions/Error404_NG_AIS' 405: description: Service Invalid schema: $ref: '#/definitions/Error405_NG_AIS' 406: description: Not Acceptable schema: $ref: '#/definitions/Error406_NG_AIS' 408: description: Request Timeout schema: $ref: '#/definitions/Error408_NG_AIS' 409: description: Conflict schema: $ref: '#/definitions/Error409_NG_AIS' 415: description: Unsupported Media Type schema: $ref: '#/definitions/Error415_NG_AIS' 429: description: Too Many Requests schema: $ref: '#/definitions/Error429_NG_AIS' 503: description: Service Unavailable schema: $ref: '#/definitions/Error503_NG_AIS' default: description: Internal Server Error parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/X-IBM-Client-Id' - $ref: '#/parameters/X-Client-Certificate' definitions: transactionStatus: description: |- The transaction status is filled with codes of the ISO 20022 data table: - 'ACCC' (AcceptedSettlementCompleted): Settlement on the creditor's account has been completed. - 'ACCP' (AcceptedCustomerProfile): Preceding check of technical validation was successful. Customer profile check was also successful. - 'ACSC' (AcceptedSettlementCompleted): Settlement on the debtor's account has been completed. This can be used by the first agent to report to the debtor that the transaction has been completed and is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement. - 'ACSP' (AcceptedSettlementInProcess): All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. - 'ACTC' (AcceptedTechnicalValidation): Authentication and syntactical and semantic validation are successful. - 'ACWC' (AcceptedWithChange): Instruction is accepted but a change will be made, such as date or remittance not sent. - 'ACWP' (AcceptedWithoutPosting): Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account. - 'RCVD' (Received): Payment initiation has been received by the receiving agent. - 'PDNG' (Pending): Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed. - 'RJCT' (Rejected): Payment initiation or individual transaction included in the payment initiation has been rejected. - 'CANC' (Cancelled): Payment initiation has been cancelled before execution. This code is accepted as new code by ISO20022. - 'ACFC' (AcceptedFundsChecked): Preceding check of technical validation and customer profile was successful and an automatic funds check was positive. This code is accepted as new code by ISO20022. - 'PATC' (PartiallyAcceptedTechnical): Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantic validations are successful. This code is accepted as new code by ISO20022. - 'PART' (PartiallyAccepted): A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status. This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected. example: ACCC type: string enum: - ACCC - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC - ACFC - PATC - PART scaStatus: description: |- This data element is containing information about the status of the SCA method applied. The following codes are defined for this data type. - 'received': An authorisation or cancellation-authorisation resource has been created successfully. - 'psuIdentified': The PSU related to the authorisation or cancellation-authorisation resource has been identified. - 'psuAuthenticated': The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token. - 'scaMethodSelected': The PSU/TPP has selected the related SCA routine. If the SCA method is chosen implicitly since only one SCA method is available, then this is the first status to be reported instead of 'received'. - 'started': The addressed SCA routine has been started. - 'finalised': The SCA routine has been finalised successfully. - 'failed': The SCA routine failed. - 'exempted': SCA was exempted for the related transaction, the related authorisation is successful. example: received type: string enum: - received - psuIdentified - psuAuthenticated - scaMethodSelected - started - finalised - failed - exempted consentStatus: description: |- This is the overall lifecycle status of the consent. Valid values are: - 'received': The consent data have been received and are technically correct. The data is not authorised yet. - 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place. - 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object. - 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP. - 'expired': The consent expired. - 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource. example: received type: string enum: - received - rejected - valid - revokedByPsu - expired - terminatedByTpp authenticationObject: description: Authentication Object type: object properties: authenticationType: $ref: '#/definitions/authenticationType' authenticationVersion: description: |- Depending on the "authenticationType". This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. This version can be referred to in the ASPSP?s documentation. type: string authenticationMethodId: description: An identification provided by the ASPSP for the later identification of the authentication method selection. example: myAuthenticationID type: string maxLength: 35 name: description: |- This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. Alternatively this could be a description provided by the ASPSP like "SMS OTP on phone +49160 xxxxx 28". This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available. example: SMS OTP on phone +49160 xxxxx 28 type: string explanation: description: Detailed information about the SCA method for the PSU. example: Detailed information about the SCA method for the PSU. type: string required: - authenticationType - authenticationMethodId authenticationType: description: |- Type of the authentication method. Valid values: - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel. - 'CHIP_OTP': An SCA method, where an OTP is generated at predefined intervals, by a chip device. - 'PUSH_OTP': An OTP is pushed to the PSU's registered winbank mobile APP and displayed to the PSU. - 'TOUCH_OTP': A request for approval is sent to PSU's registered winbank mobile app. If PSU approves the transaction, using phones touch functionality or dedicated pin, the SCA gets completed automatically. example: SMS_OTP type: string enum: - SMS_OTP - CHIP_OTP - PUSH_OTP - TOUCH_OTP challengeData: description: It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link. type: object properties: image: description: |- PNG data (max. 512 kilobyte) to be displayed to the PSU, Base64 encoding, cp. [RFC4648]. This attribute is used only, when PHOTO_OTP or CHIP_OTP is the selected SCA method. type: string data: description: String challenge data type: string imageLink: description: A link where the ASPSP will provides the challenge image for the TPP. type: string otpMaxLength: description: The maximal length for the OTP to be typed in by the PSU. type: integer format: int32 otpFormat: $ref: '#/definitions/OtpFormat' additionalInformation: description: |- Additional explanation for the PSU to explain e.g. fallback mechanism for the chosen SCA method. The TPP is obliged to show this to the PSU. type: string hrefType: description: Link to a resource type: object properties: href: description: Link to a resource example: /payments/sepa-credit-transfers/1234-wertiq-983 type: string accountReference: description: |- Reference to an account by either: - IBAN, of a payment accounts, or - BBAN, for payment accounts if there is no IBAN, or - the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or - the Primary Account Number (PAN) of a card in a masked form, or - an alias to access a payment account via a registered mobile phone number (MSISDN). type: object properties: iban: description: IBAN of an account example: FR7612345987650123456789014 type: string pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}' bban: description: |- Basic Bank Account Number (BBAN) Identifier This data element can be used in the body of the Consent Request Message for retrieving Account access Consent from this Account. This data elements is used for payment Accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer. example: BARC12345612345678 type: string pattern: '[a-zA-Z0-9]{1,30}' pan: description: Primary Account Number according to ISO/IEC 7812. example: 5409050000000000 type: string maxLength: 35 maskedPan: description: Masked Primary Account Number example: 123456xxxxxx1234 type: string maxLength: 35 msisdn: description: Mobile phone number. example: +49 170 1234567 type: string maxLength: 35 currency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' balanceType: description: |- The following balance types are defined: - "closingBooked": Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. For card-accounts, this is composed of invoiced, but not yet paid entries. - "expected": Balance composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. For card accounts, this is composed of: i) invoiced, but not yet paid entries, ii) not yet invoiced but already booked entries and iii) pending items (not yet booked) - "authorised": The expected balance together with the value of a pre-approved credit line the ASPSP makes permanently available to the user. For card-accounts: "money to spend with the value of a pre-approved credit limit on the card account" - "openingBooked": Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report. - "interimAvailable": Available balance calculated in the course of the account ?servicer?s business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. For card-accounts, this is composed of: i) invoiced, but not yet paid entries, ii) not yet invoiced but already booked entries - "forwardAvailable": Forward available balance of money that is at the disposal of the account owner on the date specified. - "nonInvoiced": Only for card accounts, to be checked yet. example: closingBooked type: string enum: - closingBooked - expected - authorised - openingBooked - interimAvailable - interimBooked - forwardAvailable - nonInvoiced accountAccess: description: Requested access services for a consent. type: object properties: accounts: description: |- Is asking for detailed account information. If the array is empty, the TPP is asking for an accessible account list. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for balances or transactions shall be empty, if used. type: array items: $ref: '#/definitions/accountReference' balances: description: |- Is asking for balances of the addressed accounts. If the array is empty, the TPP is asking for the balances of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or transactions shall be empty, if used. type: array items: $ref: '#/definitions/accountReference' transactions: description: |- Is asking for transactions of the addressed accounts. If the array is empty, the TPP is asking for the transactions of all accessible account lists. This may be restricted in a PSU/ASPSP authorization dialogue. If the array is empty, also the arrays for accounts or balances shall be empty, if used. type: array items: $ref: '#/definitions/accountReference' availableAccounts: $ref: '#/definitions/AvailableAccounts' allPsd2: $ref: '#/definitions/AllPsd2' accountStatus: description: |- Account status. The value is one of the following: - "enabled": account is available - "deleted": account is terminated - "blocked": account is blocked e.g. for legal reasons If this field is not used, than the account is available in the sense of this specification. example: enabled type: string enum: - enabled - deleted - blocked accountDetails: description: |- The bank provides at least one of the account reference identifiers: - iban - bban - pan - maskedPan - msisdn If the account is a multicurrency account, currency code in "currency" is set to "XXX". type: object properties: resourceId: description: This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. type: string iban: description: IBAN of an account example: FR7612345987650123456789014 type: string pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}' bban: description: |- Basic Bank Account Number (BBAN) Identifier This data element can be used in the body of the Consent Request Message for retrieving Account access Consent from this Account. This data elements is used for payment Accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer. example: BARC12345612345678 type: string pattern: '[a-zA-Z0-9]{1,30}' msisdn: description: Mobile phone number. example: +49 170 1234567 type: string maxLength: 35 currency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' name: description: Name of the account given by the bank or the PSU in online-banking. type: string maxLength: 35 product: description: Product name of the bank for this account, proprietary definition. type: string maxLength: 35 cashAccountType: description: ExternalCashAccountType1Code from ISO 20022. type: string status: $ref: '#/definitions/accountStatus' bic: description: BICFI example: AAAADEBBXXX type: string pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' linkedAccounts: description: Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on. type: string maxLength: 70 usage: $ref: '#/definitions/Usage' details: description: |- Specifications that might be provided by the ASPSP - characteristics of the account - characteristics of the relevant card type: string maxLength: 140 balances: description: |- A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/definitions/balance' _links: $ref: '#/definitions/_linksAccountDetails' ownerName: type: string description: Name of the primary beneficiary. required: - currency cardAccountDetails: description: Card account details type: object properties: resourceId: description: |- This is the data element to be used in the path when retrieving data from a dedicated account. This shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint. type: string maskedPan: description: Masked Primary Account Number example: 123456xxxxxx1234 type: string maxLength: 35 currency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' name: description: Name of the account, as assigned by the ASPSP, in order to provide an additional means of identification of the account. In card accounts, it is used to distinguish cards between primary and add-on. In account details, it provides the account kind (e.g. joint tenant account) type: string maxLength: 35 product: description: Product name of the bank for this account, proprietary definition. type: string maxLength: 35 status: $ref: '#/definitions/accountStatus' usage: $ref: '#/definitions/Usage' details: description: |- Specifications that might be provided by the ASPSP - characteristics of the account - characteristics of the relevant card type: string maxLength: 140 creditLimit: $ref: '#/definitions/amount' balances: description: |- A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/definitions/balance' _links: $ref: '#/definitions/_linksAccountDetails' cardAccountType: type: string description: Type of card (credit, debit, prepaid) linkedAccount: type: string description: The account to which the card is linked (if available) ownerName: type: string description: Name of the card holder. displayName: type: string description: The account name (alias), as defined by the PSU within online channels pan: type: string description: Primary Account Number (unmasked) example: "1234567890001234" required: - currency accountList: description: List of accounts with details. type: object properties: accounts: type: array items: $ref: '#/definitions/accountDetails' description: Array of accountDetails objects. required: - accounts cardAccountList: description: List of card accounts with details. type: object properties: cardAccounts: type: array items: $ref: '#/definitions/cardAccountDetails' required: - cardAccounts accountReport: description: |- JSON based account report. This account report contains transactions resulting from the query parameters. - 'booked' shall be contained if bookingStatus parameter is set to "booked" or "both". - 'pending' is not contained if the bookingStatus parameter is set to "booked". type: object properties: booked: description: Array of transaction details type: array items: $ref: '#/definitions/transactionDetails' pending: description: Array of transaction details type: array items: $ref: '#/definitions/transactionDetails' _links: $ref: '#/definitions/_linksAccountReport' required: - _links cardAccountReport: description: |- JSON based card account report. This card account report contains transactions resulting from the query parameters. type: object properties: booked: description: Array of transaction details type: array items: $ref: '#/definitions/cardTransaction' pending: description: Array of transaction details type: array items: $ref: '#/definitions/cardTransaction' _links: $ref: '#/definitions/_linksCardAccountReport' required: - booked - _links transactionDetails: description: Transaction details type: object properties: transactionId: description: Unique identification. Can be used as access-ID in the API, where more details on an transaction is offered.If this data attribute is provided this shows that the AIS can get access on more details about thistransaction using the GET Transaction Details Request type: string entryReference: description: Identification of the transaction as used for reference in pagination or for delta function on application level. The same identification as for example used within camt.05x messages. type: string maxLength: 35 endToEndId: description: End to end idenitification, used for cross-reference in internal bank systems. Unique in single transactions performed via the electronic channels. type: string maxLength: 35 mandateId: description: Identification of Mandates, e.g. a SEPA Mandate ID. type: string maxLength: 35 checkId: description: Identification of a Cheque. type: string maxLength: 35 creditorId: description: Identification of Creditors, e.g. a SEPA Creditor ID. type: string maxLength: 35 bookingDate: description: The Date when an entry is posted to an account on the ASPSPs books. type: string format: date valueDate: description: The Date at which assets become available to the account owner in case of a credit. type: string format: date transactionAmount: $ref: '#/definitions/amount' currencyExchange: description: Array of exchange rates type: array items: $ref: '#/definitions/reportExchangeRate' creditorName: description: Creditor Name example: Creditor Name type: string maxLength: 70 creditorAccount: $ref: '#/definitions/accountReference' ultimateCreditor: description: Ultimate Creditor example: Ultimate Creditor type: string maxLength: 70 debtorName: description: Debtor Name example: Debtor Name type: string maxLength: 70 debtorAccount: $ref: '#/definitions/accountReference' ultimateDebtor: description: Ultimate Debtor example: Ultimate Debtor type: string maxLength: 70 remittanceInformationUnstructured: description: Unstructured remittance information example: Ref Number Merchant type: string maxLength: 140 remittanceInformationStructured: description: |- Reference as contained in the structured remittance reference structure (without the surrounding XML structure). Different from other places the content is containt in plain form not in form of a structered field. type: string maxLength: 140 additionalInformation: description: Might be used by the ASPSP to transport additional transaction related information to the PSU. type: string maxLength: 512 purposeCode: $ref: '#/definitions/purposeCode' bankTransactionCode: description: |- Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. This code type is concatenating the three ISO20022 Codes * Domain Code, * Family Code, and * SubFamiliy Code by hyphens, resulting in �DomainCode�-�FamilyCode�-�SubFamilyCode�. example: PMNT-RCDT-ESCT type: string proprietaryBankTransactionCode: description: |- Proprietary bank transaction code as used within a community or within an ASPSP e.g. for MT94x based transaction reports. type: string maxLength: 35 _links: $ref: '#/definitions/_linksTransactionDetails' required: - transactionAmount cardTransaction: description: Card transaction information type: object properties: cardTransactionId: description: Unique end to end identity. type: string maxLength: 35 terminalId: description: Identification of the Terminal, where the card has been used. type: string maxLength: 35 transactionDate: description: Date of the actual card transaction type: string format: date bookingDate: description: The Date when an entry is posted to an account on the ASPSPs books. type: string format: date transactionAmount: $ref: '#/definitions/amount' currencyExchange: description: Array of exchange rates type: array items: $ref: '#/definitions/reportExchangeRate' originalAmount: $ref: '#/definitions/amount' markupFee: $ref: '#/definitions/amount' markupFeePercentage: example: 0.300000 type: string cardAcceptorId: type: string maxLength: 35 cardAcceptorAddress: $ref: '#/definitions/address' merchantCategoryCode: description: Merchant category code type: string minLength: 4 maxLength: 4 maskedPAN: description: Masked Primary Account Number example: 123456xxxxxx1234 type: string maxLength: 35 transactionDetails: type: string maxLength: 140 invoiced: type: boolean proprietaryBankTransactionCode: description: |- Proprietary bank transaction code as used within a community or within an ASPSP e.g. for MT94x based transaction reports. type: string maxLength: 35 required: - transactionAmount reportExchangeRate: description: Exchange Rate type: object properties: sourceCurrency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' exchangeRate: type: string unitCurrency: type: string targetCurrency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' quotationDate: type: string format: date contractIdentification: type: string required: - sourceCurrency - exchangeRate - unitCurrency - targetCurrency - quotationDate balance: description: A single balance element type: object properties: balanceAmount: $ref: '#/definitions/amount' balanceType: $ref: '#/definitions/balanceType' lastChangeDateTime: description: |- This data element might be used to indicate e.g. with the expected or booked balance that no action is known on the account, which is not yet booked. type: string format: date-time referenceDate: description: Reference date of the balance type: string format: date lastCommittedTransaction: description: |- "entryReference" of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known. type: string maxLength: 35 required: - balanceAmount - balanceType address: example: street: rue blue buildingnNumber: 89 city: Paris postalCode: 75000 country: FR type: object properties: street: type: string maxLength: 70 buildingNumber: type: string city: type: string postalCode: type: string country: description: ISO 3166 ALPHA2 country code example: SE type: string pattern: '[A-Z]{2}' required: - country description: Object containing information about a specific address amount: example: currency: EUR amount: 123 type: object properties: currency: description: ISO 4217 Alpha 3 currency code example: EUR type: string pattern: '[A-Z]{3}' amount: description: |- The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. **Example:** Valid representations for EUR with up to two decimals are: * 1056 * 5768.2 * -1.50 * 5877.78 example: 5877.780000 type: string pattern: -?[0-9]{1,14}(\.[0-9]{1,3})? required: - currency - amount description: Object describing an amount as a combination of its value and currency code chargeBearer: description: Charge Bearer. ChargeBearerType1Code from ISO20022 example: DEBT type: string enum: - DEBT - CRED - SHAR - SLEV purposeCode: description: ExternalPurpose1Code from ISO 20022. Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018. example: BKDF type: string enum: - BKDF - BKFE - BKFM - BKIP - BKPP - CBLK - CDCB - CDCD - CDCS - CDDP - CDOC - CDQC - ETUP - FCOL - MTUP - ACCT - CASH - COLL - CSDB - DEPT - INTC - LIMA - NETT - BFWD - CCIR - CCPC - CCPM - CCSM - CRDS - CRPR - CRSP - CRTL - EQPT - EQUS - EXPT - EXTD - FIXI - FWBC - FWCC - FWSB - FWSC - MARG - MBSB - MBSC - MGCC - MGSC - OCCC - OPBC - OPCC - OPSB - OPSC - OPTN - OTCD - REPO - RPBC - RPCC - RPSB - RPSC - RVPO - SBSC - SCIE - SCIR - SCRP - SHBC - SHCC - SHSL - SLEB - SLOA - SWBC - SWCC - SWPT - SWSB - SWSC - TBAS - TBBC - TBCC - TRCP - AGRT - AREN - BEXP - BOCE - COMC - CPYR - GDDS - GDSV - GSCB - LICF - MP2B - POPE - ROYA - SCVE - SERV - SUBS - SUPP - TRAD - CHAR - COMT - MP2P - ECPG - ECPR - ECPU - EPAY - CLPR - COMP - DBTC - GOVI - HLRP - HLST - INPC - INPR - INSC - INSU - INTE - LBRI - LIFI - LOAN - LOAR - PENO - PPTI - RELG - RINP - TRFD - FORW - FXNT - ADMG - ADVA - BCDM - BCFG - BLDM - BNET - CBFF - CBFR - CCRD - CDBL - CFEE - CGDD - CORT - COST - CPKC - DCRD - DSMT - DVPM - EDUC - FACT - FAND - FCPM - FEES - GOVT - ICCP - IDCP - IHRP - INSM - IVPT - MCDM - MCFG - MSVC - NOWS - OCDM - OCFG - OFEE - OTHR - PADD - PTSP - RCKE - RCPT - REBT - REFU - RENT - REOD - RIMB - RPNT - RRBN - RVPM - SLPI - SPLT - STDY - TBAN - TBIL - TCSC - TELI - TMPG - TPRI - TPRP - TRNC - TRVC - WEBI - ANNI - CAFI - CFDI - CMDT - DERI - DIVD - FREX - HEDG - INVS - PRME - SAVG - SECU - SEPI - TREA - UNIT - FNET - FUTR - ANTS - CVCF - DMEQ - DNTS - HLTC - HLTI - HSPC - ICRF - LTCF - MAFC - MARF - MDCS - VIEW - CDEP - SWFP - SWPP - SWRS - SWUF - ADCS - AEMP - ALLW - ALMY - BBSC - BECH - BENE - BONU - CCHD - COMM - CSLP - GFRP - GVEA - GVEB - GVEC - GVED - GWLT - HREC - PAYR - PEFC - PENS - PRCP - RHBS - SALA - SSBE - LBIN - LCOL - LFEE - LMEQ - LMFI - LMRK - LREB - LREV - LSFL - ESTX - FWLV - GSTX - HSTX - INTX - NITX - PTXP - RDTX - TAXS - VATX - WHLD - TAXR - B112 - BR12 - TLRF - TLRR - AIRB - BUSB - FERB - RLWY - TRPT - CBTV - ELEC - ENRG - GASB - NWCH - NWCM - OTLC - PHON - UBIL - WTER consents: description: Content of the body of a consent request. type: object properties: access: $ref: '#/definitions/accountAccess' recurringIndicator: description: |- "true", if the consent is for recurring access to the account data. "false", if the consent is for one access to the account data. example: false type: boolean validUntil: description: |- This parameter is requesting a valid until date for the requested consent. The content is the local ASPSP date in ISO-Date Format, e.g. 2017-10-30. Future dates might get adjusted by ASPSP. If a maximal available date is requested, a date in far future is to be used: "9999-12-31". In both cases the consent object to be retrieved by the GET Consent Request will contain the adjusted date. example: "2020-12-31T00:00:00.000Z" type: string format: date frequencyPerDay: description: |- This field indicates the requested maximum frequency for an access without PSU involvement per day. For a one-off access, this attribute is set to "1". The frequency needs to be greater equal to one. example: 4 type: integer minimum: 1 format: int32 combinedServiceIndicator: description: If "true" indicates that a payment initiation service will be addressed in the same "session". example: false type: boolean required: - access - recurringIndicator - validUntil - frequencyPerDay - combinedServiceIndicator transactionAuthorisation: description: Content of the body of a Transaction Authorisation Request type: object properties: scaAuthenticationData: description: |- SCA authentication data, depending on the chosen authentication method. If the data is binary, then it is base64 encoded. type: string required: - scaAuthenticationData scaStatusResponse: description: Body of the JSON response with SCA Status example: description: Response of an Update PSU Identification for a payment initiation request for the decoupled approach. value: scatransactionStatus: psuIdentified psuMessage: Please use your BankApp for transaction Authorisation. _links: scaStatus: href: /payments/qwer3456tzui7890/authorisations/123auth456 type: object properties: scaStatus: $ref: '#/definitions/scaStatus' startScaprocessResponse: description: Body of the JSON response for a Start SCA authorisation request. type: object properties: scaStatus: $ref: '#/definitions/scaStatus' authorisationId: description: Resource identification of the related SCA example: 123auth456 type: string scaMethods: description: |- This data element might be contained, if SCA is required and if the PSU has a choice between different authentication methods. Depending on the risk management of the ASPSP this choice might be offered before or after the PSU has been identified with the first relevant factor, or if an access token is transported. If this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' contained in the response body. These methods shall be presented towards the PSU for selection by the TPP. type: array items: $ref: '#/definitions/authenticationObject' chosenScaMethod: $ref: '#/definitions/authenticationObject' challengeData: $ref: '#/definitions/challengeData' _links: $ref: '#/definitions/_linksStartScaProcess' psuMessage: description: Text to be displayed to the PSU type: string maxLength: 512 required: - scaStatus - authorisationId - _links selectPsuAuthenticationMethodResponse: description: Body of the JSON response for a successful select PSU Authentication Method request. type: object properties: chosenScaMethod: $ref: '#/definitions/authenticationObject' challengeData: $ref: '#/definitions/challengeData' _links: $ref: '#/definitions/_linksSelectPsuAuthenticationMethod' scaStatus: $ref: '#/definitions/scaStatus' psuMessage: description: Text to be displayed to the PSU type: string maxLength: 512 required: - scaStatus consentsResponse-201: description: Body of the JSON response for a successful conset request. type: object properties: consentStatus: $ref: '#/definitions/consentStatus' consentId: description: ID of the corresponding consent object as returned by an Account Information Consent Request. type: string scaMethods: description: |- This data element might be contained, if SCA is required and if the PSU has a choice between different authentication methods. Depending on the risk management of the ASPSP this choice might be offered before or after the PSU has been identified with the first relevant factor, or if an access token is transported. If this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' contained in the response body. These methods shall be presented towards the PSU for selection by the TPP. type: array items: $ref: '#/definitions/authenticationObject' chosenScaMethod: $ref: '#/definitions/authenticationObject' challengeData: $ref: '#/definitions/challengeData' _links: $ref: '#/definitions/_linksConsents' message: description: Text to be displayed to the PSU, e.g. in a Decoupled SCA Approach. type: string maxLength: 512 required: - consentStatus - consentId - _links consentStatusResponse-200: description: Body of the JSON response for a successful get status request for a consent. type: object properties: consentStatus: $ref: '#/definitions/consentStatus' required: - consentStatus consentInformationResponse-200_json: description: Body of the JSON response for a successfull get consent request. type: object properties: access: $ref: '#/definitions/accountAccess' recurringIndicator: description: |- "true", if the consent is for recurring access to the account data. "false", if the consent is for one access to the account data. example: false type: boolean validUntil: description: |- This parameter is requesting a valid until date for the requested consent. The content is the local ASPSP date in ISO-Date Format, e.g. 2017-10-30. Future dates might get adjusted by ASPSP. If a maximal available date is requested, a date in far future is to be used: "9999-12-31". In both cases the consent object to be retrieved by the GET Consent Request will contain the adjusted date. example: "2020-12-31T00:00:00.000Z" type: string format: date frequencyPerDay: description: |- This field indicates the requested maximum frequency for an access without PSU involvement per day. For a one-off access, this attribute is set to "1". The frequency needs to be greater equal to one. example: 4 type: integer minimum: 1 format: int32 lastActionDate: description: |- This date is containing the date of the last action on the consent object either through the XS2A interface or the PSU/ASPSP interface having an impact on the status. example: "2018-07-01T00:00:00.000Z" type: string format: date consentStatus: $ref: '#/definitions/consentStatus' required: - access - recurringIndicator - validUntil - frequencyPerDay - lastActionDate - consentStatus readAccountBalanceResponse-200: description: Body of the response for a successful read balance for an account request. type: object properties: account: $ref: '#/definitions/accountReference' balances: description: A list of balances regarding this account, e.g. the current balance, the last booked balance.The list might be restricted to the current balance. type: array items: $ref: '#/definitions/balance' required: - balances readCardAccountBalanceResponse-200: description: Body of the response for a successful read balance for a card account request. type: object properties: cardAccount: $ref: '#/definitions/accountReference' balances: description: |- A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/definitions/balance' required: - balances transactionsResponse-200_json: description: Body of the JSON response for a successful read transaction list request. This account report contains transactions resulting from the query parameters. example: description: Response in JSON format for an access on a regular account value: account: iban: DE2310010010123456788 transactions: booked: - transactionId: 1234567 creditorName: John Miles creditorAccount: iban: DE67100100101306118605 transactionAmount: currency: EUR amount: 256.670000 bookingDate: "2017-10-25T00:00:00.000Z" valueDate: "2017-10-26T00:00:00.000Z" remittanceInformationUnstructured: Example 1 - transactionId: 1234568 debtorName: Paul Simpson debtorAccount: iban: NL76RABO0359400371 transactionAmount: currency: EUR amount: 343.010000 bookingDate: "2017-10-25T00:00:00.000Z" valueDate: "2017-10-26T00:00:00.000Z" remittanceInformationUnstructured: Example 2 pending: - transactionId: 1234569 creditorName: Claude Renault creditorAccount: iban: FR7612345987650123456789014 transactionAmount: currency: EUR amount: -100.030000 valueDate: "2017-10-26T00:00:00.000Z" remittanceInformationUnstructured: Example 3 _links: account: href: /accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f type: object properties: account: $ref: '#/definitions/accountReference' transactions: $ref: '#/definitions/accountReport' balances: description: |- A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/definitions/balance' _links: $ref: '#/definitions/_linksDownload_AccountTransactions' cardAccountsTransactionsResponse200: description: |- Body of the JSON response for a successful read card account transaction list request. This card account report contains transactions resulting from the query parameters. type: object properties: cardAccount: $ref: '#/definitions/accountReference' cardTransactions: $ref: '#/definitions/cardAccountReport' balances: description: |- A list of balances regarding this account, e.g. the current balance, the last booked balance. The list migght be restricted to the current ballance. type: array items: $ref: '#/definitions/balance' _links: $ref: '#/definitions/_linksDownload_AccountTransactions' _linksAll: description: A _link object with all available link types type: object properties: scaRedirect: $ref: '#/definitions/hrefType' scaOAuth: $ref: '#/definitions/hrefType' startAuthorisation: $ref: '#/definitions/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/definitions/hrefType' updatePsuIdentification: $ref: '#/definitions/hrefType' startAuthorisationWithProprietaryData: $ref: '#/definitions/hrefType' updateProprietaryData: $ref: '#/definitions/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/definitions/hrefType' updatePsuAuthentication: $ref: '#/definitions/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/definitions/hrefType' updateEncryptedPsuAuthentication: $ref: '#/definitions/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/definitions/hrefType' selectAuthenticationMethod: $ref: '#/definitions/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/definitions/hrefType' authoriseTransaction: $ref: '#/definitions/hrefType' self: $ref: '#/definitions/hrefType' status: $ref: '#/definitions/hrefType' scaStatus: $ref: '#/definitions/hrefType' account: $ref: '#/definitions/hrefType' balances: $ref: '#/definitions/hrefType' transactions: $ref: '#/definitions/hrefType' transactionDetails: $ref: '#/definitions/hrefType' cardAccount: $ref: '#/definitions/hrefType' cardTransactions: $ref: '#/definitions/hrefType' first: $ref: '#/definitions/hrefType' next: $ref: '#/definitions/hrefType' previous: $ref: '#/definitions/hrefType' last: $ref: '#/definitions/hrefType' download: $ref: '#/definitions/hrefType' _linksSelectPsuAuthenticationMethod: description: |- A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. **Remark:** All links can be relative or full links, to be decided by the ASPSP. **Remark:** This method can be applied before or after PSU identification. This leads to many possible hyperlink responses. Type of links admitted in this response, (further links might be added for ASPSP defined extensions): - "scaRedirect": In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. - "scaOAuth": In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. - "updatePsuIdentification": The link to the authorisation or cancellation authorisation sub-resource, where PSU identification data needs to be uploaded. - "updatePsuAuthentication": The link to the authorisation or cancellation authorisation sub-resource, where PSU authentication data needs to be uploaded. "authoriseTransaction": The link to the authorisation or cancellation authorisation sub-resource, where the authorisation data has to be uploaded, e.g. the TOP received by SMS. "scaStatus": The link to retrieve the scaStatus of the corresponding authorisation sub-resource. type: object properties: scaRedirect: $ref: '#/definitions/hrefType' scaOAuth: $ref: '#/definitions/hrefType' updatePsuIdentification: $ref: '#/definitions/hrefType' updatePsuAuthentication: $ref: '#/definitions/hrefType' authoriseTransaction: $ref: '#/definitions/hrefType' scaStatus: $ref: '#/definitions/hrefType' _linksStartScaProcess: description: A _link object with available link types for starting the SCA process type: object properties: scaRedirect: $ref: '#/definitions/hrefType' scaOAuth: $ref: '#/definitions/hrefType' updatePsuIdentification: $ref: '#/definitions/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/definitions/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/definitions/hrefType' selectAuthenticationMethod: $ref: '#/definitions/hrefType' authoriseTransaction: $ref: '#/definitions/hrefType' scaStatus: $ref: '#/definitions/hrefType' _linksDownload: description: A _link object with available link types for resource download type: object properties: download: $ref: '#/definitions/hrefType' required: - download additionalProperties: true _linksDownload_AccountTransactions: description: A _link object with available link types for resource download when getting account transactions type: object properties: download: $ref: '#/definitions/hrefType' next: $ref: '#/definitions/hrefType' required: - next additionalProperties: false _linksConsents: description: A _link object with available consent-related link types type: object properties: scaRedirect: $ref: '#/definitions/hrefType' scaOAuth: $ref: '#/definitions/hrefType' startAuthorisation: $ref: '#/definitions/hrefType' startAuthorisationWithPsuIdentification: $ref: '#/definitions/hrefType' startAuthorisationWithPsuAuthentication: $ref: '#/definitions/hrefType' startAuthorisationWithEncryptedPsuAuthentication: $ref: '#/definitions/hrefType' startAuthorisationWithAuthenticationMethodSelection: $ref: '#/definitions/hrefType' startAuthorisationWithTransactionAuthorisation: $ref: '#/definitions/hrefType' self: $ref: '#/definitions/hrefType' status: $ref: '#/definitions/hrefType' scaStatus: $ref: '#/definitions/hrefType' _linksAccountReport: type: object properties: account: $ref: '#/definitions/hrefType' first: $ref: '#/definitions/hrefType' next: $ref: '#/definitions/hrefType' previous: $ref: '#/definitions/hrefType' last: $ref: '#/definitions/hrefType' required: - account description: A _link object managing the navigation across the elements of an account report _linksCardAccountReport: type: object properties: cardAccount: $ref: '#/definitions/hrefType' first: $ref: '#/definitions/hrefType' next: $ref: '#/definitions/hrefType' previous: $ref: '#/definitions/hrefType' last: $ref: '#/definitions/hrefType' required: - cardAccount _linksTransactionDetails: type: object properties: transactionDetails: $ref: '#/definitions/hrefType' required: - transactionDetails description: A _link object with available link types for getting transaction details _linksAccountDetails: description: Links to the account, which can be directly used for retrieving account information from this dedicated account. Links to "balances" and/or "transactions". These links are only supported, when the corresponding consent has been already granted. type: object properties: balances: $ref: '#/definitions/hrefType' transactions: $ref: '#/definitions/hrefType' tppMessageCategory: description: Category of the TPP message example: ERROR type: string enum: - ERROR - WARNING MessageCode2XX: description: Message codes for HTTP Error codes 2XX. example: WARNING type: string enum: - WARNING MessageCode400_AIS: description: Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST). example: FORMAT_ERROR type: string enum: - FORMAT_ERROR - PARAMETER_NOT_CONSISTENT - PARAMETER_NOT_SUPPORTED - SERVICE_INVALID - RESOURCE_UNKNOWN - RESOURCE_EXPIRED - RESOURCE_BLOCKED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKNOWN - CONSENT_UNKNOWN - SESSIONS_NOT_SUPPORTED MessageCode401_AIS: description: Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED). example: CERTIFICATE_INVALID type: string enum: - CERTIFICATE_INVALID - CERTIFICATE_EXPIRED - CERTIFICATE_BLOCKED - CERTIFICATE_REVOKE - CERTIFICATE_MISSING - SIGNATURE_INVALID - SIGNATURE_MISSING - CORPORATE_ID_INVALID - PSU_CREDENTIALS_INVALID - CONSENT_INVALID - CONSENT_EXPIRED - TOKEN_UNKNOWN - TOKEN_INVALID - TOKEN_EXPIRED MessageCode403_AIS: description: Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN). example: CONSENT_UNKNOWN type: string enum: - CONSENT_UNKNOWN - SERVICE_BLOCKED - RESOURCE_UNKNOWN - RESOURCE_EXPIRED MessageCode404_AIS: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). example: RESOURCE_UNKNOWN type: string enum: - RESOURCE_UNKNOWN MessageCode405_AIS: description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). example: SERVICE_INVALID type: string enum: - SERVICE_INVALID MessageCode406_AIS: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). example: REQUESTED_FORMATS_INVALID type: string enum: - REQUESTED_FORMATS_INVALID MessageCode408_AIS: description: Message codes defined for AIS for HTTP Error code 408 (REQUEST TIMEOUT). example: REQUEST_TIMEOUT type: string enum: - REQUEST_TIMEOUT MessageCode409_AIS: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). example: STATUS_INVALID type: string enum: - STATUS_INVALID MessageCode415_AIS: description: Message codes defined for AIS for HTTP Error code 415 (UNSUPPORTED MEDIA TYPE). example: UNSUPPORTED_MEDIA_TYPE type: string enum: - UNSUPPORTED_MEDIA_TYPE MessageCode429_AIS: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). example: ACCESS_EXCEEDED type: string enum: - ACCESS_EXCEEDED MessageCode503_AIS: description: Message codes for HTTP Error code 503 (SERVICE UNAVAILABLE). example: SERVICE_UNAVAILABLE type: string enum: - SERVICE_UNAVAILABLE tppMessage2XX: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes for HTTP Error codes 2XX. example: WARNING type: string default: WARNING path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage400_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode400_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage401_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode401_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage403_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode403_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage404_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). example: RESOURCE_UNKNOWN type: string default: RESOURCE_UNKNOWN path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage405_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). example: SERVICE_INVALID type: string default: SERVICE_INVALID path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage406_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). example: REQUESTED_FORMATS_INVALID type: string default: REQUESTED_FORMATS_INVALID path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage408_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode408_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage409_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). example: STATUS_INVALID type: string default: STATUS_INVALID path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage415_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode415_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage429_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). example: ACCESS_EXCEEDED type: string default: ACCESS_EXCEEDED path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code tppMessage503_AIS: type: object properties: category: $ref: '#/definitions/tppMessageCategory' code: $ref: '#/definitions/MessageCode503_AIS' path: type: string text: description: Additional explaining text to the TPP. type: string maxLength: 512 required: - category - code Error400_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode400_AIS' additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError1' _links: $ref: '#/definitions/_linksAll' required: - type - code Error401_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode401_AIS' additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError5' _links: $ref: '#/definitions/_linksAll' required: - type - code Error403_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode403_AIS' additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError9' _links: $ref: '#/definitions/_linksAll' required: - type - code Error404_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). example: RESOURCE_UNKNOWN type: string default: RESOURCE_UNKNOWN additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError13' _links: $ref: '#/definitions/_linksAll' required: - type - code Error405_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). example: SERVICE_INVALID type: string default: SERVICE_INVALID additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError18' _links: $ref: '#/definitions/_linksAll' required: - type - code Error406_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 406 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). example: REQUESTED_FORMATS_INVALID type: string default: REQUESTED_FORMATS_INVALID additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError21' _links: $ref: '#/definitions/_linksAll' required: - type - code Error409_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). example: STATUS_INVALID type: string default: STATUS_INVALID additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError23' _links: $ref: '#/definitions/_linksAll' required: - type - code Error429_AIS: description: |- Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 429 for AIS. type: object properties: type: description: |- A URI reference [RFC3986] that identifies the problem type. Remark For Future: These URI will be provided by NextGenPSD2 in future. type: string maxLength: 70 title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). example: ACCESS_EXCEEDED type: string default: ACCESS_EXCEEDED additionalErrors: description: |- Array of Error Information Blocks. Might be used if more than one error is to be communicated type: array items: $ref: '#/definitions/AdditionalError26' _links: $ref: '#/definitions/_linksAll' required: - type - code Error400_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage400_AIS' _links: $ref: '#/definitions/_linksAll' Error401_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage401_AIS' _links: $ref: '#/definitions/_linksAll' Error403_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage403_AIS' _links: $ref: '#/definitions/_linksAll' Error404_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage404_AIS' _links: $ref: '#/definitions/_linksAll' Error405_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage405_AIS' _links: $ref: '#/definitions/_linksAll' Error406_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage406_AIS' _links: $ref: '#/definitions/_linksAll' Error408_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 408. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage408_AIS' _links: $ref: '#/definitions/_linksAll' Error409_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage409_AIS' _links: $ref: '#/definitions/_linksAll' Error415_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 415. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage415_AIS' _links: $ref: '#/definitions/_linksAll' Error429_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage429_AIS' _links: $ref: '#/definitions/_linksAll' Error503_NG_AIS: description: | NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 503. type: object properties: tppMessages: type: array items: $ref: '#/definitions/tppMessage503_AIS' _links: $ref: '#/definitions/_linksAll' AdditionalError1: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode400_AIS' required: - code AdditionalError5: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode401_AIS' required: - code AdditionalError9: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: $ref: '#/definitions/MessageCode403_AIS' required: - code AdditionalError13: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND). example: RESOURCE_UNKNOWN type: string default: RESOURCE_UNKNOWN required: - code AdditionalError18: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED). example: SERVICE_INVALID type: string default: SERVICE_INVALID required: - code AdditionalError21: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE). example: REQUESTED_FORMATS_INVALID type: string default: REQUESTED_FORMATS_INVALID required: - code AdditionalError23: description: This is a data element to support the declaration of additional errors in the context of [RFC7807]. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT). example: STATUS_INVALID type: string default: STATUS_INVALID required: - code AdditionalError26: description: |- This is a data element to support the declaration of additional errors in the context of [RFC7807] in case of a HTTP error code 429 for. type: object properties: title: description: |- Short human readable description of error type. Could be in local language. To be provided by ASPSPs. type: string maxLength: 70 detail: description: |- Detailed human readable text specific to this instance of the error. XPath might be used to point to the issue generating the error in addition. Remark for Future: In future, a dedicated field might be introduced for the XPath. type: string maxLength: 512 code: description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS). example: ACCESS_EXCEEDED default: ACCESS_EXCEEDED $ref: '#/definitions/MessageCode429_AIS' required: - code AllPsd2: description: Optional if supported by API provider. Only the value "allAccounts" is accepted. example: allAccounts type: string enum: - allAccounts AvailableAccounts: description: Optional if supported by API provider. Only the values "allAccounts" or "allAccountsWithBalances" is accepted. example: allAccounts type: string enum: - allAccounts - allAccountsWithBalances bookingStatus: example: booked type: string enum: - booked - pending - both description: |- Booking status. Valid values: - 'booked' - 'pending' - 'both' OtpFormat: description: The format type of the OTP to be typed in. The admitted values are "characters" or "integer". example: characters type: string enum: - characters - integer Usage: description: |- Specifies the usage of the account. Valid values: - 'PRIV': private personal account - 'ORGA': professional account example: PRIV type: string enum: - PRIV - ORGA selectPsuAuthenticationMethod: description: Content of the body of a Select PSU Authentication Method Request type: object properties: authenticationMethodId: description: An identification provided by the ASPSP for the later identification of the authentication method selection. example: myAuthenticationID type: string maxLength: 35 required: - authenticationMethodId tags: - name: Account Information Service (AIS) description: 'The Account Information Service (AIS) offers the following services: - Transaction reports for a given account or card account including balances if applicable. - Balances of a given account or card account. - A list of available accounts or card accounts. - Account details of a given account or card account or of the list of all accessible accounts or card account relative to a granted consent.' - name: Common Services description: Processes on starting authorisations, PSU authentication data and explicit authorisation of transactions via SCA, which are very similar among PIS and AIS. The API calls supporting these processes are described independently from the service/endpoint. For reasons of clarity, the endpoints are defined always for the Payment Initiation Service, the Payment Cancellation and the Account Information Service (Consents) separately. These processes are usually used following a hyperlink of the bank. x-ibm-configuration: enforced: true testable: true phase: realized application-authentication: certificate: true securityDefinitions: Sandbox OAuth: type: oauth2 description: Resource Owner Implicit Grant Type flow: accessCode scopes: sandboxapi: Access to all Assets resources offline_access: Required for refresh tokens authorizationUrl: https://api.rapidlink.piraeusbank.gr/piraeusbank/production/v3/oauth/oauth2/authorize tokenUrl: https://api.rapidlink.piraeusbank.gr/piraeusbank/production/v3/oauth/oauth2/token x-tokenIntrospect: url: https://$(api.endpoint.hostname)/$(api.org.name)/$(env.path)/v3/oauth/internal/introspect MSIS OAuth: type: oauth2 description: "" flow: accessCode scopes: winbankAccess winbankAccess.info: "" offline_access: Required for refresh tokens authorizationUrl: https://openbank.piraeusbank.gr/identityserver/connect/authorize x-tokenIntrospect: url: https://$(api.endpoint.hostname)/$(api.org.name)/$(env.path)/v3/oauth/external/introspect tokenUrl: https://openbank.piraeusbank.gr/identityserver/connect/token clientIdHeader: type: apiKey description: "" in: header name: X-IBM-Client-Id security: - MSIS OAuth: - winbankAccess winbankAccess.info - Sandbox OAuth: - sandboxapi externalDocs: description: 'For more information on the framework, please visit:' url: https://www.berlin-group.org/nextgenpsd2-downloads parameters: Authorization: name: Authorization type: string required: true in: header description: This header should be in the form "Bearer Token", where Token is returned from the call to OAuth2. X-IBM-Client-Id: name: X-IBM-Client-Id type: string required: true in: header description: Application's client id X-Client-Certificate: name: X-Client-Certificate type: string required: true in: header description: EIDAS QWac Client Certificate, for EBA Catalog verification x-ibm-endpoints: - endpointUrl: https://api.rapidlink.piraeusbank.gr/piraeusbank/production description: Base Gateway API Endpoint type: - production - development ...