---
title: "Retrieves the product pricing payload for a transaction."
url: "https://developers.zinnia.com/apis/market-connect-order-entry/versions/50f981c3-db50-4358-884f-31eb427255ec/operations/getProductPricing"
---

> Full API specification: https://developers.zinnia.com/apis/market-connect-order-entry/versions/50f981c3-db50-4358-884f-31eb427255ec.md

# Retrieves the product pricing payload for a transaction.

`GET` `/market-connect/order-entry/v1/productpricing/{transactionId}`

Operation ID: `getProductPricing`

#### Error Responses - **400 Bad Request** - ```VALIDATION_ERROR``` - The request failed input validation. - **401 Unauthorized** - ```UNAUTHORIZED``` - Authentication failed or the access token is missing, expired, or invalid. - **403 Forbidden** - ```FORBIDDEN``` - The authenticated user is not authorized to access this resource. - **404 Not Found** - ```NOT_FOUND``` - No pricing was found for the specified transaction. - **429 Too Many Requests** - ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted request rate or quota. - **500 Internal Server Error** - ```UNEXPECTED_ERROR``` - An unexpected internal system error occurred while processing the request. - **502 Bad Gateway** - ```UPSTREAM_SERVICE_ERROR``` - An upstream dependency returned an invalid or unsuccessful response. - **503 Service Unavailable** - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable. - **504 Gateway Timeout** - ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured timeout. #### Standard Error Response All error responses conform to the standard ```ErrorResponse``` schema and include: - A stable error code from ```ErrorInfo.code```. - A human-readable error message. - Optional diagnostic details, when applicable. - A timestamp indicating when the error occurred. This consistent format enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry API endpoints.

## Path parameters

- `transactionId` (string, required) - Unique identifier assigned when the Order Entry transaction is created. Resolves to the internal transaction; caller must be authorized for this transaction.

## Responses

