openapi: 3.1.0 info: title: Temenos Buy Now Pay Later Accounts Party 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: Party description: Manage distributor, investor, and financial institution data including addresses, AML compliance, bank accounts, FATCA/CRS, KYC details, and distribution agreements with 38 endpoints. paths: /party/investors: get: operationId: listInvestors summary: List Investors description: Retrieve a list of investors with their master data including personal details, investment accounts, tax residence information, and KYC status. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' responses: '200': description: Successful retrieval of investors content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader' body: type: array items: $ref: '#/components/schemas/Investor' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createInvestor summary: Create Investor description: Create a new investor master record with personal details, address information, bank account details, and tax residence documentation. tags: - Party requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InvestorCreate' responses: '201': description: Investor created successfully content: application/json: schema: $ref: '#/components/schemas/Investor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /party/distributors: get: operationId: listDistributors summary: List Distributors description: Retrieve a list of fund distributors with their details including distribution agreements, commission structures, and cutoff configurations. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' responses: '200': description: Successful retrieval of distributors content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader' body: type: array items: $ref: '#/components/schemas/Distributor' '401': $ref: '#/components/responses/Unauthorized' /party/aml/screenings: get: operationId: listAmlScreenings summary: List AML Screenings description: Retrieve anti-money laundering screening results including blocking codes, monitoring information, and compliance documentation for investors and distributors. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' responses: '200': description: Successful retrieval of AML screenings content: application/json: schema: type: object properties: body: type: array items: $ref: '#/components/schemas/AmlScreening' '401': $ref: '#/components/responses/Unauthorized' /party/fatca: get: operationId: listFatcaRecords summary: List FATCA/CRS Records description: Retrieve FATCA and CRS tax compliance documentation and status information for investors across jurisdictions. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' responses: '200': description: Successful retrieval of FATCA/CRS records content: application/json: schema: type: object properties: body: type: array items: $ref: '#/components/schemas/FatcaRecord' '401': $ref: '#/components/responses/Unauthorized' /party/customers: get: operationId: listCustomers summary: List Customers description: Retrieve a list of customers including individual and corporate customers with their basic profile information, KYC status, and relationship details. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' - name: customerType in: query description: Filter by customer type schema: type: string enum: - individual - corporate responses: '200': description: Successful retrieval of customers content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader_2' body: type: array items: $ref: '#/components/schemas/Customer' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createCustomer summary: Create Customer description: Create a new customer record for onboarding including personal details, address information, identification documents, and KYC data collection. tags: - Party requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerCreate' responses: '201': description: Customer created successfully content: application/json: schema: $ref: '#/components/schemas/Customer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /party/customers/{customerId}: get: operationId: getCustomer summary: Get Customer Details description: Retrieve detailed customer information including personal data, addresses, contact details, identification documents, KYC status, and delivery preferences. tags: - Party parameters: - $ref: '#/components/parameters/customerId' responses: '200': description: Successful retrieval of customer details content: application/json: schema: $ref: '#/components/schemas/Customer' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateCustomer summary: Update Customer Details description: Update existing customer information including personal data, address changes, contact preferences, and KYC documentation. tags: - Party parameters: - $ref: '#/components/parameters/customerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerUpdate' responses: '200': description: Customer updated successfully content: application/json: schema: $ref: '#/components/schemas/Customer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /party/beneficiaries: get: operationId: listBeneficiaries summary: List Beneficiaries description: Retrieve a list of registered beneficiaries for payment processing including their account details and bank information. tags: - Party parameters: - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageStart' - name: customerId in: query description: Filter beneficiaries by customer schema: type: string responses: '200': description: Successful retrieval of beneficiaries content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader_2' body: type: array items: $ref: '#/components/schemas/Beneficiary' '401': $ref: '#/components/responses/Unauthorized' /party/clients: get: operationId: listWealthClients summary: List Wealth Clients description: Retrieve wealth management clients including their investor profiles, risk assessments, advisor assignments, and investment mandates. tags: - Party parameters: - $ref: '#/components/parameters/pageSize_2' - $ref: '#/components/parameters/pageStart_2' responses: '200': description: Successful retrieval of clients content: application/json: schema: type: object properties: header: $ref: '#/components/schemas/PaginationHeader_3' body: type: array items: $ref: '#/components/schemas/WealthClient' '401': $ref: '#/components/responses/Unauthorized_2' components: schemas: Address: type: object description: Physical address properties: addressType: type: string description: Type of address enum: - RESIDENTIAL - BUSINESS - CORRESPONDENCE addressLine1: type: string description: First line of address addressLine2: type: string description: Second line of address city: type: string description: City name state: type: string description: State or province postalCode: type: string description: Postal or zip code country: type: string description: ISO 3166-1 alpha-2 country code AmlScreening: type: object description: AML screening result properties: screeningId: type: string description: Screening record identifier entityId: type: string description: Screened entity identifier screeningDate: type: string format: date description: Date of screening result: type: string description: Screening outcome enum: - CLEAR - MATCH - POTENTIAL_MATCH blockingCode: type: string description: Applied blocking code if any Customer: type: object description: Customer record properties: customerId: type: string description: Unique customer identifier customerType: type: string description: Customer classification enum: - INDIVIDUAL - CORPORATE title: type: string description: Customer title firstName: type: string description: First name for individual customers lastName: type: string description: Last name for individual customers companyName: type: string description: Company name for corporate customers dateOfBirth: type: string format: date description: Date of birth for individual customers nationality: type: string description: ISO 3166-1 alpha-2 nationality code kycStatus: type: string description: KYC verification status enum: - VERIFIED - PENDING - REJECTED status: type: string description: Customer record status enum: - ACTIVE - INACTIVE - CLOSED addresses: type: array description: Customer addresses items: $ref: '#/components/schemas/Address' PaginationHeader_2: type: object description: Pagination metadata for list responses properties: page_size: type: integer description: Number of records per page page_start: type: integer description: Starting record number total_size: type: integer description: Total number of records available CustomerUpdate: type: object description: Request body for updating customer details properties: title: type: string description: Updated title firstName: type: string description: Updated first name lastName: type: string description: Updated last name addresses: type: array description: Updated addresses items: $ref: '#/components/schemas/Address' PaginationHeader: type: object description: Pagination metadata properties: page_size: type: integer description: Records per page page_start: type: integer description: Starting record number total_size: type: integer description: Total records available InvestorCreate: type: object description: Request body for creating an investor required: - name - investorType properties: name: type: string description: Investor name investorType: type: string description: Investor classification enum: - INDIVIDUAL - INSTITUTIONAL - CORPORATE nationality: type: string description: ISO 3166-1 alpha-2 country code taxResidence: type: string description: Tax residence country code Investor: type: object description: Fund investor record properties: investorId: type: string description: Unique investor identifier investorType: type: string description: Investor classification enum: - INDIVIDUAL - INSTITUTIONAL - CORPORATE name: type: string description: Investor name nationality: type: string description: Investor nationality code taxResidence: type: string description: Tax residence country code kycStatus: type: string description: KYC verification status fatcaStatus: type: string description: FATCA classification status status: type: string description: Investor record status WealthClient: type: object description: Wealth management client properties: clientId: type: string description: Client identifier name: type: string description: Client name clientType: type: string description: Client classification enum: - PRIVATE - INSTITUTIONAL - CORPORATE riskProfile: type: string description: Investment risk profile advisorId: type: string description: Assigned advisor totalAUM: type: number format: double description: Total assets under management currency: type: string description: Reporting currency status: type: string description: Client status CustomerCreate: type: object description: Request body for creating a customer required: - customerType - lastName properties: customerType: type: string description: Customer classification enum: - INDIVIDUAL - CORPORATE title: type: string description: Customer title firstName: type: string description: First name lastName: type: string description: Last name or company name dateOfBirth: type: string format: date description: Date of birth nationality: type: string description: ISO 3166-1 alpha-2 nationality code FatcaRecord: type: object description: FATCA/CRS compliance record properties: recordId: type: string description: FATCA record identifier investorId: type: string description: Associated investor classification: type: string description: FATCA classification reportingJurisdiction: type: string description: Reporting jurisdiction status: type: string description: Compliance status Beneficiary: type: object description: Payment beneficiary properties: beneficiaryId: type: string description: Unique beneficiary identifier customerId: type: string description: Associated customer identifier beneficiaryName: type: string description: Beneficiary display name accountNumber: type: string description: Beneficiary account number iban: type: string description: Beneficiary IBAN bic: type: string description: Beneficiary bank BIC/SWIFT code bankName: type: string description: Beneficiary bank name country: type: string description: Beneficiary country code Distributor: type: object description: Fund distributor record properties: distributorId: type: string description: Unique distributor identifier name: type: string description: Distributor name distributionAgreements: type: array description: Active distribution agreements items: type: string commissionGroup: type: string description: Commission group assignment status: type: string description: Distributor status Error: type: object description: Error response properties: errorCode: type: string description: Machine-readable error code errorMessage: type: string description: Human-readable error description Error_3: type: object description: Error response properties: errorCode: type: string description: Error code errorMessage: type: string description: Error description Error_2: type: object description: Error response properties: errorCode: type: string description: Machine-readable error code errorMessage: type: string description: Human-readable error description details: type: array description: Additional error details items: type: object properties: field: type: string description: Field related to the error message: type: string description: Detail message PaginationHeader_3: 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 responses: Unauthorized_2: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error_3' NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error_2' Unauthorized: description: Authentication required or invalid credentials content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' parameters: pageSize: name: page_size in: query description: Number of records to return per page schema: type: integer minimum: 1 maximum: 100 default: 25 pageSize_2: name: page_size in: query description: Number of records per page schema: type: integer minimum: 1 maximum: 100 default: 25 pageStart: name: page_start in: query description: Starting record number for pagination schema: type: integer minimum: 0 default: 0 pageStart_2: name: page_start in: query description: Starting record number schema: type: integer minimum: 0 default: 0 customerId: name: customerId in: path required: true description: Unique customer identifier schema: 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