Temenos Wealth API

Integrated portfolio management and securities trading platform APIs for wealth managers and private bankers, including holdings, inventory, order, party, reference, meta, and system enterprise APIs.

OpenAPI Specification

temenos-wealth-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Temenos Wealth API
  description: >-
    Integrated portfolio management and securities trading platform APIs for
    wealth managers and private bankers. Provides enterprise APIs across
    holdings, inventory, order, party, reference, meta, and system categories
    for managing portfolios, executing trades across a wide range of
    instruments from fixed income and equities through ETD and OTC
    derivatives to structured products and fund types.
  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 Wealth API Documentation
  url: https://developer.temenos.com/wealth-api
servers:
  - url: https://api.temenos.com/wealth/v1
    description: Temenos Wealth API - Production
security:
  - bearerAuth: []
tags:
  - name: Holdings
    description: >-
      Manage wealth holdings and portfolio positions including valuations,
      account balances, and instrument positions across asset classes.
  - name: Inventory
    description: >-
      Inventory operations for securities and instrument data management
      providing master data for the wealth management platform.
  - name: Order
    description: >-
      Securities trading order management including order creation,
      execution, amendment, and cancellation across equity, fixed income,
      derivatives, and fund instruments.
  - name: Party
    description: >-
      Customer and relationship management for wealth clients including
      investor profiles, advisor assignments, and mandate configurations.
  - name: Reference
    description: >-
      Reference data management for wealth operations including security
      master data, market data, and instrument classification.