- `200` - Returns the product pricing payload
- `400` - `VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).
- `401` - `UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.
- `403` - `FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.
- `404` - `TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.
- `429` - `RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.
- `500` - `BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.
- `502` - `UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.
- `503` - `SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.
- `504` - `UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.

## OpenAPI definition

````yaml
openapi: 3.0.1
info:
  title: Market Connect Order Entry API
  version: 1.0.3
servers:
  - url: https://dev.api.zinnia.io
  - url: https://qa.api.zinnia.io
  - url: https://uat.api.zinnia.io
paths:
  /market-connect/order-entry/v1/productpricing/{transactionId}:
    get:
      tags:
        - ProductPricing
      summary: Retrieves the product pricing payload for a transaction.
      description: >-
        #### Error Responses


        - **400 Bad Request**
            
        - ```VALIDATION_ERROR``` - The request failed input validation.


        - **401 Unauthorized**
            
        - ```UNAUTHORIZED``` - Authentication failed or the access token is
        missing, expired, or invalid.


        - **403 Forbidden**
            
        - ```FORBIDDEN``` - The authenticated user is not authorized to access
        this resource.


        - **404 Not Found**
            
        - ```NOT_FOUND``` - No pricing was found for the specified transaction.


        - **429 Too Many Requests**
            
        - ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted
        request rate or quota.


        - **500 Internal Server Error**
            
        - ```UNEXPECTED_ERROR``` - An unexpected internal system error occurred
        while processing the request.


        - **502 Bad Gateway**
            
        - ```UPSTREAM_SERVICE_ERROR``` - An upstream dependency returned an
        invalid or unsuccessful response.


        - **503 Service Unavailable**
            
        - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is
        temporarily unavailable.


        - **504 Gateway Timeout**
            
        - ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond
        within the configured timeout.


        #### Standard Error Response


        All error responses conform to the standard ```ErrorResponse``` schema
        and include:


        - A stable error code from ```ErrorInfo.code```.

        - A human-readable error message.

        - Optional diagnostic details, when applicable.

        - A timestamp indicating when the error occurred.

        This consistent format enables clients to implement standardized error
        processing, logging, and troubleshooting across all Order Entry API
        endpoints.
      operationId: getProductPricing
      parameters:
        - name: transactionId
          in: path
          description: Unique identifier assigned when the Order Entry transaction is
            created. Resolves to the internal transaction; caller must be
            authorized for this transaction.
          required: true
          schema:
            type: string
          example: "1064752"
      responses:
        "200":
          description: Returns the product pricing payload
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductPricingResponse"
              examples:
                success:
                  summary: Pricing retrieved
                  description: isSuccess = true with productFees, featureFees, fundFees,
                    surrenderCharges, and netManagementFees in data.
                  value:
                    caseId: OE-CASE-10001
                    transactionId: "1064752"
                    data:
                      isApplicationTransaction: true
                      isVariableAnnuity: true
                      showMarketValueAdjustment: false
                      showNetManagementFee: true
                      productFees:
                        - feeTypeLabel: "Base M&E charges:"
                          feeName: M&E
                          feeValue: 0.90%
                          isDefaultType: false
                        - feeTypeLabel: "Annual Contract Amount:"
                          feeName: Contract fee
                          feeValue: $120.00
                          isDefaultType: false
                      featureFees:
                        - featureName: Lifetime income rider
                          feeValues:
                            - 0.35%
                            - $25 annual
                          riderModifiedChargeSchedule:
                            - year: "1"
                              charge: 2.00%
                            - year: "2"
                              charge: 1.50%
                      fundFees:
                        - fundName: Sample Index Fund
                          percentageDisplay: 0.85%
                          minPct: 0.50%
                          maxPct: 1.25%
                          amountDisplay: ""
                          minAmt: ""
                          maxAmt: ""
                          isValueAdjusted: false
                      surrenderCharges:
                        - year: "1"
                          charge: 8%
                        - year: "2"
                          charge: 7%
                        - year: "3"
                          charge: 6%
                      netManagementFees:
                        - fundName: Sample Index Fund
                          totalFeePercentage: 1.10%
                    isSuccess: true
                    message: Success
                    status: Success
                business-failure:
                  summary: Upstream business failure
                  description: isSuccess = false with status Failure; data is an empty pricing
                    object.
                  value:
                    caseId: null
                    transactionId: "1064752"
                    data:
                      isApplicationTransaction: false
                      isVariableAnnuity: false
                      showMarketValueAdjustment: false
                      showNetManagementFee: false
                      productFees: []
                      featureFees: []
                      fundFees: []
                      surrenderCharges: []
                      netManagementFees: []
                    isSuccess: false
                    message: Product pricing is not available for this transaction.
                    status: Failure
        "400":
          description: >-
            `VALIDATION_ERROR` - The request failed input validation.


            `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid
            (less than or equal to zero).
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: abc
                errors:
                  - code: INVALID_TRANSACTION_ID
                    description: Invalid transaction ID provided
                    details: Transaction ID abc is not valid
                    timestamp: 2026-05-18T14:30:00.0000000Z
        "401":
          description: "`UNAUTHORIZED` - Authentication failed or the access token is
            missing, expired, or invalid."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: UNAUTHORIZED
                    description: Unauthorized access
                    details: The request requires authentication
                    timestamp: 2025-01-16T13:21:19.4355657Z
        "403":
          description: "`FORBIDDEN` - The authenticated user is not authorized to access
            the requested transaction."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: FORBIDDEN
                    description: Access denied
                    details: You do not have permission to access this resource
                    timestamp: 2025-01-16T13:21:19.4355657Z
        "404":
          description: >-
            `TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified
            transaction ID.


            `NOT_FOUND` - The requested transaction or blueprint step could not
            be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "1064752"
                errors:
                  - code: NOT_FOUND
                    description: Resource not found
                    details: Product pricing not found for transaction 1064752
                    timestamp: 2026-05-18T14:30:00.0000000Z
        "429":
          description: "`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted
            request rate or quota."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: RATE_LIMIT_EXCEEDED
                    description: Request rate limit exceeded
                    details: The client has exceeded the permitted request rate or quota.
                    timestamp: 2025-01-16T13:21:19.4355657Z
        "500":
          description: >-
            `BUILD_BLUEPRINT_ERROR` - An error occurred while generating the
            order entry blueprint.


            `JSON_PARSE_ERROR` - The system encountered an error while parsing
            the transaction response.


            `UNEXPECTED_ERROR` - An unexpected internal system error occurred
            while processing the request.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: UNEXPECTED_ERROR
                    description: An unexpected error occurred
                    details: An internal error occurred. Please contact support if the problem
                      persists.
                    timestamp: 2025-01-16T13:21:19.4355657Z
        "502":
          description: "`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an
            invalid or unsuccessful response."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "1064752"
                errors:
                  - code: UPSTREAM_SERVICE_ERROR
                    description: Product pricing service error
                    details: Failed to get product pricing
                    timestamp: 2026-05-18T14:30:00.0000000Z
        "503":
          description: "`SERVICE_UNAVAILABLE` - The service or a required dependency is
            temporarily unavailable."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: SERVICE_UNAVAILABLE
                    description: Service unavailable
                    details: The service or a required dependency is temporarily unavailable.
                    timestamp: 2025-01-16T13:21:19.4355657Z
        "504":
          description: "`UPSTREAM_TIMEOUT` - A required downstream service did not respond
            within the configured timeout."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
              example:
                transactionId: "12345"
                errors:
                  - code: UPSTREAM_TIMEOUT
                    description: Upstream timeout
                    details: A required downstream service did not respond within the configured
                      timeout.
                    timestamp: 2025-01-16T13:21:19.4355657Z
