Temenos Enterprise Product and Pricing API

APIs for product pricing, quotation simulation, package arrangements, pricing adjustments, transparency details, and promotions management for banking products and services.

Documentation

Specifications

Other Resources

OpenAPI Specification

temenos-enterprise-product-pricing-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Temenos Enterprise Product and Pricing API
  description: >-
    APIs for product pricing, quotation simulation, package arrangements,
    pricing adjustments, transparency details, and promotions management for
    banking products and services. Enables simulation of account creation and
    transaction events to determine applicable pricing details including
    interest rates, fees, and cashback. Supports pricing negotiation through
    quotation references and manual adjustment workflows.
  version: '1.0.0'
  contact:
    name: Temenos Developer Support
    url: https://developer.temenos.com/
    email: [email protected]
  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/
externalDocs:
  description: Temenos Enterprise Product Pricing API Documentation
  url: https://developer.temenos.com/temenos-enterprise-product-pricing-apis
servers:
  - url: https://api.temenos.com/enterprise-pricing/v1
    description: Temenos Enterprise Pricing API - Production
security:
  - bearerAuth: []
tags:
  - name: Accounts Arrangement Details
    description: >-
      Calculate payoff amounts, adjust closure charges, process early
      deposit redemptions, and handle external arrangement balances.
  - name: Package Details
    description: >-
      Create, amend, and manage package arrangements that bundle customer
      accounts for combined pricing benefits.
  - name: Party Details
    description: >-
      Retrieve customer contracts, pricing information, related parties,
      and eligibility status within the pricing system.
  - name: Pricing Adjustment
    description: >-
      Apply manual pricing adjustments including fee and interest rate
      modifications with expiry settings and negotiation workflows.
  - name: Pricing Arrangement Details
    description: >-
      Retrieve interest rate details, activity charges, transaction
      pricing, periodic fees, and account event history within the
      pricing system.
  - name: Pricing Quotation
    description: >-
      Simulate account or arrangement creation and transaction events to
      determine applicable pricing details including interest rates, fees,
      and cashback with negotiation support.
  - name: Promotions
    description: >-
      Create and manage promotional arrangements for parties with
      promotional codes and benefit tracking.
