---
title: "Submit OneTime Premium Transaction"
url: "https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84/operations/submitOneTimePremiumTransaction"
---

> Full API specification: https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84.md

# Submit OneTime Premium Transaction

`POST` `/policy/v1/transactions/{planCode}/{policyNumber}/onetimepremium`

Operation ID: `submitOneTimePremiumTransaction`

## Path parameters

- `planCode` (string, required)
- `policyNumber` (string, required) - Policy Number

## Request body (required)

Content types: `application/json`

## Responses

- `202` - Submit Transaction Successful
- `400` - OneTime Premium Failure Response.yaml
- `500` - Internal server error. Please check server logs for more details.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Zinnia Policy Transactions API.
  version: 1.0.8
servers:
  - url: https://dev.api.zinnia.io
    description: DEV Environment
  - url: https://qa.api.zinnia.io
    description: QA Environment
paths:
  /policy/v1/transactions/{planCode}/{policyNumber}/onetimepremium:
    post:
      tags:
        - Financial Transactions
      summary: Submit OneTime Premium Transaction
      operationId: submitOneTimePremiumTransaction
      parameters:
        - name: planCode
          in: path
          required: true
          schema:
            type: string
        - in: path
          name: policyNumber
          schema:
            type: string
          required: true
          description: Policy Number
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OneTimePremiumRequest"
        required: true
      responses:
        "202":
          description: Submit Transaction Successful
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionAcceptedResponse"
        "400":
          description: OneTime Premium Failure Response.yaml
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PolicyTransactionResponse"
              examples:
                failure:
                  $ref: "#/components/examples/onetimepremiumTransactionFailureResponse"
        "500":
          description: Internal server error. Please check server logs for more details.
      security:
        - Auth0: []
      x-kong-plugin-pre-function:
        config:
          access:
            - >
              local path = kong.request.get_path()

              local new_path = path:gsub("^/policy/v1/transactions",
              "/bpm/v1/policies")

              kong.service.request.set_path(new_path)
security:
  - Auth0: []
components:
  schemas:
    OneTimePremiumRequest:
      type: object
      allOf:
        - $ref: "#/components/schemas/OneTimePremiumTransaction"
      properties:
        caseId:
          type: string
          example: CA0000007389
          description: Zinnia Live Case ID
        externalTransactionId:
          type: string
          description: Transaction ID from external system
          example: A12345
        override:
          type: boolean
          description: BPM will have to override the rules if this variable is marked as
            'true'
    TransactionAcceptedResponse:
      type: object
      properties:
        correlationId:
          type: string
          example: 3a2a3435-2089-4b81-9959-e0d569ccf4f0
          description: Unique identifier which used by every system to trace the request
        caseId:
          type: string
          example: CA0000369469
          description: Zinnia Live Case ID
        caseStatus:
          type: string
          example: IN_PROGRESS
          description: Zinnia Live Case Status
        pdfId:
          type: string
          description: Identifier for the generated or associated PDF document (e.g.
            OnBase document number). Returned on systematic program setup and
            update submit when available.
          example: DOC-10004567
    PolicyTransactionResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - failure
        errors:
          type: array
          items:
            $ref: "#/components/schemas/Errors"
    OneTimePremiumTransaction:
      type: object
      properties:
        correlationId:
          type: string
          example: 657b717b7dcf554abf9ef067
          description: The unique ID to track transaction request across all systems
        effectiveDate:
          type: string
          format: date
          example: 2023-01-01
          description: Date when the transaction was originally scheduled or expected to
            happen. It can be a non-business day
        reverseInitiator:
          type: boolean
          description: Property to isolate source transaction(s) that initiated the reversal
        transactionAmounts:
          type: object
          properties:
            requestedAmount:
              type: number
              description: Requested amount value
          required:
            - requestedAmount
        payor:
          type: object
          properties:
            partyId:
              type: string
              description: Impacted Party in the event of financial transaction
            paymentForm:
              type: string
              enum:
                - DTCC
                - EFT
                - ACH
                - CHECK
              description: Mode of payment
            bankId:
              type: string
              description: Comes in Acord 103
            referenceNumber:
              type: string
              description: Reference number from external system
              example: B789123
          anyOf:
            - required:
                - bankId
            - required:
                - referenceNumber
        transactionReason:
          type: string
          enum:
            - ONETIMEPREMIUM
            - PRODUCTDEFAULT
          example: PRODUCTDEFAULT
          description: Reason for Initiating One Time Premium Transaction
      required:
        - effectiveDate
        - transactionAmounts
        - payor
    Errors:
      type: object
      properties:
        errorCode:
          type: string
          example: INVALID_REQUEST
          description: This is the error code generated by BPM system
        attribute:
          type: string
        error:
          type: string
          description: This is the error generated by BPM system
        resolution:
          type: string
          description: Resolution generated by BPM system to resolve the error
  examples:
    onetimepremiumTransactionFailureResponse:
      value:
        status: failure
        errors:
          - errorCode: INVALID_REQUEST
            attribute: ""
            error: Amount request is invalid.
            resolution: Please check the One Time Premium Amount and submit the request
              again.
          - errorCode: INVALID_REQUEST
            attribute: ""
            error: Party information does not match with information in the Zahara system.
            resolution: Please validate the party information and submit the request again.
          - errorCode: DUPLICATE_PAYMENT_REFERENCE
            attribute: ""
            error: Duplicate Payment Reference.
            resolution: Provide Unique Duplicate Payment Reference.
          - errorCode: DUPLICATE_CORRELATION_ID
            attribute: ""
            error: Duplicate Correlation ID.
            resolution: Provide Unique Duplicate Correlation ID.
  securitySchemes:
    Auth0:
      type: openIdConnect
      openIdConnectUrl: https://login.qa.zinnia.com/.well-known/openid-configuration
      x-kong-security-openid-connect:
        config:
          run_on_preflight: true
          scopes_claim:
            - https://qa.api.zinnia.io/permissions
          audience_claim:
            - aud
          audience_required:
            - https://qa.api.zinnia.io
          client_id:
            - client_id
          auth_methods:
            - bearer
        enabled: true
        protocols:
          - grpc
          - grpcs
          - http
          - https
```