paths:
  /holdings/portfolios:
    get:
      operationId: listPortfolios
      summary: List Portfolios
      description: >-
        Retrieve a list of investment portfolios for wealth clients
        including portfolio valuations, benchmark assignments, and
        investment mandate details.
      tags:
        - Holdings
      parameters:
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageStart'
        - name: customerId
          in: query
          description: Filter portfolios by customer identifier
          schema:
            type: string
        - name: advisorId
          in: query
          description: Filter by assigned advisor
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of portfolios
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/Portfolio'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createPortfolio
      summary: Create Portfolio
      description: >-
        Create a new investment portfolio for a wealth client with
        specified investment mandate, benchmark, and risk profile.
      tags:
        - Holdings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortfolioCreate'
      responses:
        '201':
          description: Portfolio created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /holdings/portfolios/{portfolioId}:
    get:
      operationId: getPortfolio
      summary: Get Portfolio Details
      description: >-
        Retrieve detailed portfolio information including current
        valuation, asset allocation, performance metrics, and linked
        account details.
      tags:
        - Holdings
      parameters:
        - $ref: '#/components/parameters/portfolioId'
      responses:
        '200':
          description: Successful retrieval of portfolio details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: closePortfolio
      summary: Close Portfolio
      description: >-
        Close an investment portfolio after all positions have been
        liquidated and settled.
      tags:
        - Holdings
      parameters:
        - $ref: '#/components/parameters/portfolioId'
      responses:
        '200':
          description: Portfolio closed successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /holdings/portfolios/{portfolioId}/positions:
    get:
      operationId: listPortfolioPositions
      summary: List Portfolio Positions
      description: >-
        Retrieve investment positions within a portfolio including
        equities, bonds, derivatives, funds, and cash positions with
        current market valuations.
      tags:
        - Holdings
      parameters:
        - $ref: '#/components/parameters/portfolioId'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageStart'
        - name: assetClass
          in: query
          description: Filter by asset class
          schema:
            type: string
            enum:
              - EQUITY
              - FIXED_INCOME
              - DERIVATIVES
              - FUNDS
              - CASH
              - ALTERNATIVES
      responses:
        '200':
          description: Successful retrieval of positions
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/Position'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /holdings/portfolios/{portfolioId}/valuation:
    get:
      operationId: getPortfolioValuation
      summary: Get Portfolio Valuation
      description: >-
        Retrieve the current or historical valuation of a portfolio
        including total market value, unrealized gains and losses,
        and asset allocation breakdown.
      tags:
        - Holdings
      parameters:
        - $ref: '#/components/parameters/portfolioId'
        - name: valuationDate
          in: query
          description: Valuation date for historical lookups
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Successful retrieval of valuation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortfolioValuation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /order/securities:
    get:
      operationId: listSecurityOrders
      summary: List Security Orders
      description: >-
        Retrieve securities trading orders across all portfolios with
        filtering by status, instrument type, and date range.
      tags:
        - Order
      parameters:
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageStart'
        - name: portfolioId
          in: query
          description: Filter by portfolio
          schema:
            type: string
        - name: status
          in: query
          description: Filter by order status
          schema:
            type: string
            enum:
              - PENDING
              - SUBMITTED
              - PARTIALLY_FILLED
              - FILLED
              - CANCELLED
              - REJECTED
      responses:
        '200':
          description: Successful retrieval of orders
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/SecurityOrder'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSecurityOrder
      summary: Create Security Order
      description: >-
        Place a new securities trading order for buying or selling
        instruments including equities, bonds, derivatives, and funds
        with specified order type and validity.
      tags:
        - Order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityOrderCreate'
      responses:
        '201':
          description: Order created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityOrder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /order/securities/{orderId}:
    get:
      operationId: getSecurityOrder
      summary: Get Security Order Details
      description: >-
        Retrieve detailed information for a security order including
        execution details, fill history, and settlement status.
      tags:
        - Order
      parameters:
        - name: orderId
          in: path
          required: true
          description: Unique order identifier
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityOrder'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: cancelSecurityOrder
      summary: Cancel Security Order
      description: >-
        Cancel a pending or partially filled security order before
        full execution.
      tags:
        - Order
      parameters:
        - name: orderId
          in: path
          required: true
          description: Order identifier to cancel
          schema:
            type: string
      responses:
        '200':
          description: Order cancelled successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /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'
        - $ref: '#/components/parameters/pageStart'
      responses:
        '200':
          description: Successful retrieval of clients
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/WealthClient'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /inventory/securities:
    get:
      operationId: listSecurities
      summary: List Securities
      description: >-
        Retrieve the securities master data inventory including equities,
        bonds, derivatives, and funds with their classification details
        and market identifiers.
      tags:
        - Inventory
      parameters:
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pageStart'
        - name: assetClass
          in: query
          description: Filter by asset class
          schema:
            type: string
        - name: exchange
          in: query
          description: Filter by exchange
          schema:
            type: string
      responses:
        '200':
          description: Successful retrieval of securities
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/Security'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /reference/markets:
    get:
      operationId: listMarkets
      summary: List Markets
      description: >-
        Retrieve reference data for supported markets and exchanges
        including trading hours, settlement cycles, and market status.
      tags:
        - Reference
      responses:
        '200':
          description: Successful retrieval of markets
          content:
            application/json:
              schema:
                type: object
                properties:
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/Market'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    pageSize:
      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
      schema:
        type: integer
        minimum: 0
        default: 0
    portfolioId:
      name: portfolioId
      in: path
      required: true
      description: Unique portfolio identifier
      schema:
        type: string
  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
    Portfolio:
      type: object
      description: Investment portfolio
      properties:
        portfolioId:
          type: string
          description: Unique portfolio identifier
        customerId:
          type: string
          description: Associated customer
        portfolioName:
          type: string
          description: Portfolio display name
        currency:
          type: string
          description: Portfolio base currency
        mandateType:
          type: string
          description: Investment mandate type
          enum:
            - DISCRETIONARY
            - ADVISORY
            - EXECUTION_ONLY
        riskProfile:
          type: string
          description: Client risk profile
          enum:
            - CONSERVATIVE
            - MODERATE
            - BALANCED
            - GROWTH
            - AGGRESSIVE
        benchmarkId:
          type: string
          description: Assigned benchmark identifier
        totalValue:
          type: number
          format: double
          description: Total portfolio market value
        advisorId:
          type: string
          description: Assigned advisor identifier
        openDate:
          type: string
          format: date
          description: Portfolio opening date
        status:
          type: string
          description: Portfolio status
          enum:
            - ACTIVE
            - CLOSED
            - SUSPENDED
    PortfolioCreate:
      type: object
      description: Portfolio creation request
      required:
        - customerId
        - currency
        - mandateType
      properties:
        customerId:
          type: string
          description: Customer identifier
        portfolioName:
          type: string
          description: Portfolio name
        currency:
          type: string
          description: Base currency in ISO 4217 format
          pattern: '^[A-Z]{3}$'
        mandateType:
          type: string
          description: Investment mandate type
          enum:
            - DISCRETIONARY
            - ADVISORY
            - EXECUTION_ONLY
        riskProfile:
          type: string
          description: Risk profile
          enum:
            - CONSERVATIVE
            - MODERATE
            - BALANCED
            - GROWTH
            - AGGRESSIVE
        benchmarkId:
          type: string
          description: Benchmark assignment
        advisorId:
          type: string
          description: Advisor assignment
    Position:
      type: object
      description: Portfolio position
      properties:
        positionId:
          type: string
          description: Position identifier
        portfolioId:
          type: string
          description: Portfolio identifier
        securityId:
          type: string
          description: Security identifier
        securityName:
          type: string
          description: Security name
        assetClass:
          type: string
          description: Asset class
          enum:
            - EQUITY
            - FIXED_INCOME
            - DERIVATIVES
            - FUNDS
            - CASH
            - ALTERNATIVES
        quantity:
          type: number
          format: double
          description: Position quantity
        averageCost:
          type: number
          format: double
          description: Average cost per unit
        marketPrice:
          type: number
          format: double
          description: Current market price
        marketValue:
          type: number
          format: double
          description: Current market value
        unrealizedPnL:
          type: number
          format: double
          description: Unrealized profit and loss
        currency:
          type: string
          description: Position currency
        weight:
          type: number
          format: double
          description: Position weight in portfolio as percentage
    PortfolioValuation:
      type: object
      description: Portfolio valuation summary
      properties:
        portfolioId:
          type: string
          description: Portfolio identifier
        valuationDate:
          type: string
          format: date
          description: Valuation date
        totalMarketValue:
          type: number
          format: double
          description: Total market value
        totalCost:
          type: number
          format: double
          description: Total cost basis
        unrealizedPnL:
          type: number
          format: double
          description: Total unrealized P&L
        currency:
          type: string
          description: Valuation currency
        assetAllocation:
          type: array
          description: Asset allocation breakdown
          items:
            type: object
            properties:
              assetClass:
                type: string
                description: Asset class name
              marketValue:
                type: number
                format: double
                description: Market value in asset class
              weight:
                type: number
                format: double
                description: Percentage weight
    SecurityOrder:
      type: object
      description: Securities trading order
      properties:
        orderId:
          type: string
          description: Unique order identifier
        portfolioId:
          type: string
          description: Portfolio identifier
        securityId:
          type: string
          description: Security identifier
        side:
          type: string
          description: Order side
          enum:
            - BUY
            - SELL
        orderType:
          type: string
          description: Order type
          enum:
            - MARKET
            - LIMIT
            - STOP
            - STOP_LIMIT
        quantity:
          type: number
          format: double
          description: Order quantity
        limitPrice:
          type: number
          format: double
          description: Limit price for limit orders
        filledQuantity:
          type: number
          format: double
          description: Executed quantity
        averagePrice:
          type: number
          format: double
          description: Average execution price
        status:
          type: string
          description: Order status
          enum:
            - PENDING
            - SUBMITTED
            - PARTIALLY_FILLED
            - FILLED
            - CANCELLED
            - REJECTED
        validity:
          type: string
          description: Order validity
          enum:
            - DAY
            - GTC
            - GTD
        createdDate:
          type: string
          format: date-time
          description: Order creation timestamp
    SecurityOrderCreate:
      type: object
      description: Security order creation request
      required:
        - portfolioId
        - securityId
        - side
        - orderType
        - quantity
      properties:
        portfolioId:
          type: string
          description: Portfolio identifier
        securityId:
          type: string
          description: Security identifier
        side:
          type: string
          description: Order side
          enum:
            - BUY
            - SELL
        orderType:
          type: string
          description: Order type
          enum:
            - MARKET
            - LIMIT
            - STOP
            - STOP_LIMIT
        quantity:
          type: number
          format: double
          description: Order quantity
          minimum: 0
        limitPrice:
          type: number
          format: double
          description: Limit price for limit/stop-limit orders
        stopPrice:
          type: number
          format: double
          description: Stop price for stop/stop-limit orders
        validity:
          type: string
          description: Order validity
          enum:
            - DAY
            - GTC
            - GTD
          default: DAY
        expiryDate:
          type: string
          format: date
          description: Expiry date for GTD orders
    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
    Security:
      type: object
      description: Security master data
      properties:
        securityId:
          type: string
          description: Internal security identifier
        isin:
          type: string
          description: ISIN code
          pattern: '^[A-Z]{2}[A-Z0-9]{9}[0-9]$'
        ticker:
          type: string
          description: Ticker symbol
        securityName:
          type: string
          description: Security name
        assetClass:
          type: string
          description: Asset class classification
        exchange:
          type: string
          description: Primary listing exchange
        currency:
          type: string
          description: Trading currency
        country:
          type: string
          description: Country of issue
        lastPrice:
          type: number
          format: double
          description: Last traded price
    Market:
      type: object
      description: Market reference data
      properties:
        marketId:
          type: string
          description: Market identifier
        marketName:
          type: string
          description: Market name
        country:
          type: string
          description: Market country
        currency:
          type: string
          description: Default trading currency
        settlementCycle:
          type: string
          description: Standard settlement cycle
        status:
          type: string
          description: Market operating status
    Error:
      type: object
      description: Error response
      properties:
        errorCode:
          type: string
          description: Error code
        errorMessage:
          type: string
          description: Error description