openapi: 3.1.0 info: title: Murex MX.3 Market Data Accounting Positions API description: Real-time and historical market data API providing quotes, yield curves, volatility surfaces, and reference data for pricing and valuation on the Murex MX.3 platform. version: '1.0' contact: name: Murex Support url: https://www.murex.com/en/support termsOfService: https://www.murex.com/en/legal/terms servers: - url: https://api.murex.com/v1/marketdata description: Murex MX.3 Market Data API security: - bearerAuth: [] tags: - name: Positions description: Portfolio position retrieval and management paths: /positions: get: operationId: listPositions summary: Murex List positions description: Retrieve portfolio positions with optional filtering by portfolio, asset class, instrument, and date. tags: - Positions parameters: - $ref: '#/components/parameters/portfolioId' - $ref: '#/components/parameters/deskId' - name: assetClass in: query description: Filter by asset class schema: type: string enum: - FX - IRD - Equity - Credit - Commodity - FixedIncome - name: instrumentId in: query description: Filter by instrument identifier schema: type: string - name: asOfDate in: query description: Position date schema: type: string format: date - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: List of positions content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Position' totalCount: type: integer '401': description: Unauthorized /positions/{positionId}: get: operationId: getPosition summary: Murex Get a position description: Retrieve details of a specific position. tags: - Positions parameters: - name: positionId in: path required: true description: Position unique identifier schema: type: string responses: '200': description: Position details content: application/json: schema: $ref: '#/components/schemas/Position' '401': description: Unauthorized '404': description: Position not found /positions/summary: get: operationId: getPositionSummary summary: Murex Get position summary description: Retrieve aggregated position summary by portfolio, desk, asset class, or currency. tags: - Positions parameters: - $ref: '#/components/parameters/portfolioId' - $ref: '#/components/parameters/deskId' - name: groupBy in: query description: Grouping dimension for aggregation schema: type: string enum: - assetClass - currency - portfolio - desk - counterparty - name: asOfDate in: query description: Position date schema: type: string format: date responses: '200': description: Aggregated position summary content: application/json: schema: $ref: '#/components/schemas/PositionSummary' '401': description: Unauthorized components: schemas: Position: type: object properties: positionId: type: string description: Unique position identifier portfolioId: type: string description: Portfolio or book identifier portfolioName: type: string description: Portfolio display name instrumentId: type: string description: Instrument identifier instrumentName: type: string description: Instrument display name assetClass: type: string description: Asset class quantity: type: number description: Position quantity or notional marketValue: type: number description: Current market value averageCost: type: number description: Average cost basis unrealizedPnL: type: number description: Unrealized profit or loss realizedPnL: type: number description: Realized profit or loss currency: type: string description: Position currency (ISO 4217) counterpartyId: type: string description: Counterparty identifier counterpartyName: type: string description: Counterparty display name tradeDate: type: string format: date description: Original trade date valueDate: type: string format: date description: Value or settlement date maturityDate: type: string format: date description: Maturity date asOfDate: type: string format: date description: Position as-of date PositionSummary: type: object properties: asOfDate: type: string format: date totalMarketValue: type: number description: Total market value totalUnrealizedPnL: type: number description: Total unrealized P&L currency: type: string description: Reporting currency groups: type: array items: type: object properties: groupKey: type: string description: Grouping key value marketValue: type: number unrealizedPnL: type: number positionCount: type: integer parameters: deskId: name: deskId in: query description: Trading desk identifier schema: type: string portfolioId: name: portfolioId in: query description: Portfolio or book identifier schema: type: string offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 limit: name: limit in: query description: Maximum number of results to return schema: type: integer default: 50 maximum: 500 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token for MX.3 API access externalDocs: description: Murex MX.3 Market Data API Documentation url: https://docs.murex.com/mx3/marketdata-api