security:
  - openIdConnect: []
components:
  schemas:
    ProductPricingResponse:
      required:
        - transactionId
      type: object
      properties:
        caseId:
          type: string
          description: Case identifier associated with the transaction when pricing is
            found.
          nullable: true
        transactionId:
          minLength: 1
          type: string
          description: Unique identifier for the Order Entry transaction.
        data:
          allOf:
            - $ref: "#/components/schemas/ProductPricingData"
          description: Fee schedules and product pricing detail; null when isSuccess is
            false.
          example:
            isApplicationTransaction: true
            isVariableAnnuity: true
            showMarketValueAdjustment: false
            showNetManagementFee: true
            productFees:
              - feeTypeLabel: "Base M&E charges:"
                feeName: M&E
                feeValue: 0.90%
                isDefaultType: false
              - feeTypeLabel: "Annual Contract Amount:"
                feeName: Contract fee
                feeValue: $120.00
                isDefaultType: false
            featureFees:
              - featureName: Lifetime income rider
                feeValues:
                  - 0.35%
                  - $25 annual
                riderModifiedChargeSchedule:
                  - year: "1"
                    charge: 2.00%
                  - year: "2"
                    charge: 1.50%
            fundFees:
              - fundName: Sample Index Fund
                percentageDisplay: 0.85%
                minPct: 0.50%
                maxPct: 1.25%
                amountDisplay: ""
                minAmt: ""
                maxAmt: ""
                isValueAdjusted: false
            surrenderCharges:
              - year: "1"
                charge: 8%
              - year: "2"
                charge: 7%
              - year: "3"
                charge: 6%
            netManagementFees:
              - fundName: Sample Index Fund
                totalFeePercentage: 1.10%
        isSuccess:
          type: boolean
          description: Whether the upstream product pricing call succeeded.
        message:
          type: string
          description: Human-readable status message from the product pricing service.
          nullable: true
        status:
          type: string
          description: Status label (for example Success or Failure).
          nullable: true
      additionalProperties: false
      example:
        caseId: OE-CASE-10001
        transactionId: "1064752"
        data:
          isApplicationTransaction: true
          isVariableAnnuity: true
          showMarketValueAdjustment: false
          showNetManagementFee: true
          productFees:
            - feeTypeLabel: "Base M&E charges:"
              feeName: M&E
              feeValue: 0.90%
              isDefaultType: false
            - feeTypeLabel: "Annual Contract Amount:"
              feeName: Contract fee
              feeValue: $120.00
              isDefaultType: false
          featureFees:
            - featureName: Lifetime income rider
              feeValues:
                - 0.35%
                - $25 annual
              riderModifiedChargeSchedule:
                - year: "1"
                  charge: 2.00%
                - year: "2"
                  charge: 1.50%
          fundFees:
            - fundName: Sample Index Fund
              percentageDisplay: 0.85%
              minPct: 0.50%
              maxPct: 1.25%
              amountDisplay: ""
              minAmt: ""
              maxAmt: ""
              isValueAdjusted: false
          surrenderCharges:
            - year: "1"
              charge: 8%
            - year: "2"
              charge: 7%
            - year: "3"
              charge: 6%
          netManagementFees:
            - fundName: Sample Index Fund
              totalFeePercentage: 1.10%
        isSuccess: true
        message: Success
        status: Success
    ErrorResponse:
      required:
        - errors
        - transactionId
      type: object
      properties:
        transactionId:
          minLength: 1
          type: string
        errors:
          type: array
          items:
            $ref: "#/components/schemas/ErrorInfo"
      additionalProperties: false
      example:
        transactionId: "12345"
        errors:
          - code: UNAUTHORIZED
            description: Unauthorized access
            details: The request requires authentication
            timestamp: 2025-01-16T13:21:19.4355657Z
    ProductPricingData:
      type: object
      properties:
        isApplicationTransaction:
          type: boolean
          description: True when the transaction is an application transaction.
        isVariableAnnuity:
          type: boolean
          description: True when the selected product is a variable annuity.
        showMarketValueAdjustment:
          type: boolean
          description: Whether the UI should show market value adjustment.
        showNetManagementFee:
          type: boolean
          description: Whether the UI should show the net management fee section.
        productFees:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingFee"
          description: Base and contract-level product fees.
          nullable: true
        featureFees:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingFeatureFee"
          description: Rider and feature-level fees with optional modified charge schedules.
          nullable: true
        fundFees:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingFundFee"
          description: Fund-level fee displays with optional min/max ranges.
          nullable: true
        surrenderCharges:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingYearCharge"
          description: Surrender charge schedule by contract year.
          nullable: true
        netManagementFees:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingNetManagementFee"
          description: Net management fee summary by fund.
          nullable: true
      additionalProperties: false
      example:
        isApplicationTransaction: true
        isVariableAnnuity: true
        showMarketValueAdjustment: false
        showNetManagementFee: true
        productFees:
          - feeTypeLabel: "Base M&E charges:"
            feeName: M&E
            feeValue: 0.90%
            isDefaultType: false
          - feeTypeLabel: "Annual Contract Amount:"
            feeName: Contract fee
            feeValue: $120.00
            isDefaultType: false
        featureFees:
          - featureName: Lifetime income rider
            feeValues:
              - 0.35%
              - $25 annual
            riderModifiedChargeSchedule:
              - year: "1"
                charge: 2.00%
              - year: "2"
                charge: 1.50%
        fundFees:
          - fundName: Sample Index Fund
            percentageDisplay: 0.85%
            minPct: 0.50%
            maxPct: 1.25%
            amountDisplay: ""
            minAmt: ""
            maxAmt: ""
            isValueAdjusted: false
        surrenderCharges:
          - year: "1"
            charge: 8%
          - year: "2"
            charge: 7%
          - year: "3"
            charge: 6%
        netManagementFees:
          - fundName: Sample Index Fund
            totalFeePercentage: 1.10%
    ErrorInfo:
      required:
        - code
        - timestamp
      type: object
      properties:
        code:
          enum:
            - VALIDATION_ERROR
            - INVALID_TRANSACTION_ID
            - INVALID_STEP_NAME
            - TRANSACTION_CREATION_FAILED
            - TRANSACTION_ID_NOT_FOUND
            - SAVE_TRANSACTION_ERROR
            - SAVE_TRANSACTION_FAILED
            - INVALID_RESPONSE_FORMAT
            - BUILD_BLUEPRINT_ERROR
            - JSON_PARSE_ERROR
            - TRANSFORMER_NULL_RESPONSE
            - EMPTY_BLUEPRINT
            - UNEXPECTED_ERROR
            - SERVICE_ERROR
            - UNAUTHORIZED
            - FORBIDDEN
            - NOT_FOUND
            - RATE_LIMIT_EXCEEDED
            - UPSTREAM_SERVICE_ERROR
            - SERVICE_UNAVAILABLE
            - UPSTREAM_TIMEOUT
            - FIRST_STEP_SETUP_FAILED
            - METHOD_NOT_ALLOWED
          type: string
          description: Backend error codes returned by the Order Entry API indicating
            validation failures, transaction issues, blueprint generation
            errors, authorization errors, or unexpected system failures.
        description:
          type: string
          nullable: true
        details:
          type: string
          nullable: true
        timestamp:
          type: string
          format: date-time
      additionalProperties: false
      example:
        code: VALIDATION_ERROR
        description: Validation failed for field '$.fieldName'
        details: The request contains an unrecognized property. Only documented fields
          are allowed.
        timestamp: 2024-01-15T10:30:00.000Z
    ProductPricingFee:
      type: object
      properties:
        feeTypeLabel:
          type: string
          nullable: true
        feeName:
          type: string
          nullable: true
        feeValue:
          type: string
          nullable: true
        isDefaultType:
          type: boolean
      additionalProperties: false
      example:
        feeTypeLabel: "Base M&E charges:"
        feeName: M&E
        feeValue: 0.90%
        isDefaultType: false
    ProductPricingFeatureFee:
      type: object
      properties:
        featureName:
          type: string
          nullable: true
        feeValues:
          type: array
          items:
            type: string
          nullable: true
        riderModifiedChargeSchedule:
          type: array
          items:
            $ref: "#/components/schemas/ProductPricingYearCharge"
          nullable: true
      additionalProperties: false
    ProductPricingFundFee:
      type: object
      properties:
        fundName:
          type: string
          nullable: true
        percentageDisplay:
          type: string
          nullable: true
        minPct:
          type: string
          nullable: true
        maxPct:
          type: string
          nullable: true
        amountDisplay:
          type: string
          nullable: true
        minAmt:
          type: string
          nullable: true
        maxAmt:
          type: string
          nullable: true
        isValueAdjusted:
          type: boolean
      additionalProperties: false
    ProductPricingYearCharge:
      type: object
      properties:
        year:
          type: string
          nullable: true
        charge:
          type: string
          nullable: true
      additionalProperties: false
    ProductPricingNetManagementFee:
      type: object
      properties:
        fundName:
          type: string
          nullable: true
        totalFeePercentage:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    openIdConnect:
      type: openIdConnect
      description: "OpenID Connect via Auth0. Clients present a JWT bearer token
        issued by the tenant in the `Authorization: Bearer <token>` header."
      openIdConnectUrl: https://login.qa.zinnia.com/.well-known/openid-configuration
      x-kong-security-openid-connect:
        config:
          auth_methods:
            - bearer
          verify_signature: true
          ignore_signature: []
          consumer_claim:
            - sub
          consumer_optional: true
````
