openapi: 3.1.0 info: title: Temenos Buy Now Pay Later Accounts Credit Offers 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: Credit Offers description: Generate and manage BNPL credit offers using Explainable AI decisioning for instant approval and offer matching. paths: /offers: post: operationId: createCreditOffer summary: Create Credit Offer description: Generate a BNPL credit offer using Explainable AI decisioning based on customer data, purchase amount, and configured product rules. Returns eligible offer options with interest-free and interest-bearing terms. tags: - Credit Offers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreditOfferRequest' responses: '200': description: Credit offer generated content: application/json: schema: $ref: '#/components/schemas/CreditOfferResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /offers/{offerId}: get: operationId: getCreditOffer summary: Get Credit Offer Details description: Retrieve details of a generated credit offer including terms, repayment schedule, and AI decisioning explanation. tags: - Credit Offers parameters: - name: offerId in: path required: true description: Offer identifier schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/CreditOffer' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /offers/{offerId}/accept: post: operationId: acceptCreditOffer summary: Accept Credit Offer description: Accept a BNPL credit offer to initiate loan creation and merchant settlement processing. tags: - Credit Offers parameters: - name: offerId in: path required: true description: Offer identifier schema: type: string responses: '200': description: Offer accepted and loan created content: application/json: schema: $ref: '#/components/schemas/BnplLoan' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: CreditOffer: type: object description: BNPL credit offer properties: offerId: type: string description: Offer identifier offerType: type: string description: Offer type enum: - INTEREST_FREE - INTEREST_BEARING purchaseAmount: type: number format: double description: Purchase amount currency: type: string description: Currency numberOfInstallments: type: integer description: Number of installments installmentAmount: type: number format: double description: Amount per installment interestRate: type: number format: double description: Annual interest rate totalRepayment: type: number format: double description: Total repayment amount expiresAt: type: string format: date-time description: Offer expiry timestamp CreditOfferRequest: type: object required: - customerId - purchaseAmount - currency properties: customerId: type: string description: Customer identifier merchantId: type: string description: Merchant identifier purchaseAmount: type: number format: double description: Purchase amount minimum: 0.01 currency: type: string description: Currency pattern: ^[A-Z]{3}$ purchaseDescription: type: string description: Purchase description CreditOfferResponse: type: object description: Credit offer response with available options properties: offers: type: array description: Available BNPL offers items: $ref: '#/components/schemas/CreditOffer' decisionExplanation: type: string description: AI decisioning explanation BnplLoan: type: object description: BNPL loan properties: loanId: type: string description: Loan identifier customerId: type: string description: Customer identifier merchantId: type: string description: Merchant identifier purchaseAmount: type: number format: double description: Original purchase amount currency: type: string description: Currency outstandingBalance: type: number format: double description: Outstanding balance numberOfInstallments: type: integer description: Total installments installmentsPaid: type: integer description: Installments paid nextPaymentDate: type: string format: date description: Next payment date nextPaymentAmount: type: number format: double description: Next payment amount status: type: string description: Loan status enum: - ACTIVE - COMPLETED - DEFAULTED - CANCELLED createdDate: type: string format: date description: Loan creation date Error: type: object properties: errorCode: type: string errorMessage: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Temenos BNPL API Documentation url: https://developer.temenos.com/service/buy-now-pay-later