openapi: 3.1.0 info: title: Temenos Buy Now Pay Later Accounts Package Details 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: Package Details description: Create, amend, and manage package arrangements that bundle customer accounts for combined pricing benefits. paths: /packages: get: operationId: listPackages summary: List Package Arrangements description: Retrieve package arrangements that bundle customer accounts for combined pricing benefits with primary and linked account information. tags: - Package Details parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' - name: customerId in: query description: Filter by customer schema: type: string responses: '200': description: Successful retrieval of packages content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader' body: type: array items: $ref: '#/components/schemas/Package' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createPackage summary: Create Package Arrangement description: Create a new package arrangement to bundle customer accounts for combined pricing benefits and promotions. tags: - Package Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PackageCreate' responses: '201': description: Package created successfully content: application/json: schema: $ref: '#/components/schemas/Package' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /packages/{packageId}/pricing: get: operationId: getPackagePricing summary: Get Package Pricing Details description: Retrieve periodic pricing events and benefit details within specific periods for a package arrangement. tags: - Package Details parameters: - name: packageId in: path required: true description: Package arrangement identifier schema: type: string responses: '200': description: Successful retrieval of package pricing content: application/json: schema: $ref: '#/components/schemas/PackagePricing' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: PackageCreate: type: object description: Package creation request required: - customerId - productId properties: customerId: type: string description: Customer identifier productId: type: string description: Package product identifier packageName: type: string description: Package name linkedAccounts: type: array description: Accounts to link items: type: string FeeDetail: type: object description: Fee detail properties: feeType: type: string description: Fee type description: type: string description: Fee description amount: type: number format: double description: Fee amount currency: type: string description: Fee currency frequency: type: string description: Fee frequency PaginationHeader: type: object description: Pagination metadata properties: page_size: type: integer description: Records per page page_start: type: integer description: Starting record total_size: type: integer description: Total records PackagePricing: type: object description: Package pricing details properties: packageId: type: string description: Package identifier periodicPricing: type: array description: Pricing events by period items: type: object properties: effectiveDate: type: string format: date description: Effective date interestRates: type: array items: $ref: '#/components/schemas/InterestRateDetail' fees: type: array items: $ref: '#/components/schemas/FeeDetail' benefits: type: array description: Applied pricing benefits items: type: object properties: benefitType: type: string description: Benefit type description: type: string description: Benefit description value: type: number format: double description: Benefit value Package: type: object description: Package arrangement properties: packageId: type: string description: Package identifier customerId: type: string description: Customer identifier packageName: type: string description: Package name primaryAccountId: type: string description: Primary account linkedAccounts: type: array description: Linked account identifiers items: type: string status: type: string description: Package status InterestRateDetail: type: object description: Individual interest rate detail properties: rateType: type: string description: Rate type enum: - FIXED - VARIABLE - PROMOTIONAL baseRate: type: number format: double description: Base rate percentage benefit: type: number format: double description: Benefit adjustment netRate: type: number format: double description: Effective net rate effectiveDate: type: string format: date description: Rate effective date Error: type: object description: Error response properties: errorCode: type: string description: Error code errorMessage: type: string description: Error description responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: pageStart: name: page_start in: query description: Starting record schema: type: integer minimum: 0 default: 0 pageSize: name: page_size in: query description: Records per page schema: type: integer minimum: 1 maximum: 100 default: 25 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Temenos BNPL API Documentation url: https://developer.temenos.com/service/buy-now-pay-later