paths:
  /quotations/simulate:
    post:
      operationId: simulateArrangementCreation
      summary: Simulate Account Creation Pricing
      description: >-
        Simulate the creation of an arrangement or account to determine
        applicable pricing details including interest rates, fees, and
        cashback. Returns a quotation reference that can be used for
        negotiating or adjusting pricing details or for creating a new
        account.
      tags:
        - Pricing Quotation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuotationSimulateRequest'
      responses:
        '200':
          description: Quotation simulation completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotationResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /quotations/simulateEvent:
    post:
      operationId: simulateEventPricing
      summary: Simulate Event Pricing
      description: >-
        Simulate an activity or transaction event such as an ATM
        withdrawal, partial redemption, or funds transfer to determine
        applicable pricing details and returns a quotation reference.
      tags:
        - Pricing Quotation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventSimulateRequest'
      responses:
        '200':
          description: Event simulation completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotationResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /quotations/{quotationReference}:
    get:
      operationId: getQuotationDetails
      summary: Get Quotation Details
      description: >-
        Retrieve pricing details of a simulated quotation. If the
        quotation has been negotiated, returns final pricing details
        including any adjustments applied.
      tags:
        - Pricing Quotation
      parameters:
        - name: quotationReference
          in: path
          required: true
          description: Quotation reference identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of quotation details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotationResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: amendQuotationPricing
      summary: Amend Quotation Pricing
      description: >-
        Amend pricing details such as interest rates or fees for an
        existing simulated quotation reference as part of pricing
        negotiation.
      tags:
        - Pricing Adjustment
      parameters:
        - name: quotationReference
          in: path
          required: true
          description: Quotation reference identifier
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingAmendment'
      responses:
        '200':
          description: Quotation pricing amended
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotationResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /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'
  /party/{customerId}/contracts:
    get:
      operationId: getCustomerContracts
      summary: Get Customer Contracts And Accounts
      description: >-
        Retrieve all holdings, contracts, and accounts for a party
        within the pricing system.
      tags:
        - Party Details
      parameters:
        - name: customerId
          in: path
          required: true
          description: Customer identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of contracts
          content:
            application/json:
              schema:
                type: object
                properties:
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerContract'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /party/{customerId}/pricing:
    get:
      operationId: getCustomerPricing
      summary: Get Customer Pricing
      description: >-
        Retrieve all pricing information for a customer including
        pricing identifiers and applied benefit adjustments.
      tags:
        - Party Details
      parameters:
        - name: customerId
          in: path
          required: true
          description: Customer identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of pricing
          content:
            application/json:
              schema:
                type: object
                properties:
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerPricing'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /arrangements/{arrangementId}/payoff:
    get:
      operationId: calculatePayoffAmount
      summary: Calculate Payoff Amount
      description: >-
        Compute the closure costs for an arrangement including
        outstanding interest, charges, and early termination penalties.
      tags:
        - Accounts Arrangement Details
      parameters:
        - name: arrangementId
          in: path
          required: true
          description: Arrangement identifier
          schema:
            type: string
      responses:
        '200':
          description: Payoff calculation completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoffCalculation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /arrangements/{arrangementId}/interestRates:
    get:
      operationId: getArrangementInterestRates
      summary: Get Arrangement Interest Rates
      description: >-
        Retrieve interest rate details for an arrangement including
        base rates, applied benefits, and effective net rates.
      tags:
        - Pricing Arrangement Details
      parameters:
        - name: arrangementId
          in: path
          required: true
          description: Arrangement identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of interest rates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterestRateDetails'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /arrangements/{arrangementId}/charges:
    get:
      operationId: getArrangementCharges
      summary: Get Arrangement Charges
      description: >-
        Retrieve activity charge fees and periodic charge fees for an
        arrangement including account opening, closure, and recurring
        maintenance charges.
      tags:
        - Pricing Arrangement Details
      parameters:
        - name: arrangementId
          in: path
          required: true
          description: Arrangement identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of charges
          content:
            application/json:
              schema:
                type: object
                properties:
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChargeDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /promotions:
    post:
      operationId: createPromotion
      summary: Create Promotion Arrangement
      description: >-
        Establish a promotional arrangement for a party with promotional
        codes enabling special pricing benefits.
      tags:
        - Promotions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromotionCreate'
      responses:
        '201':
          description: Promotion created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Promotion'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    pageSize:
      name: page_size
      in: query
      description: Records per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    pageStart:
      name: page_start
      in: query
      description: Starting record
      schema:
        type: integer
        minimum: 0
        default: 0
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    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
    QuotationSimulateRequest:
      type: object
      description: Arrangement creation simulation request
      required:
        - productId
        - currency
      properties:
        productId:
          type: string
          description: Product identifier to simulate
        customerId:
          type: string
          description: Customer identifier for personalized pricing
        currency:
          type: string
          description: Arrangement currency
          pattern: '^[A-Z]{3}$'
        amount:
          type: number
          format: double
          description: Initial amount
        term:
          type: integer
          description: Arrangement term in months
        quotationReference:
          type: string
          description: User-defined quotation reference
    EventSimulateRequest:
      type: object
      description: Event simulation request
      required:
        - arrangementId
        - eventType
      properties:
        arrangementId:
          type: string
          description: Existing arrangement identifier
        eventType:
          type: string
          description: Type of event to simulate
          enum:
            - ATM_WITHDRAWAL
            - FUNDS_TRANSFER
            - PARTIAL_REDEMPTION
            - FULL_REDEMPTION
            - PAYMENT
        amount:
          type: number
          format: double
          description: Event amount
        currency:
          type: string
          description: Event currency
    QuotationResult:
      type: object
      description: Quotation pricing result
      properties:
        quotationReference:
          type: string
          description: Quotation reference identifier
        productId:
          type: string
          description: Product identifier
        interestRates:
          type: array
          description: Applicable interest rates
          items:
            $ref: '#/components/schemas/InterestRateDetail'
        fees:
          type: array
          description: Applicable fees
          items:
            $ref: '#/components/schemas/FeeDetail'
        cashback:
          type: array
          description: Applicable cashback offers
          items:
            type: object
            properties:
              type:
                type: string
                description: Cashback type
              amount:
                type: number
                format: double
                description: Cashback amount
        negotiated:
          type: boolean
          description: Whether pricing has been negotiated
    PricingAmendment:
      type: object
      description: Pricing amendment request
      properties:
        interestRateAdjustment:
          type: number
          format: double
          description: Interest rate adjustment in basis points
        feeWaivers:
          type: array
          description: Fee waivers to apply
          items:
            type: object
            properties:
              feeType:
                type: string
                description: Fee type to waive
              waivePercentage:
                type: number
                format: double
                description: Percentage of fee to waive
        expiryDate:
          type: string
          format: date
          description: Expiry date for the adjustment
    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
    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
    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
    CustomerContract:
      type: object
      description: Customer contract within pricing system
      properties:
        contractId:
          type: string
          description: Contract identifier
        productId:
          type: string
          description: Product identifier
        productName:
          type: string
          description: Product name
        status:
          type: string
          description: Contract status
    CustomerPricing:
      type: object
      description: Customer pricing information
      properties:
        arrangementId:
          type: string
          description: Arrangement identifier
        pricingId:
          type: string
          description: Pricing identifier
        interestRate:
          type: number
          format: double
          description: Effective interest rate
        adjustments:
          type: array
          description: Applied adjustments
          items:
            type: object
            properties:
              type:
                type: string
                description: Adjustment type
              value:
                type: number
                format: double
                description: Adjustment value
    PayoffCalculation:
      type: object
      description: Payoff calculation result
      properties:
        arrangementId:
          type: string
          description: Arrangement identifier
        outstandingPrincipal:
          type: number
          format: double
          description: Outstanding principal
        accruedInterest:
          type: number
          format: double
          description: Accrued interest
        earlyTerminationFee:
          type: number
          format: double
          description: Early termination penalty
        outstandingCharges:
          type: number
          format: double
          description: Outstanding charges
        totalPayoff:
          type: number
          format: double
          description: Total payoff amount
        currency:
          type: string
          description: Currency
    InterestRateDetails:
      type: object
      description: Arrangement interest rate details
      properties:
        arrangementId:
          type: string
          description: Arrangement identifier
        rates:
          type: array
          description: Interest rate details
          items:
            $ref: '#/components/schemas/InterestRateDetail'
    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
    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
    ChargeDetail:
      type: object
      description: Charge detail
      properties:
        chargeType:
          type: string
          description: Charge type
        description:
          type: string
          description: Charge description
        amount:
          type: number
          format: double
          description: Charge amount
        currency:
          type: string
          description: Currency
        frequency:
          type: string
          description: Charge frequency
    PromotionCreate:
      type: object
      description: Promotion creation request
      required:
        - customerId
        - promotionCode
      properties:
        customerId:
          type: string
          description: Customer identifier
        promotionCode:
          type: string
          description: Promotional code
        arrangementId:
          type: string
          description: Target arrangement
    Promotion:
      type: object
      description: Promotional arrangement
      properties:
        promotionId:
          type: string
          description: Promotion identifier
        customerId:
          type: string
          description: Customer identifier
        promotionCode:
          type: string
          description: Promotional code
        benefits:
          type: array
          description: Applied benefits
          items:
            type: object
            properties:
              type:
                type: string
                description: Benefit type
              value:
                type: number
                format: double
                description: Benefit value
        status:
          type: string
          description: Promotion status
        startDate:
          type: string
          format: date
          description: Promotion start date
        endDate:
          type: string
          format: date
          description: Promotion end date
    Error:
      type: object
      description: Error response
      properties:
        errorCode:
          type: string
          description: Error code
        errorMessage:
          type: string
          description: Error description