openapi: 3.1.0 info: title: Temenos Buy Now Pay Later Accounts Consent API description: APIs for buy now pay later services with embedded Explainable AI for automated decisioning and credit offer matching. Supports interest-free and interest-bearing BNPL products with point-of-sale integration and full loan lifecycle management. Core banking agnostic and deployable on Temenos Banking Cloud. version: 1.0.0 contact: name: Temenos Developer Support url: https://developer.temenos.com/ email: api.support@temenos.com license: name: Temenos Terms of Service url: https://www.temenos.com/legal-information/website-terms-and-conditions/ termsOfService: https://www.temenos.com/legal-information/website-terms-and-conditions/ servers: - url: https://api.temenos.com/bnpl/v1 description: Temenos BNPL API - Production security: - bearerAuth: [] tags: - name: Consent description: Manage customer consent for Open Banking data sharing and third-party provider access under PSD2 regulations. paths: /consents: post: operationId: createConsent summary: Create Consent Record description: Create a new consent record for Open Banking data sharing, authorizing a third-party provider to access specified account information or initiate payments under PSD2 regulations. tags: - Consent requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConsentRequest' responses: '201': description: Consent successfully created content: application/json: schema: $ref: '#/components/schemas/ConsentResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /consents/{consentId}: get: operationId: getConsent summary: Get Consent Details description: Retrieve the details and current status of a consent record including authorized scopes, expiration, and third-party provider information. tags: - Consent parameters: - name: consentId in: path required: true description: Unique consent identifier schema: type: string responses: '200': description: Successfully retrieved consent details content: application/json: schema: $ref: '#/components/schemas/ConsentResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: revokeConsent summary: Revoke Consent description: Revoke an existing consent, immediately terminating the third-party provider access to the authorized account data or payment initiation capabilities. tags: - Consent parameters: - name: consentId in: path required: true description: Unique consent identifier schema: type: string responses: '204': description: Consent successfully revoked '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Authentication credentials missing or invalid content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters or payload content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: ConsentRequest: type: object description: Open Banking consent creation request required: - tppId - permissions - expirationDate properties: tppId: type: string description: Third-party provider identifier permissions: type: array items: type: string enum: - READ_ACCOUNTS - READ_BALANCES - READ_TRANSACTIONS - INITIATE_PAYMENTS description: Requested access permissions expirationDate: type: string format: date-time description: Consent expiration date and time accountIds: type: array items: type: string description: Specific account identifiers to authorize ConsentResponse: type: object description: Open Banking consent record properties: consentId: type: string description: Unique consent identifier status: type: string description: Current consent status enum: - AWAITING_AUTHORIZATION - AUTHORIZED - REJECTED - REVOKED - EXPIRED tppId: type: string description: Third-party provider identifier permissions: type: array items: type: string description: Authorized permissions createdDate: type: string format: date-time description: Consent creation timestamp expirationDate: type: string format: date-time description: Consent expiration timestamp Error: type: object description: Error response properties: code: type: string description: Error code message: type: string description: Human-readable error message details: type: array items: type: object properties: field: type: string description: Field that caused the error message: type: string description: Detail of the error description: Additional error details securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Temenos BNPL API Documentation url: https://developer.temenos.com/service/buy-now-pay-later