openapi: 3.1.0 info: title: Zinnia Policy Transactions API. description: Enterprise API for enforcing policy transactions and validations. This API provides a comprehensive interface for - Policy transaction validation and processing
- Financial and non-financial transaction management
- Policy party management and updates
- Systematic program management
**Version History** * Draft version 1.0.6
- Added Two Endpoints- Reinstatement eligibility check api, Reinstatement actual transaction api
* Draft Specifications (Subject to Change Upon Review)
version: 1.0.8 x-changelog: - date: '2026-08-13' change: 'ZCLA-649 Initial death claim — aligned InitialDeathClaimRequest with the revised FNOL payload: added policy.isContestable/isFuneralHomeAssigned, deathDetails.causeOfDeath, COVEREDINSURED party role, deathNotification.partyRole enum; renamed documents[].edsDocumentId to documents[].documentId; removed parties[].isFuneralHomeAssigned (now policy-level only)' - date: '2026-08-13' change: 'ZCLA-649 Initial death claim — added deathNotification.partyId (now required, enforced via bean validation on submit) and deathNotification.partyRole to identify the deceased party, and a riderClaim[] array (DeathClaimRiderClaim: riderCode, riderName, riderElected, partyId)' - date: '2026-08-03' change: Initial death claim — added POST initialdeathclaim/eligibilitycheck (no request body; returns TransactionResponse) - date: '2026-08-03' change: Initial death claim submit — aligned InitialDeathClaimRequest with IdnClaimRequest (added documents/DeathClaimDocument, party isNotifier, expanded partyRole and relationshipToInsured enums); responses now use shared TransactionAcceptedResponse (202) and TransactionResponse (errors) - date: '2026-07-29' change: Billing feature change — eligibility and validation endpoints with BillingFeatureChangeRequest payload (policyFeatures, transactionReason, signatures, documents, selfServeFlow) - date: '2026-07-24' change: Partial withdrawal one-time — updated PartialWithdrawalOneTime payload (selfServeFlow; tax withholding top-level fields and w4r; removed authorization from request body) - date: '2026-05-26' change: Added POST initialdeathclaim endpoint with standalone Initial Death Claim schemas - date: '2026-05-11' change: Systematic program — extended SystematicProgramUpdate request (MFA, agent, policyHolder, tax, funds, feature product, submittedDate, currency, disbursementType); PaymentForm EFT; Frequency BIANNUAL/DEFAULT; optional pdfId on TransactionAcceptedResponse for systematic program submit 202 - date: '2026-03-18' change: Active restrict — POST/GET /bpm/v1/policies/{planCode}/{policyNumber}/Restrict and policy API alias - date: '2025-07-17' change: CMW-29105 - Updated SystematicProgramUpdate Post to PUT - date: '2025-07-22' change: CMW-30437 - New End point for Systematic Programs Quote API - date: '2025-09-01' change: CMW-31343 - New End point for Reinstatement Quote API and Reinstatement Actual Transaction API - date: '2025-09-03' change: ZDR-3002 - Added One time premium 400 error example servers: - url: https://dev.api.zinnia.io description: DEV Environment - url: https://qa.api.zinnia.io description: QA Environment tags: - name: Financial Transactions description: Financial Transactions - name: Non Financial Transactions description: Non Financial Transactions - name: Policy - Transactions description: All Apis related to policy operations - name: Ref-Data description: Ref-Data - name: Transactions Eligibility description: Eligibility evaluation for different operations paths: /bpm/actuator/health: get: x-internal: true summary: Zahara BPM Health Check tags: - Policy - Transactions description: Returns the health status of the application operationId: getHealth responses: '200': description: Application is healthy content: application/json: schema: type: object properties: status: type: string enum: - UP - DOWN example: UP '503': description: Application is unhealthy content: application/json: schema: type: object properties: status: type: string enum: - DOWN example: DOWN /policy/v1/transactions/{planCode}/{policyNumber}/multi-agent/validation: post: 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) ' tags: - Non Financial Transactions summary: Validation multi agent Transaction operationId: validationMultiAgentTransaction1 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/AgentChangeDto' required: true responses: '200': description: Multi Agent Change Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Multi Agent Change Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/Restrict: parameters: - name: planCode in: path required: true schema: type: string description: Plan code example: EVGFIA909 - name: policyNumber in: path required: true schema: type: string description: Policy number example: EVFIA09222243202 /bpm/v1/policies/{planCode}/{policyNumber}/Restrict/alerts: parameters: - name: planCode in: path required: true schema: type: string description: Plan code example: EVGFIA909 - name: policyNumber in: path required: true schema: type: string description: Policy number example: EVFIA09222243202 /policy/v1/transactions/{planCode}/{policyNumber}/Restrict: 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) ' parameters: - name: planCode in: path required: true schema: type: string description: Plan code example: EVGFIA909 - name: policyNumber in: path required: true schema: type: string description: Policy number example: EVFIA09222243202 post: tags: - Non Financial Transactions summary: Submit active restrict transaction description: 'Submits restriction add/delete requests for a policy. Kong rewrites this path to the BPM service `/bpm/v1/policies/{planCode}/{policyNumber}/Restrict`. ' operationId: submitActiveRestrictPolicyApi requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ActiveRestrictTransactionRequest' responses: '202': description: Request accepted; transaction is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Bad request or rules validation failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' '500': description: Internal server error security: - Auth0: [] get: tags: - Non Financial Transactions summary: Get restriction alerts for a policy description: 'Returns the restriction alert aggregate from TDS. When none exists, response body is `{}`. Kong rewrites this path to `/bpm/v1/policies/{planCode}/{policyNumber}/Restrict`. ' operationId: getActiveRestrictAlertsPolicyApi responses: '200': description: Alert aggregate or empty object when no TDS record exists content: application/json: schema: oneOf: - $ref: '#/components/schemas/ActiveRestrictPolicyAlertDocument' - type: object maxProperties: 0 description: No alert aggregate stored for this policy yet '500': description: Internal server error security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/Restrict/alerts: 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) ' parameters: - name: planCode in: path required: true schema: type: string description: Plan code example: EVGFIA909 - name: policyNumber in: path required: true schema: type: string description: Policy number example: EVFIA09222243202 get: tags: - Non Financial Transactions summary: Get restriction alerts for a policy description: 'Returns the restriction alert aggregate from TDS. When none exists, response body is `{}`. Kong rewrites this path to `/bpm/v1/policies/{planCode}/{policyNumber}/Restrict/alerts`. ' operationId: getActiveRestrictAlertsV2PolicyApi responses: '200': description: Alert aggregate or empty object when no TDS record exists content: application/json: schema: oneOf: - $ref: '#/components/schemas/ActiveRestrictPolicyAlertDocument' - type: object maxProperties: 0 description: No alert aggregate stored for this policy yet '500': description: Internal server error security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/basecoverageupdate/eligibilitycheck: post: tags: - Financial Transactions summary: base coverage update operationId: post_bpm_v1_policies_planCode_policyNumber_basecoverageupdate_eligibilitycheck parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: basecoverageupdate Eligibility Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: basecoverageupdate Eligibility Client Error Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: basecoverageupdate Eligibility Server Error Response security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/{transactionType}/eligibilitycheck: post: x-internal: true tags: - Non Financial Transactions summary: Eligibility Check For Non-Financial Transaction operationId: eligibilitycheckNonFinancialTransaction parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number - in: path name: transactionType schema: type: string enum: - address - emailaddress - phone - bankaccount - communicationpreference required: true description: Transaction Type responses: '200': description: Non Financial Eligibility Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Non Financial Eligibility Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/bankaccount/eligibilitycheck: post: tags: - Non Financial Transactions summary: Eligibility Check Bank Transaction operationId: eligibilitycheckbankTransaction1 parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: Bank Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Bank Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/{partyRole}/validation: post: 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) ' tags: - Non Financial Transactions summary: Party Change request description: Validate Business Rules for Payee/Payor/Owner/TPD/Beneficiary and Add new Payee/Payor/Owner/ThirdPartyDesignee/PrimaryBeneficiary/ContingentBeneficiary based on the request operationId: updatePartyValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string - name: partyRole in: path required: true example: Owner description: Party for which details are being entered. Possible values are - Owner, Payor, Payee, PrimaryBeneficiary, ContingentBeneficiary, ThirdPartyDesignee schema: type: string enum: - Payee - Payor - Owner - ThirdPartyDesignee - PrimaryBeneficiary - ContingentBeneficiary requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PartyChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs /bpm/v1/policies/{planCode}/{policyNumber}/billingfeaturechange/eligibilitycheck: post: x-internal: true tags: - Non Financial Transactions summary: Eligibility Check Billing Feature Change description: Evaluates whether the policy is eligible for a billing feature change transaction. operationId: billingFeatureChangeEligibilityCheck parameters: - name: planCode in: path required: true schema: type: string description: Plan Code - name: policyNumber in: path required: true schema: type: string description: Policy Number responses: '200': description: Billing Feature Change Eligibility Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Billing Feature Change Eligibility Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/billingfeaturechange/validation: post: x-internal: true tags: - Non Financial Transactions summary: Validate Billing Feature Change description: Validates the billing feature change request against business rules before submission. operationId: billingFeatureChangeValidation parameters: - name: planCode in: path required: true schema: type: string description: Plan Code - name: policyNumber in: path required: true schema: type: string description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingFeatureChangeRequest' examples: billingFeatureChangeValidationExample: summary: Billing feature change validation request example value: correlationId: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 effectiveDate: '2026-07-24' transactionReason: AMOUNT policyFeatures: - featureType: BILLING paymentAmount: 1000 approvalDate: '2026-07-24' frequency: DAILY signatures: - isSignedPresent: true signDate: '2026-06-26' signDesignation: null signType: OWNER signTypeForUI: Owner - isSignedPresent: false signDate: null signDesignation: null signType: JOINTOWNER signTypeForUI: Joint Owner documents: - documentId: DOC123456 documentType: NFO_FORM documentDate: '2026-06-26' caseId: CA0000007389 policyNumber: WL987654321 planCode: WL1001 selfServeFlow: true supportingDocumentAttached: true responses: '200': description: Billing Feature Change Validation Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Billing Feature Change Validation Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/freelookcancellation/validation: post: tags: - Financial Transactions summary: Validation Freelook Cancellation Transaction operationId: validationFreelookCancellationTransaction1 parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FreeLookCancellationRequest' responses: '200': description: Freelook Cancellation Validation Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Freelook Cancellation Validation Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/case: post: 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) ' tags: - Policy - Transactions summary: Create case for transaction description: This operation must be invoked before submitting a transaction request. The service is responsible for creating a new case record, which becomes the prerequisite reference for all subsequent transaction activities. operationId: createCase requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCaseRequest' responses: '201': description: Case Created content: application/json: schema: $ref: '#/components/schemas/CaseSuccessResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationResponse' '401': description: Authentication failed content: application/json: examples: NewBusiness: value: message: Unauthorized '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/AccessDeniedResponse' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ServerErrorResponse' security: - Auth0: [] /policy/v1/cases/{caseId}/cancel: put: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy/v1/cases", "/bpm/v1/cases") kong.service.request.set_path(new_path) ' tags: - Policy - Transactions summary: Cancel a case description: 'Cancels an existing case based on eligibility rules. The API validates that the case exists and that the associated BPM process has not yet started. If eligible, the case is transitioned to a CANCELLED status, cancellation metadata is persisted, and a NES cancellation event is emitted. Only cases in NOT_STARTED BPM state can be cancelled. ' operationId: cancelCase parameters: - name: caseId in: path required: true description: The unique identifier of the case to cancel schema: type: string example: CA0000007516 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CaseCancellationRequest' example: correlationId: 218d8992-3783-42ac-b59a-66cbc36adaa2 planCode: TL0101 policyNumber: FIUL463340020 reason: User requested cancellation requestedBy: CLIENT type: Reinstatement subType: Reinstatement responses: '202': description: Cancellation accepted and BPM process triggered content: application/json: schema: $ref: '#/components/schemas/CaseCancellationResponse' example: caseId: CA0000007516 correlationId: 218d8992-3783-42ac-b59a-66cbc36adaa2 caseStatus: CANCELLED message: Case cancellation initiated successfully '400': description: Bad Request - Missing or invalid required fields content: application/json: schema: $ref: '#/components/schemas/ValidationResponse' example: statusCode: 400 timestamp: '2026-02-18T10:30:00Z' errorId: a4a57ed0-2c1b-4922-9959-3b85dd8a96d3 message: Validation failed error: - reason is required - type is required '401': description: Authentication failed content: application/json: examples: Unauthorized: value: message: Unauthorized '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/AccessDeniedResponse' '404': description: Case not found content: application/json: schema: $ref: '#/components/schemas/ValidationResponse' example: statusCode: 404 timestamp: '2026-02-18T10:30:00Z' errorId: b5b68ed1-3d2c-5933-0060-4c96ee9b97e4 message: Case not found error: - 'No case found for caseId: CA0000007516' '409': description: Cancellation not allowed - BPM process is not in an eligible state content: application/json: schema: $ref: '#/components/schemas/ValidationResponse' example: statusCode: 409 timestamp: '2026-02-18T10:30:00Z' errorId: c6c79fe2-4e3d-6044-1171-5da7fface85 message: Cancellation not allowed error: - Cancellation not allowed once transaction processing has started. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ServerErrorResponse' security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/freelookcancellation/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: Freelook cancellation request description: If freelook endDate is less than or equal to policy effective Date, cancel the policy based on the request operationId: freelookcancellationEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FreeLookCancellationRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/initialdeathclaim/eligibilitycheck: post: tags: - Financial Transactions summary: Initial Death Claim Eligibility Check description: 'Checks whether an initial death claim can be submitted for the given policy. No request body is required; eligibility is derived from the policy identified by planCode and policyNumber. An eligible policy returns status success; an ineligible policy returns status failure with the reasons in error. ' operationId: initialDeathClaimEligibilityCheck parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED022 responses: '200': description: Eligibility check completed successfully. The policy is eligible for an initial death claim. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: summary: Policy is eligible value: status: success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: serverError: summary: Internal server error value: status: failure error: - errorCode: BPM.SYS.500 error: An unexpected internal server error occurred. resolution: Contact platform support with the correlationId. security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/initialdeathclaim/validation: post: tags: - Financial Transactions summary: Initial Death Claim Validation description: 'Validates an initial death claim payload for the given policy without submitting it. A payload that passes every check returns status success; a payload that fails returns status failure with the reasons in error. ' operationId: initialDeathClaimValidation parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED022 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InitialDeathClaimRequest' responses: '200': description: Validation completed successfully. The payload is valid for submission. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: summary: Payload is valid value: status: success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: serverError: summary: Internal server error value: status: failure error: - errorCode: BPM.SYS.500 error: An unexpected internal server error occurred. resolution: Contact platform support with the correlationId. security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/initialdeathclaim: post: tags: - Financial Transactions summary: Submit Initial Death Claim Transaction description: Submits an initial death claim notification for the given policy. operationId: submitInitialDeathClaim parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED022 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InitialDeathClaimRequest' examples: initialDeathClaimExample: summary: Initial death claim request example description: 'Nullable fields (endDate, extension, bestTime, timezone) are omitted when not applicable; the schema marks them nullable for explicit JSON null. ' value: correlationId: 381ee1cc-7f34-47b1-a007-948d26b68a0f effectiveDate: '2026-07-15' transactionReason: DEATH_NOTIFICATION externalIdentifiers: externalTransactionId: string referenceNumber: string policy: policyNumber: EVIUL7RED022 productType: LIFE lineOfBusiness: LIFE isContestable: true isFuneralHomeAssigned: false parties: - partyId: e6954b3d-a0ef-47dc-ac49-046db6bc7da7 partyRole: OTHER partyType: INDIVIDUAL isNotifier: true relationshipToInsured: BROTHER personalInformation: firstName: string middleName: string lastName: string suffix: string prefix: string dateOfBirth: '1990-01-01' gender: MALE birthSex: MALE birthCountry: US citizenCountry: US partyCommunication: REGULARMAIL identifiers: - type: SSN value: string description: Social Security Number source: SSA issueDate: '2015-01-01' expirationDate: '2070-01-01' status: ACTIVE countryOfIssue: US address: preferredAddressId: '1' addresses: - addressId: '1' startDate: '2026-05-13' addressType: RESIDENCE addressLine1: 1112 Pickle Street addressLine2: South Jersey addressLine3: 1234 Post box city: Garden City state: AL zipCode: '67846' zipCodeExtension: '23' country: US isPreferred: true phoneNumber: preferredPhoneId: '1' phones: - phoneId: '1' startDate: '2026-05-13' phoneType: MOBILE countryCode: '1' areaCode: '973' dialNumber: '765789' isPreferred: true email: preferredEmailId: '1' emails: - emailId: '1' startDate: '2026-05-13' emailType: PERSONAL emailAddress: informant@example.com isPreferred: true - partyId: 5c08cdb2d3c6428c966f9a86d536c607 partyRole: INSURED partyType: INDIVIDUAL personalInformation: firstName: string middleName: string lastName: string suffix: string prefix: string dateOfBirth: '1990-01-01' gender: MALE birthSex: MALE birthCountry: US citizenCountry: US partyCommunication: REGULARMAIL identifiers: - type: SSN value: string description: Social Security Number source: SSA issueDate: '2015-01-01' expirationDate: '2070-01-01' status: ACTIVE countryOfIssue: US - partyId: e6954b3d-a0ef-47dc-ac49-046db6bc7da7 partyRole: PRIMARYBENEFICIARY partyType: INDIVIDUAL relationshipToInsured: SPOUSE personalInformation: firstName: BENEFICIARY1 middleName: string lastName: string suffix: string prefix: string dateOfBirth: '1990-01-01' gender: MALE birthSex: MALE birthCountry: US citizenCountry: US partyCommunication: REGULARMAIL identifiers: - type: SSN value: string description: Social Security Number source: SSA issueDate: '2015-01-01' expirationDate: '2070-01-01' status: ACTIVE countryOfIssue: US address: preferredAddressId: '1' addresses: - addressId: '1' startDate: '2026-05-13' addressType: RESIDENCE addressLine1: 1112 Pickle Street addressLine2: South Jersey addressLine3: 1234 Post box city: Garden City state: AL zipCode: '67846' zipCodeExtension: '23' country: US isPreferred: true phoneNumber: preferredPhoneId: '1' phones: - phoneId: '1' startDate: '2026-05-13' phoneType: MOBILE countryCode: '1' areaCode: '973' dialNumber: '765789' isPreferred: true email: preferredEmailId: '1' emails: - emailId: '1' startDate: '2026-05-13' emailType: PERSONAL emailAddress: informant@example.com isPreferred: true - partyId: uuid-PRIMARYBENEFICIARY2 partyRole: PRIMARYBENEFICIARY partyType: INDIVIDUAL relationshipToInsured: SPOUSE personalInformation: firstName: BENEFICIARY2 middleName: string lastName: string suffix: string prefix: string dateOfBirth: '1990-01-01' gender: MALE birthSex: MALE birthCountry: US citizenCountry: US partyCommunication: REGULARMAIL identifiers: - type: SSN value: string description: Social Security Number source: SSA issueDate: '2015-01-01' expirationDate: '2070-01-01' status: ACTIVE countryOfIssue: US address: preferredAddressId: '1' addresses: - addressId: '1' startDate: '2026-05-13' addressType: RESIDENCE addressLine1: 1112 Pickle Street addressLine2: South Jersey addressLine3: 1234 Post box city: Garden City state: AL zipCode: '67846' zipCodeExtension: '23' country: US isPreferred: true phoneNumber: preferredPhoneId: '1' phones: - phoneId: '1' startDate: '2026-05-13' phoneType: MOBILE countryCode: '1' areaCode: '973' dialNumber: '765789' isPreferred: true email: preferredEmailId: '1' emails: - emailId: '1' startDate: '2026-05-13' emailType: PERSONAL emailAddress: beneficiary@example.com isPreferred: true deathNotification: partyId: 5c08cdb2d3c6428c966f9a86d536c607 partyRole: INSURED notificationReceivedDate: '2026-07-11' proofOfDeathReceived: false certifiedReceivedDate: '2025-12-15' claimStatus: PENDING deathDetails: dateOfDeath: '2025-12-15' locationOfDeath: string countryOfDeath: US causeOfDeath: NATURALDEATH documents: - documentType: DEATH_CERTIFICATE documentName: Certified Death Certificate - John Smith documentId: EDS-DOC-987654321 - documentType: CLAIMANT_FORM documentName: Claimant Statement - Jane Smith documentId: EDS-DOC-987654322 riderClaim: - riderCode: CHILD_TERM riderName: Child Term Rider riderElected: true partyId: e6954b3d-a0ef-47dc-ac49-046db6bc7da7 - riderCode: WAIVER_OF_PREMIUM riderName: Waiver of Premium Rider riderElected: false partyId: 5c08cdb2d3c6428c966f9a86d536c607 responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' examples: success: summary: Accepted death claim submission value: correlationId: 3a2a3435-2089-4b81-9959-e0d569ccf4f0 caseId: CA0000369469 caseStatus: IN_PROGRESS '400': description: Invalid request body. One or more fields failed validation. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: serverError: summary: Internal server error description: 'When no specific field caused the failure, omit attribute or send JSON null per schema. ' value: status: failure error: - errorCode: BPM.SYS.500 error: An unexpected internal server error occurred. resolution: Contact platform support with the correlationId. security: - Auth0: [] /bpm/v1/policies/{planCode}/{policyNumber}/authorization/status: put: x-internal: true tags: - Authorization Status Update summary: Receives policyholder authorization status from MPV and updates the status operationId: updateAuthorizationStatus parameters: - name: planCode in: path required: true description: The plan code for the policy number schema: type: string example: planCode - name: policyNumber in: path required: true description: Policy Number schema: type: string example: policyNumber requestBody: description: Policyholder Authorization request required: true content: application/json: schema: $ref: '#/components/schemas/AuthorizationStatusRequest' responses: '200': description: OK - Callback processed successfully content: application/json: schema: $ref: '#/components/schemas/AuthorizationStatusResponse' example: status: 200 '400': description: Bad Request - Missing or invalid parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 400 message: 'Invalid or missing request field: correlationId' '401': description: Unauthorized - Missing or invalid JWT token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 401 message: 'Authentication failed: missing or invalid bearer token.' '403': description: Forbidden - Insufficient permissions or invalid scope content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 403 message: 'Access denied: client does not have permission to invoke this API.' '404': description: Not Found - Transaction not found or correlationId unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 404 message: 'Transaction not found for correlationId: 468cd184-fb43-4a20-aa8c-23df99c0a353' '409': description: Conflict - Duplicate callback or status already updated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 409 message: 'Duplicate callback detected for correlationId: 468cd184-fb43-4a20-aa8c-23df99c0a353' '422': description: Unprocessable Entity - Validation failed or inconsistent data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 422 message: AuthorizationStatus value DENIED is not valid for this transaction state. '500': description: Internal Server Error - Unexpected system failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 500 message: An unexpected error occurred while processing the callback request. security: - Auth0: [] /bpm/v1/policies/withdrawals/transactionstore/entities/{transactionId}: get: x-internal: true tags: - TransactionData summary: Secure API to get TransactionData by transactionId operationId: getTransactionData parameters: - name: transactionId in: path required: true schema: type: string responses: '200': description: Transaction Model success content: application/json: schema: $ref: '#/components/schemas/TransactionModelResponse' '401': description: Unauthorized - Missing or invalid JWT token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 401 message: 'Authentication failed: missing or invalid bearer token.' '403': description: Forbidden - Insufficient permissions or invalid scope content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 403 message: 'Access denied: client does not have permission to get contract details via this API.' '404': description: Not Found - Transaction not found or correlationId unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 404 message: 'Transaction not found for correlationId: 468cd184-fb43-4a20-aa8c-23df99c0a353' '500': description: Internal Server Error - Unexpected system failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: status: 500 message: An unexpected error occurred while processing the callback request. security: - Auth0: [] /bpm/v1/policies/{clientCode}/{planCode}/{transactionName}/paymentforms: get: x-internal: true tags: - Reference Schemas summary: Get supported configurations for a transaction operationId: getSupportedConfigurationsPaymentForms parameters: - name: clientCode in: path required: true schema: type: string - name: planCode in: path required: true schema: type: string - name: transactionName in: path required: true schema: type: string enum: - SystematicProgramSetup - SystematicProgramUpdate - name: transaction in: query required: false schema: type: string - name: arrangementType in: query required: false schema: type: string responses: '200': description: Success response content: application/json: examples: success: $ref: '#/components/examples/successRefSchemaResponse' '400': description: Bad request '404': description: Client code and plancode combo not found '500': description: Internal server error security: - Auth0: [] /bpm/v1/policies/{clientCode}/{planCode}/{transactionName}/prevalidationreference: get: x-internal: true tags: - Reference Schemas summary: Get supported configurations for a transaction operationId: getPreValidationReference parameters: - name: clientCode in: path required: true schema: type: string - name: planCode in: path required: true schema: type: string - name: transactionName in: path required: true schema: type: string enum: - SystematicProgramSetup - SystematicProgramUpdate - name: transaction in: query required: false schema: type: string - name: arrangementType in: query required: false schema: type: string responses: '200': description: Success response content: application/json: examples: success: $ref: '#/components/examples/successRefSchemaResponse' '400': description: Bad request '404': description: Client code and plancode combo not found '500': description: Internal server error security: - Auth0: [] /policy/v1/transactions/{clientCode}/{planCode}/{transactionName}/prevalidationreference: get: x-internal: true tags: - Reference Schemas summary: Get supported configurations for a transaction operationId: getPreValidationReference1 parameters: - name: clientCode in: path required: true schema: type: string - name: planCode in: path required: true schema: type: string - name: transactionName in: path required: true schema: type: string enum: - SystematicProgramSetup - SystematicProgramUpdate - name: transaction in: query required: false schema: type: string - name: arrangementType in: query required: false schema: type: string responses: '200': description: Success response content: application/json: examples: success: $ref: '#/components/examples/successRefSchemaResponse' '400': description: Bad request '404': description: Client code and plancode combo not found '500': description: Internal server error security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/onetimepremium/validation: post: tags: - Financial Transactions summary: Validation OneTime Premium Transaction operationId: validationOneTimePremiumTransactions 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: '200': description: OneTime Premium Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: OneTime Premium Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '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) ' /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) ' /policy/v1/transactions/{planCode}/{policyNumber}/onetimepremium/eligibilitycheck: post: tags: - Financial Transactions summary: Eligibility Check OneTime Premium Transaction operationId: eligibilitycheckOneTimePremiumTransactions parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: OneTime Premium Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: OneTime Premium Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/onetimermd/validation: post: tags: - Financial Transactions summary: Validation OneTime RMD Transaction operationId: validationOnetimeRmdTransactions 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/OnetimeRmdRequest' required: true responses: '200': description: OneTime RMD Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: OneTime RMD Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '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) ' /policy/v1/transactions/{planCode}/{policyNumber}/onetimermd: post: tags: - Financial Transactions summary: Submit OneTime RMD Transaction operationId: submitOnetimeRmdTransactions 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/OnetimeRmdRequest' required: true responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: OneTime RMD Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/PolicyTransactionResponse' '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) ' /policy/v1/transactions/{planCode}/{policyNumber}/onetimermd/eligibilitycheck: post: tags: - Financial Transactions summary: Eligibility Check OneTime RMD Transaction operationId: eligibilitycheckOnetimeRmdTransactions parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: OneTime RMD Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: OneTime RMD Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/reinstatement/eligibilitycheck: post: tags: - Financial Transactions summary: Eligibility Check Reinstatement Request description: Draft Specifications (Subject to Change Upon Review) operationId: reinstatementEligibilityCheck parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReinstatementQuoteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Reinstatement Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/reinstatement: post: summary: Submit reinstatement transaction request description: Submits a policy reinstatement transaction request tags: - Financial Transactions operationId: submitReinstatementTransaction parameters: - name: planCode in: path required: true description: The plan code for the policy schema: type: string example: planCode - name: policyNumber in: path required: true description: The policy number schema: type: string example: policyNumber requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReinstatementSubmitRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Returns Error - Bad Request content: application/json: schema: $ref: '#/components/schemas/ReinstatementErrorResponse' 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/quote: post: tags: - Policy - Transactions summary: Systematic Program Quote Request operationId: systematicProgramQuote parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SystematicProgramQuoteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: OneTime Premium Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/{arrangementId}/validation: post: tags: - Financial Transactions summary: Validate Systematic Program Update Transaction operationId: systematicProgramUpdateValidations parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: arrangementId in: path required: true example: Arr_1 description: arrangementId is the unique id for the systematic programs available in the policy schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SystematicProgramUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: OneTime Premium Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/{arrangementId}: put: tags: - Financial Transactions summary: Submit Systematic Program Update Transaction operationId: systematicProgramUpdates parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: arrangementId in: path required: true example: Arr_1 description: arrangementId is the unique id for the systematic programs available in the policy schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SystematicProgramUpdateRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Systematic Program Update Failure Response content: application/json: schema: $ref: '#/components/schemas/PolicyTransactionResponse' examples: failure: $ref: '#/components/examples/transactionFailureResponse' '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) ' /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/{arrangementId}/eligibilitycheck: post: tags: - Financial Transactions summary: EligibilityCheck Systematic Program Update Transaction operationId: systematicProgramUpdateeligibilitychecks parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: arrangementId in: path required: true example: Arr_1 description: arrangementId is the unique id for the systematic programs available in the policy schema: type: string responses: '200': description: Eligibility Check Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Eligibility Check Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/address/{addressId}: put: tags: - Non Financial Transactions summary: Address Change Request operationId: updateAddress1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details - name: addressId in: path required: true schema: type: integer format: int32 description: AddressId for which address need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddressChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/emailaddress/eligibilitycheck: post: tags: - Non Financial Transactions summary: Eligibility Check Email Address Transaction operationId: eligibilitycheckEmailAddressTransaction1 parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: Email Address Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Email Address Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/address/eligibilitycheck: post: tags: - Non Financial Transactions summary: Eligibility Check Address Transaction operationId: eligibilitycheckAddressTransaction1 parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: Email Address Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Email Address Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/address: post: tags: - Non Financial Transactions summary: Create new address based on request operationId: addNewAddress1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddressChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/emailaddress/{partyId}/validation: post: tags: - Non Financial Transactions summary: Add new Email Address based on request description: Validates email address change requests for policy parties including ADD, UPDATE, and DELETE operations operationId: emailAddressValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string - name: operation in: query required: true example: ADD description: validate business rule for provided operation schema: type: string enum: - ADD - UPDATE - DELETE - name: bankId in: query required: false example: '1' description: bank id schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmailChangeRequest' responses: '202': description: Request accepted successfully and is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Request failed due to rules failure. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/address/{partyId}/validation: post: tags: - Non Financial Transactions summary: Validate Address based on request description: Validates address change requests for policy parties including ADD, UPDATE, and DELETE operations operationId: addressValidation2 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string - name: operation in: query required: true example: ADD description: validate business rule for provided operation schema: type: string enum: - ADD - UPDATE - DELETE - name: addressId in: query required: false example: '1' description: address Id schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddressChangeRequest' responses: '202': description: Request accepted successfully and is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Request failed due to rules failure. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/emailaddress: post: tags: - Non Financial Transactions summary: Create new Emailaddress based on request operationId: emailNewAddress1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmailChangeRequest' responses: '202': description: Request accepted successfully and is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Request failed due to rules failure. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/emailaddress/{emailId}: put: tags: - Non Financial Transactions summary: Email Address Change Request operationId: updateemailAddress1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details - name: emailId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmailChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/emailaddresses: put: tags: - Non Financial Transactions summary: Multiple Email Address Change Request operationId: updateemailAddress3 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MultipleEmailChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/phone: post: tags: - Non Financial Transactions summary: Create new Phone Number based on request operationId: addNewPhone1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PhoneChangeRequest' responses: '202': description: Request accepted successfully and is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Request failed due to rules failure. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/phone/{phoneId}: put: tags: - Non Financial Transactions summary: Phone Number Change Request operationId: updatePhone1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details - name: phoneId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PhoneChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/phones: put: tags: - Non Financial Transactions summary: Multiple Phone Number Change Request operationId: updatePhone2 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MultiplePhoneChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/identifiers: patch: tags: - Non Financial Transactions summary: Identifier change Request operationId: identifierChange1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which address need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IdentifierChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/bankaccount: post: tags: - Non Financial Transactions summary: Add new Bank Account based on request operationId: addNewBankAccount1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BankAccountChangeRequest' responses: '202': description: Request accepted successfully and is being processed. content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Request failed due to rules failure. content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/bankaccount/{bankId}: put: tags: - Non Financial Transactions summary: Bank Account Change Request operationId: updateBankAccount1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which Bank Account need to be updated it be avaible under SOR Policy Details - name: bankId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BankAccountChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/communicationpreference/eligibilitycheck: post: tags: - Non Financial Transactions summary: Eligibility Check Communication Preference Transaction operationId: eligibilitycheckCommunicationPreferenceTransaction1 parameters: - name: planCode in: path required: true schema: type: string - in: path name: policyNumber schema: type: string required: true description: Policy Number responses: '200': description: Communication Preference Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Communication Preference Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/communicationpreference/validation: post: tags: - Non Financial Transactions summary: Validate Communication Preference based on request operationId: validateCommunicationPreference1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which communication Preference need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommunicationPreferenceChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/communicationpreference: post: tags: - Non Financial Transactions summary: Update Communication Preference based on request operationId: changeCommunicationPreference1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which communication Preference need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommunicationPreferenceChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/partyname: post: tags: - Non Financial Transactions summary: Update Party Name based on request operationId: changePartyName1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number - name: partyId in: path required: true schema: type: string description: PartyId for which party name need to be updated it be avaible under SOR Policy Details requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PartyNameChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyRole}: post: tags: - Non Financial Transactions summary: Party Add request description: Add Payee/Payor/Owner/ThirdPartyDesignee/PrimaryBeneficiary/ContingentBeneficiary based on the request operationId: addParty1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyRole in: path required: true example: Payee description: Party for which details are being entered. Possible values are - Owner, Payor, Payee, PrimaryBeneficiary, ContingentBeneficiary, ThirdPartyDesignee schema: type: string enum: - Payee - Payor - Owner - ThirdPartyDesignee - PrimaryBeneficiary - ContingentBeneficiary requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PartyChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs 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) ' /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyId}/{partyRole}: put: 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) ' tags: - Non Financial Transactions summary: Party Change request description: Update(End date) Payee/Payor/Owner/TPD/Beneficiary and Add new Payee/Payor/Owner/ThirdPartyDesignee/PrimaryBeneficiary/ContingentBeneficiary based on the request operationId: updateParty1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyId in: path required: true schema: type: string - name: partyRole in: path required: true example: Owner description: Party for which details are being entered. Possible values are - Owner, Payor, Payee, PrimaryBeneficiary, ContingentBeneficiary, ThirdPartyDesignee schema: type: string enum: - Payee - Payor - Owner - ThirdPartyDesignee - PrimaryBeneficiary - ContingentBeneficiary requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PartyChangeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs /policy/v1/transactions/{planCode}/{policyNumber}/parties/{partyRole}/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: EligibilityCheck For Party Role Transaction operationId: partyRoleeligibilitycheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string - name: partyRole in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/parties/taxwithholding/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: Eligibility Check Tax Withholding description: Evaluates whether the policy is eligible for a tax withholding change transaction. operationId: eligibilitycheckTaxWithholding1 parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED012 responses: '200': description: Tax Withholding Eligibility Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Tax Withholding Eligibility Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/parties/taxwithholding/validation: post: 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) ' tags: - Non Financial Transactions summary: Validate Tax Withholding description: Validates the tax withholding change request against business rules before submission. operationId: validationTaxWithholding1 parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED012 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TaxWithholdingChangeRequest' examples: taxWithholdingValidationExample: summary: Tax withholding validation request example value: planCode: EVIU101 policyNumber: EVIUL7RED012 effectiveDate: '2026-06-17' correlationId: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 carrierId: FNWL taxWithholdingInstructions: - partyId: '2314134' taxWithholdingType: FEDERAL filingStatus: MARRIED taxRateToUse: USEVALUESENTERED dollar: 0 percentage: 0 taxJurisdiction: USA responses: '200': description: Tax Withholding Validation Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Tax Withholding Validation Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/parties/taxwithholding: post: 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) ' tags: - Non Financial Transactions summary: Submit Tax Withholding Transaction description: Submits a tax withholding change transaction for processing. operationId: submitTaxWithholding1 parameters: - name: planCode in: path required: true schema: type: string description: Plan Code example: EVIU101 - name: policyNumber in: path required: true schema: type: string description: Policy Number example: EVIUL7RED012 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TaxWithholdingChangeRequest' examples: taxWithholdingSubmitExample: summary: Tax withholding submit request example value: planCode: EVIU101 policyNumber: EVIUL7RED012 effectiveDate: '2026-06-17' correlationId: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 carrierId: FNWL taxWithholdingInstructions: - partyId: '2314134' taxWithholdingType: FEDERAL filingStatus: MARRIED taxRateToUse: USEVALUESENTERED dollar: 0 percentage: 0 taxJurisdiction: USA responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Rules and Transaction Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/partialwithdrawalonetime/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check Partial Withdrawal One Time operationId: partialWithdrawalOneTimeEligibilityCheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PartialWithdrawalOneTimeRequest' responses: '200': description: Parital Withdrawal Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Parital Withdrawal Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/partialwithdrawalonetime/validation: post: 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) ' tags: - Financial Transactions summary: Eligibility Check Partial Withdrawal One Time operationId: partialWithdrawalOneTimeValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PartialWithdrawalOneTimeRequest' required: true responses: '200': description: Partial Withdrawal Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Partial Withdrawal Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/partialwithdrawalonetime: post: 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) ' tags: - Financial Transactions summary: Submit Partial Withdrawal OneTime operationId: partialWithdrawalOneTime1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PartialWithdrawalOneTimeRequest' required: true responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/billingfeaturechange/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: Eligibility Check Billing Feature Change description: Evaluates whether the policy is eligible for a billing feature change transaction. operationId: billingFeatureChangeEligibilityCheck1 parameters: - name: planCode in: path required: true schema: type: string description: Plan Code - name: policyNumber in: path required: true schema: type: string description: Policy Number responses: '200': description: Billing Feature Change Eligibility Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Billing Feature Change Eligibility Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/billingfeaturechange/validation: post: 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) ' tags: - Non Financial Transactions summary: Validate Billing Feature Change description: Validates the billing feature change request against business rules before submission. operationId: billingFeatureChangeValidation1 parameters: - name: planCode in: path required: true schema: type: string description: Plan Code - name: policyNumber in: path required: true schema: type: string description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingFeatureChangeRequest' examples: billingFeatureChangeValidationExample: summary: Billing feature change validation request example value: correlationId: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 effectiveDate: '2026-07-24' transactionReason: AMOUNT policyFeatures: - featureType: BILLING paymentAmount: 1000 approvalDate: '2026-07-24' frequency: DAILY signatures: - isSignedPresent: true signDate: '2026-06-26' signDesignation: null signType: OWNER signTypeForUI: Owner - isSignedPresent: false signDate: null signDesignation: null signType: JOINTOWNER signTypeForUI: Joint Owner documents: - documentId: DOC123456 documentType: NFO_FORM documentDate: '2026-06-26' caseId: CA0000007389 policyNumber: WL987654321 planCode: WL1001 selfServeFlow: true supportingDocumentAttached: true responses: '200': description: Billing Feature Change Validation Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Billing Feature Change Validation Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fullsurrender/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: FullSurrender Eligibility Check endpoint operationId: fullsurrenderEligibilityCheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FullSurrenderRequest' required: true responses: '200': description: Full Surrender Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Full Surrender Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fullsurrender/validation: post: 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) ' tags: - Financial Transactions summary: Fullsurrender Validation Endpoint operationId: fullsurrenderValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FullSurrenderRequest' required: true responses: '200': description: Full Surrender Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Full Surrender Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fullsurrender: post: 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) ' tags: - Financial Transactions summary: Submit full surrender operationId: fullsurrender1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FullSurrenderRequest' required: true responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/newloan/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: NewLoan Eligibility Check endpoint operationId: nwLoanEligibilityCheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: New Loan Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Parital Withdrawal Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/newloan/validation: post: 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) ' tags: - Financial Transactions summary: Fullsurrender Validation Endpoint operationId: newloanRequestValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewLoanRequest' required: true responses: '200': description: Partial Withdrawal Success Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Partial Withdrawal Failure Response.yaml content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/newloan: post: 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) ' tags: - Financial Transactions summary: Submit New Loan Request operationId: newLoan1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewLoanRequest' required: true responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/validation: post: 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) ' tags: - Financial Transactions summary: Validate Systematic Program Transaction operationId: systematicProgramValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SystematicProgramSubmitRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: OneTime Premium Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms: post: 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) ' tags: - Financial Transactions summary: Submit Systematic Program Transaction operationId: systematicProgram1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SystematicProgramSubmitRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Systematic Program Failure Response content: application/json: schema: $ref: '#/components/schemas/PolicyTransactionResponse' examples: failure: $ref: '#/components/examples/transactionFailureResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/systematicprograms/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check Systematic Program Transaction operationId: systematicProgrameligibilitycheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Eligibility Check Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Eligibility Check Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/loanrepaymentonetime/validation: post: 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) ' tags: - Financial Transactions summary: Validate loan Repayment One Time Transaction operationId: loanrepaymentonetimeValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LoanRepaymentOneTimeRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: OneTime Premium Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/loanrepaymentonetime: post: 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) ' tags: - Financial Transactions summary: Submit loan Repayment OneTime Transaction operationId: loanrepaymentonetime1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LoanRepaymentOneTimeRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/loanrepaymentonetime/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: EligibilityCheck Loan Repayment OneTime Transaction operationId: loanrepaymentonetimeeligibilitycheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Eligibility Check Success Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponse' '400': description: Eligibility Check Failure Response content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/canceltransaction: post: 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) ' tags: - Policy - Transactions summary: Cancel Transaction operationId: cancelTransaction1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CancelTransactionRequest' required: true responses: '202': description: Submit Transaction Successful content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Internal server error. Please check server logs for more details. security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/freelookcancellation: post: 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) ' tags: - Non Financial Transactions summary: Freelook cancellation request description: If freelook endDate is less than or equal to policy effective Date, cancel the policy based on the request operationId: freelookcancellation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FreeLookCancellationRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/reverserecreate: post: 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) ' tags: - Financial Transactions summary: Request to reverse and recreate operationId: reverserecreate1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string description: Policy Number requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReverseRecreateRequest' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/deliverydatesetup/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: Eligibility Check to Set Delivery Date operationId: setDeliveryDateEligibilityCheck1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetDeliveryDateEligibilityRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/deliverydatesetup: post: 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) ' tags: - Non Financial Transactions summary: Set Delivery Date Transaction operationId: setDeliveryDate1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetDeliveryDateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/edeliveryenrollment: post: 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) ' tags: - Non Financial Transactions summary: EDelivery Enrollment operationId: EDeliveryEnrollment1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/EDeliveryEnrollmentRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '400': description: BadRequest content: application/json: schema: anyOf: - $ref: '#/components/schemas/TransactionFailureResponse' - $ref: '#/components/schemas/ValidationResponse' examples: businessRuleFailure: $ref: '#/components/examples/failureTransactionResponse' valdiationFailure: $ref: '#/components/examples/validationFailureResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerErrorResponse' security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/initialpremium/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check For Initial Premium operationId: initialPremiumEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/initialpremium/validation: post: 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) ' tags: - Financial Transactions summary: Validation Check For Initial Premium operationId: initialPremiumValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InitialPremiumRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/initialpremium: post: 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) ' tags: - Financial Transactions summary: Initial Premium Transaction operationId: initialPremium1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InitialPremiumRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundallocations/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check For Fund Allocation operationId: fundAllocationEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundallocations/validation: post: 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) ' tags: - Financial Transactions summary: Validation Check For Fund Allocation operationId: fundAllocationValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FundAllocationChangeRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundallocations: post: 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) ' tags: - Financial Transactions summary: Fund Allocation Transaction operationId: fundAllocation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FundAllocationChangeRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundtransfer/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check For Fund Transfer operationId: fundTransferEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundtransfer/validation: post: 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) ' tags: - Financial Transactions summary: Validation Check For Fund Transfer operationId: fundTransferValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FundTransferRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/fundtransfer: post: 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) ' tags: - Financial Transactions summary: Fund Transfer Transaction operationId: fundTransfer1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FundTransferRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/outgoingfundtransfer/eligibilitycheck: post: 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) ' tags: - Financial Transactions summary: Eligibility Check For Outgoing Fund Transfer operationId: outgoingFundTransferEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/outgoingfundtransfer/validation: post: 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) ' tags: - Financial Transactions summary: Validation Check For Outgoing Fund Transfer operationId: outgoingFundTransferValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Outgoingfundtransfer' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/outgoingfundtransfer: post: 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) ' tags: - Financial Transactions summary: Outgoing Fund Transfer Transaction operationId: outgoingFundTransfer1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Outgoingfundtransfer' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server log security: - Auth0: [] /bpm/v1/policies/{cusip}/{policyNumber}/eligibleTransactions: get: x-internal: true security: - Auth0: [] tags: - product-eligibility summary: Get eligible transaction types for a policy by CUSIP and policy number description: Returns the list of eligible transaction types for the given CUSIP and policy number. operationId: getEligibleTransactions parameters: - name: cusip in: path description: CUSIP number required: true schema: type: string - name: policyNumber in: path description: Policy number required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/EligibleTransactionsResponse' example: cusip: '123456789' productCode: ADDAARP eligibleTransactionTypes: - transactionTypeCode: '105' transactionTypeDisplayName: Withdrawal (one time only) '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Bad Request status: 400 timestamp: '2025-10-06T14:35:07.364Z' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Unauthorized status: 401 timestamp: '2025-10-06T14:35:07.364Z' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Forbidden status: 403 timestamp: '2025-10-06T14:35:07.364Z' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Not Found status: 404 timestamp: '2025-10-06T14:35:07.364Z' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Internal Server Error status: 500 timestamp: '2025-10-06T14:35:07.364Z' /bpm/v1/policies/{planCode}/{policyNumber}/refdata: get: x-internal: true summary: Get PPFA Reference Data by Policy description: Fetches PPFA integrated reference data filtered by policy. Includes VI restriction filtering for transaction subtypes and disbursement types. operationId: getRefDataByPolicy tags: - Ref-Data parameters: - name: planCode in: path required: true description: Plan code schema: type: string example: '534222609' - name: policyNumber in: path required: true description: Policy number schema: type: string example: '959343323' - name: transactionType in: query required: false description: Optional transaction type filter schema: type: string enum: - OneTimeWithdrawal - SystematicWithdrawal - AssetRebalancing example: OneTimeWithdrawal responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PPFAIntegratedDataResponse' '404': description: No data found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/refdata: get: x-internal: true summary: Get PPFA Reference Data by Policy description: Fetches PPFA integrated reference data filtered by policy. Includes VI restriction filtering for transaction subtypes and disbursement types. operationId: getRefDataByPolicy1 tags: - Ref-Data parameters: - name: planCode in: path required: true description: Plan code schema: type: string example: '534222609' - name: policyNumber in: path required: true description: Policy number schema: type: string example: '959343323' - name: transactionType in: query required: false description: Optional transaction type filter schema: type: string enum: - OneTimeWithdrawal - SystematicWithdrawal - AssetRebalancing example: OneTimeWithdrawal responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PPFAIntegratedDataResponse' '404': description: No data found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - Auth0: [] /policy/v1/transactions/references/dtcc-participants: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config") kong.service.request.set_path(new_path) ' /policy/v1/transactions/references/product-transactions: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config") kong.service.request.set_path(new_path) ' /policy/v1/transactions/references/restriction-list: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config") kong.service.request.set_path(new_path) ' /policy/v1/transactions/{planCode}/{policyNumber}/transaction-attributes/{transactionType}: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' /policy/v2/transactions/{planCode}/{policyNumber}/eligibility/transaction: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' post: tags: - Transactions Eligibility summary: Transaction eligibility description: 'Evaluates whether the authenticated user may perform specific transactions on the given policy. Runs three checks: product level eligibility, user permissions , and policy restrictions restrictions. If `items` is omitted or empty, all transactions configured for the plan are evaluated. `partyId` is extracted from the `Authorization` bearer token — it is never a body field. ' operationId: evaluateTransactionEligibilityByPolicy parameters: - name: planCode in: path required: true schema: type: string description: Plan code (exact, case-sensitive). example: ANN100 - name: policyNumber in: path required: true schema: type: string description: Policy number (exact, case-sensitive). example: POL123456 requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/EligibilityRequest' examples: specificTransactions: summary: Evaluate specific transactions value: items: - FullSurrender - PartialWithdrawalOneTime allPlanTransactions: summary: Evaluate all configured plan transactions (empty body) value: {} responses: '200': description: Eligibility evaluation completed. One result entry per evaluated subject. content: application/json: schema: $ref: '#/components/schemas/EligibilityResponse' examples: eligible: summary: Transaction eligible value: eligibilityType: transaction results: - eligibilityItem: FullSurrender eligible: true policyEligibility: status: ELIGIBLE userEligibility: status: ELIGIBLE access: - WRITE restriction: status: NOT_RESTRICTED notEligible: summary: Policy status blocks eligibility value: eligibilityType: transaction results: - eligibilityItem: PartialWithdrawalOneTime eligible: false policyEligibility: status: NOT_ELIGIBLE reason: code: POLICY_STATUS_NOT_ALLOWED message: Policy status LAPSE is not permitted for this transaction userEligibility: status: ELIGIBLE access: - WRITE restriction: status: NOT_RESTRICTED notConfigured: summary: Transaction not configured in transactions-params value: eligibilityType: transaction results: - eligibilityItem: UnknownTransaction eligible: false notConfigured: true message: Transaction Not Configured '400': $ref: '#/components/responses/EligibilityBadRequest' '401': $ref: '#/components/responses/EligibilityUnauthorized' '500': $ref: '#/components/responses/EligibilityInternalServerError' security: - Auth0: [] /policy/v2/transactions/{planCode}/{policyNumber}/eligibility/capabilities: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' /policy/v2/transactions/{planCode}/{policyNumber}/eligibility/sendFormDocuments: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' /policy/v2/transactions/{planCode}/{policyNumber}/eligibility/restrictions: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' /policy/v2/transactions/{planCode}/{policyNumber}/eligibility/cancellation: x-kong-plugin-pre-function: config: access: - 'local path = kong.request.get_path() local new_path = path:gsub("^/policy", "/transactions-config/policy") kong.service.request.set_path(new_path) ' /policy/v1/transactions/{planCode}/{policyNumber}/nonforfeiture/eligibilitycheck: post: 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) ' tags: - Non Financial Transactions summary: Eligibility Check For Non-Forfeiture Transaction operationId: nonForfeitureEligibility1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/nonforfeiture/validation: post: 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) ' tags: - Non Financial Transactions summary: Validation Check For Non-Forfeiture Transaction operationId: nonForfeitureValidation1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Nonforfeiture' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: success: $ref: '#/components/examples/successTransactionResponsewithoutQuote' '400': description: Failure content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: failure: $ref: '#/components/examples/failureTransactionResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] /policy/v1/transactions/{planCode}/{policyNumber}/nonforfeiture: post: 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) ' tags: - Non Financial Transactions summary: Non-Forfeiture Transaction operationId: nonForfeiture1 parameters: - name: planCode in: path required: true schema: type: string - name: policyNumber in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Nonforfeiture' responses: '202': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionAcceptedResponse' '500': description: Unexpected error occured, please check server logs security: - Auth0: [] components: responses: EligibilityUnauthorized: description: Missing or invalid bearer token content: application/json: schema: $ref: '#/components/schemas/EligibilityErrorResponse' example: status: 401 error: Unauthorized message: partyId claim could not be extracted from token EligibilityBadRequest: description: Invalid request — missing required fields or malformed input content: application/json: schema: $ref: '#/components/schemas/EligibilityErrorResponse' example: status: 400 error: Bad Request message: policyNumber is required EligibilityInternalServerError: description: 'Unexpected server error. Dependency failures (CIAM, Zahara) surface as COULD_NOT_DETERMINE on the affected section rather than a 500. ' content: application/json: schema: $ref: '#/components/schemas/EligibilityErrorResponse' example: status: 500 error: Internal Server Error schemas: DtccParticipantReferenceResponse: type: object description: Wrapped response envelope for the dtcc-participants reference endpoint. required: - referenceType - results properties: referenceType: type: string example: dtcc-participants results: type: array items: $ref: '#/components/schemas/DtccParticipantRecord' DtccParticipantRecord: type: object description: A single DTCC participant record. Only currently effective records are returned. properties: companyId: type: string example: ABC planCode: type: string example: ANN100 participantId: type: string nullable: true description: Participant identifier. example: PART001 type: type: string nullable: true description: Participant type code (e.g. "B" = broker-dealer, "C" = custodian). example: B participantDesc: type: string nullable: true example: ABC Participant restrictPlanCode: type: string nullable: true example: null participantEndDate: type: string format: date nullable: true description: Business end date (ISO 8601). Distinct from expirationDate. example: null effectiveDate: type: string format: date description: Record validity start (ISO 8601, inclusive). example: '2025-01-01' expirationDate: type: string format: date nullable: true description: Record validity end (ISO 8601, inclusive). null means no expiry. example: null ProductTransactionReferenceResponse: type: object description: Wrapped response envelope for the product-transactions reference endpoint. required: - referenceType - results properties: referenceType: type: string example: product-transactions results: type: array items: $ref: '#/components/schemas/ProductTransactionRecord' ProductTransactionRecord: type: object description: A single product transaction record. Only currently effective records are returned. properties: clientCode: type: string description: Rule-engine client code. example: OTP_BPM planCode: type: string example: ANN100 transaction: type: string description: Transaction type identifier. example: FullWithdrawal transactionDesc: type: string nullable: true example: Full Withdrawal effectiveDate: type: string format: date description: Record validity start (ISO 8601, inclusive). example: '2025-01-01' expirationDate: type: string format: date nullable: true description: Record validity end (ISO 8601, inclusive). null means no expiry. example: null RestrictionTypeReferenceResponse: type: object description: Wrapped response envelope for the restriction-list reference endpoint. required: - referenceType - results properties: referenceType: type: string example: restriction-list results: type: array items: $ref: '#/components/schemas/RestrictionTypeRecord' RestrictionTypeRecord: type: object description: 'A single restriction type record. restrictionSubTypes is always present (empty array when none exist, never null). description may be null. ' required: - restrictionType - label - restrictionSubTypes - effectiveDate properties: restrictionType: type: string description: Restriction type code. example: OVERPAYMENT label: type: string description: Human-readable short label. example: Overpayment restrictionSubTypes: type: array description: Sub-type list. Always present; empty array when no sub-types exist. items: $ref: '#/components/schemas/RestrictionSubTypeRecord' description: type: string nullable: true example: This alert restricts certain transactions on a policy. effectiveDate: type: string format: date description: Record validity start (ISO 8601, inclusive). example: '2025-01-01' expirationDate: type: string format: date nullable: true description: Record validity end (ISO 8601, inclusive). null means no expiry. example: null RestrictionSubTypeRecord: type: object description: An individual sub-type within a restriction type. properties: type: type: string description: Sub-type identifier/label. example: No info released description: type: string nullable: true example: This policy/contract is under a legal hold. TransactionAttributesResponse: type: object description: 'Response for GET /policy/v1/transactions/{planCode}/{policyNumber}/transaction-attributes/{transactionType}. Always returns HTTP 200. Check `found` to determine whether configuration exists. Attributes are merged from `ref-transaction-attributes` (plan-specific) and `ref-transaction-attributes-default` (client-level defaults); specific takes precedence on collision. ' required: - found - planCode - policyNumber - transactionType - attributes properties: found: type: boolean description: true when at least one collection returned a record and attributes were resolved; false otherwise. example: true message: type: string nullable: true description: Human-readable explanation when found is false. Absent when found is true. example: No attribute configuration found for transactionType=Nonforfeiture, clientCode=GILI, planCode=GCFIA901 clientCode: type: string nullable: true description: Carrier code derived from the policy. Null when the policy could not be fetched. example: GILI planCode: type: string description: Plan code from the request path. example: GCFIA901 policyNumber: type: string description: Policy number from the request path. example: '9013055733' transactionType: type: string description: Transaction type from the request path. example: OneTimeWithdrawal attributes: type: array description: 'Merged and resolved attributes. Default attributes not overridden by the specific plan record are included. Empty array when found is false. ' items: $ref: '#/components/schemas/TransactionAttributeRecord' TransactionAttributeRecord: type: object description: 'A single resolved attribute entry. Always contains only the final resolved value — override configuration is never included in the response. ' required: - attributeName - attributeType - attributeValue properties: attributeName: type: string description: Attribute identifier. example: sendPaymentToBrokrageAccount attributeType: type: string enum: - STRING - BOOLEAN - NUMBER - LIST description: Data type of the attribute value. example: BOOLEAN itemType: type: string nullable: true description: Required when attributeType is LIST (e.g. "STRING"); null for all other types. example: STRING attributeValue: description: 'The resolved value. Type corresponds to attributeType — Boolean, String, Number, or array of itemType for LIST. For derived attributes this reflects the matched override value, or the configured default when no override matched. ' example: true EligibilityRequest: type: object description: 'Optional request body shared by all four eligibility endpoints. planCode and policyNumber are supplied as path parameters, not in the body. ' properties: items: type: array description: 'Subject identifiers to evaluate. Semantics depend on the endpoint: transaction/cancellation — transaction type codes (e.g. FullSurrender); capabilities — capability codes (e.g. ViewPolicy); restrictions — restriction type codes (e.g. DIVORCE, OVERPAYMENT). When absent or empty, all subjects configured for the plan are evaluated. ' items: type: string example: - FullSurrender - PartialWithdrawalOneTime EligibilityResponse: type: object description: Top-level eligibility response envelope. Shared by all four endpoints. required: - eligibilityType - results properties: eligibilityType: type: string description: Echoes the eligibility type evaluated by the endpoint. enum: - transaction - capabilities - restrictions - cancellation - sendFormDocuments example: transaction results: type: array description: One entry per evaluated subject. items: $ref: '#/components/schemas/EligibilitySubjectResult' EligibilitySubjectResult: type: object description: 'Composed eligibility result for a single evaluated subject. Null fields are omitted from the JSON response (@JsonInclude NON_NULL). Three shapes exist: evaluated (sections present), notAvailable (subject absent from product-transactions), or notConfigured (subject absent from transactions-params). ' required: - eligibilityItem - eligible properties: eligibilityItem: type: string description: Subject identifier evaluated (transaction type, capability code, or restriction type code). example: FullSurrender eligible: type: boolean description: 'true only when policyEligibility=ELIGIBLE AND userEligibility=ELIGIBLE AND restriction is not RESTRICTED/HARD_RESTRICTED. SOFT_RESTRICTED does not fail eligibility. Any COULD_NOT_DETERMINE section forces eligible=false. ' restrictedTransactions: type: array description: 'Populated only for eligibilityType=restrictions and only when eligible=true. Lists the transactions affected by this restriction type and their blocking status. Absent for all other eligibility types. ' items: $ref: '#/components/schemas/RestrictedTransactionResult' policyEligibility: $ref: '#/components/schemas/EligibilitySectionResult' userEligibility: $ref: '#/components/schemas/EligibilitySectionResult' restriction: $ref: '#/components/schemas/EligibilitySectionResult' notAvailable: type: boolean description: True when the subject is absent from product-transactions for this plan. notConfigured: type: boolean description: True when the subject has no entry in transactions-params. message: type: string description: Human-readable explanation accompanying notAvailable or notConfigured. example: Transaction Not Configured EligibilitySectionResult: type: object description: 'One evaluation section of a per-subject result (policyEligibility, userEligibility, or restriction). policyEligibility status: ELIGIBLE | NOT_ELIGIBLE | COULD_NOT_DETERMINE userEligibility status: ELIGIBLE | NOT_ELIGIBLE | COULD_NOT_DETERMINE restriction status: NOT_RESTRICTED | RESTRICTED | SOFT_RESTRICTED | HARD_RESTRICTED | COULD_NOT_DETERMINE ' properties: status: type: string enum: - ELIGIBLE - NOT_ELIGIBLE - NOT_RESTRICTED - RESTRICTED - SOFT_RESTRICTED - HARD_RESTRICTED - COULD_NOT_DETERMINE example: ELIGIBLE blockType: type: string description: Blocking type from the restriction. Present on restriction section only. example: Unavailable restrictionStatus: type: array description: 'Distinct blocking status values across all active restrictions for this subject. Present on the restriction section only when status=RESTRICTED. ' items: type: string example: - Unavailable - CarrierApprovalNeeded access: type: array description: 'Distinct access levels granted to the caller for this subject, derived from the permissions the caller actually holds. Present on userEligibility only when status=ELIGIBLE. The calling system decides how to act on this list. ' items: type: string enum: - VIEW - WRITE - DELETE example: - VIEW - WRITE reason: $ref: '#/components/schemas/EligibilityReason' EligibilityReason: type: object description: Structured reason for a non-passing or indeterminate section. properties: code: type: string description: Machine-readable reason code. example: INSUFFICIENT_PERMISSIONS message: type: string description: Human-readable explanation. example: Caller does not hold the required permissions for this transaction RestrictedTransactionResult: type: object description: A transaction affected by a restriction type, with its blocking status. properties: type: type: string description: Transaction type code. example: FullSurrender status: type: string description: How the transaction is blocked (e.g. Unavailable, CarrierApprovalNeeded). example: Unavailable EligibilityErrorResponse: type: object description: Error envelope returned by eligibility endpoints on 4xx/5xx responses. properties: status: type: integer example: 401 error: type: string example: Unauthorized message: type: string example: partyId claim could not be extracted IdentifierInstance: type: object description: An object representing an identifier and its corresponding value. properties: identifier: type: string enum: - eAppId - policyNumber description: The type of identifier. value: type: string description: The value of the identifier. example: ABC123349257367 CreateCaseRequest: type: object properties: planCode: type: string description: Product code provided by the Zinnia system example: ABC001 policyNumber: type: string description: In case of Post Issue Policy Number will be mandatory example: EVGL1234567 correlationId: type: string description: The correlationId associated with the case. example: 218d8992-3783-42ac-b59a-66cbc36adaab caseType: type: string enum: - Reinstatement - New Business description: The type associated with the case. example: Reinstatement caseSubType: type: string enum: - Reinstatement - Life Application description: The type associated with the case. example: Reinstatement identifiers: type: array description: A list of identifiers associated with the case. items: $ref: '#/components/schemas/IdentifierInstance' required: - planCode - caseType - caseSubType - identifiers CaseSuccessResponse: type: object properties: caseId: type: string example: CA000000536 correlationId: type: string example: 15ea7582-262f-4dfe-8a60-1e8b8e763fd4 eappId: type: string example: 15ea7582-262f-4dfe-8a60-1e8b8e763fd4 policyNumber: type: string example: ABC37457845 CaseCancellationRequest: type: object required: - correlationId - planCode - policyNumber - reason - type properties: correlationId: type: string description: Unique identifier to trace the request across systems example: 218d8992-3783-42ac-b59a-66cbc36adaa2 planCode: type: string description: Product code provided by the Zinnia system example: TL0101 policyNumber: type: string description: The policy number associated with the case example: FIUL463340020 reason: type: string description: The reason for cancelling the case example: User requested cancellation requestedBy: type: string description: The entity requesting cancellation. Derived from the authenticated token. example: CLIENT type: type: string description: The transaction type associated with the case example: Reinstatement subType: type: string description: The transaction sub-type associated with the case example: Reinstatement CaseCancellationResponse: type: object properties: caseId: type: string description: The unique identifier of the cancelled case example: CA0000007516 correlationId: type: string description: Unique identifier to trace the request across systems example: 218d8992-3783-42ac-b59a-66cbc36adaa2 caseStatus: type: string description: The updated status of the case example: CANCELLED message: type: string description: Confirmation message example: Case cancellation initiated successfully EligibleTransactionType: type: object properties: transactionTypeCode: type: string description: Transaction type code as string example: '105' transactionTypeDisplayName: type: string example: Withdrawal (one time only) EligibleTransactionsResponse: type: object properties: cusip: type: string example: '123456789' productCode: type: string example: ADDAARP eligibleTransactionTypes: type: array description: List of eligible transaction types items: $ref: '#/components/schemas/EligibleTransactionType' LoanRepaymentOneTimeRequest: type: object allOf: - $ref: '#/components/schemas/LoanRepaymentOneTime' properties: caseId: type: string example: CA0000007389 NewLoanRequest: type: object allOf: - $ref: '#/components/schemas/NewLoan' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID FullSurrenderRequest: type: object allOf: - $ref: '#/components/schemas/FullSurrender' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID override: type: boolean description: BPM will have to override the rules if this variable is marked as true PartialWithdrawalOneTimeRequest: type: object description: Partial withdrawal one-time transaction request including transaction amounts, fund allocation, parties, tax withholding, and signatures. allOf: - $ref: '#/components/schemas/PartialWithdrawalOneTime' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID override: type: boolean description: BPM will have to override the rules if this variable is marked as true 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' MecAuthorizationValueAdjustment: type: object properties: policyAttribute: type: string description: Policy attribute key for this policy detail change example: MODIFIEDENDOWMENTCONTRACTAUTHORIZATION attributeValue: type: string description: Target attribute value MecAuthorizationSignature: type: object properties: isSignedPresent: type: boolean signDate: type: string format: date nullable: true signDesignation: type: string nullable: true signType: type: string description: Signature type code example: OWNER signTypeForUI: type: string example: Owner MecAuthorizationDocument: type: object properties: documentId: type: string example: 69cfdc032ddc2a4480bc510f documentDate: type: string format: date documentType: type: string description: Document type code example: CERTIFICATE MecAuthorizationRequest: type: object properties: planCode: type: string example: IU0101 description: Plan code (may duplicate path parameter) policyNumber: type: string example: FIUL713008350 description: Policy number (may duplicate path parameter) effectiveDate: type: string format: date example: '2026-04-09' correlationId: type: string format: uuid example: e3bdb22b-790f-4357-ae60-42cdb0ff0d40 carrierId: type: string example: FNWL valueAdjustment: $ref: '#/components/schemas/MecAuthorizationValueAdjustment' signatures: type: array items: $ref: '#/components/schemas/MecAuthorizationSignature' documents: type: array items: $ref: '#/components/schemas/MecAuthorizationDocument' supportingDocumentAttached: type: boolean TaxWithholdingChangeRequest: type: object description: 'Request body for tax withholding change (POST `/bpm/v1/policies/{planCode}/{policyNumber}/parties/taxwithholding` and validation). Extends transaction case fields with effective date and one or more withholding instruction lines. ' properties: planCode: type: string example: EVIU101 description: Plan code (may duplicate path parameter) policyNumber: type: string example: EVIUL7RED012 description: Policy number (may duplicate path parameter) effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2026-06-17' description: Effective date for the tax withholding change correlationId: type: string format: uuid example: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 description: The unique ID to track transaction request across all systems carrierId: type: string example: FNWL description: Carrier identifier caseId: type: string example: CA0000007389 description: Zinnia Live Case ID taxWithholdingInstructions: type: array minItems: 1 description: Tax withholding instruction lines for the request items: $ref: '#/components/schemas/TaxWithholdingInstructions' required: - effectiveDate - taxWithholdingInstructions BillingFeatureChangeTransactionReason: type: string enum: - AMOUNT - FREQUENCY - PAYMENTDUEDATE description: Reason for initiating the billing feature change transaction example: AMOUNT BillingFeatureChangePolicyFeature: type: object description: Billing policy feature details for the change request properties: featureType: type: string enum: - BILLING description: Type of the policy feature example: BILLING paymentAmount: type: number format: double description: Billing payment amount example: 1000 approvalDate: type: string format: date description: Date on which the feature change was approved example: '2026-07-24' frequency: $ref: '#/components/schemas/Frequency' required: - featureType BillingFeatureChangeSignature: type: object description: Signature details for billing feature change properties: isSignedPresent: type: boolean example: true signDate: type: string format: date nullable: true example: '2026-06-26' signDesignation: type: string nullable: true signType: type: string description: Signature type code example: OWNER signTypeForUI: type: string description: Signature type label for UI display example: Owner BillingFeatureChangeDocument: type: object description: Supporting document reference for billing feature change properties: documentId: type: string example: DOC123456 documentType: type: string example: NFO_FORM documentDate: type: string format: date example: '2026-06-26' caseId: type: string example: CA0000007389 policyNumber: type: string example: WL987654321 planCode: type: string example: WL1001 BillingFeatureChangeRequest: type: object description: 'Request body for billing feature change validation (POST `/bpm/v1/policies/{planCode}/{policyNumber}/billingfeaturechange/validation` and policy API alias). ' properties: planCode: type: string description: Plan code (may duplicate path parameter) policyNumber: type: string description: Policy number (may duplicate path parameter) caseId: type: string example: CA0000007389 description: Zinnia Live Case ID correlationId: type: string description: The unique ID to track transaction request across all systems example: e3bdb22b-790f-4357-ae60-42cdb0ff0d12 carrierId: type: string example: FNWL description: Carrier identifier effectiveDate: type: string format: date example: '2026-07-24' description: Effective date for the billing feature change transactionReason: $ref: '#/components/schemas/BillingFeatureChangeTransactionReason' policyFeatures: type: array minItems: 1 description: Billing feature lines for the request items: $ref: '#/components/schemas/BillingFeatureChangePolicyFeature' signatures: type: array description: Signatures associated with the billing feature change items: $ref: '#/components/schemas/BillingFeatureChangeSignature' documents: type: array description: Supporting documents for the billing feature change items: $ref: '#/components/schemas/BillingFeatureChangeDocument' selfServeFlow: type: boolean description: Whether the request originated from a self-serve flow example: true supportingDocumentAttached: type: boolean description: Indicates whether supporting documents are attached example: true required: - effectiveDate - policyFeatures OnetimeRmdRequest: type: object properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, can be a non-business day reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal default: false externalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side. referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier. transactionAmounts: $ref: '#/components/schemas/TransactionAmounts' fundAllocation: $ref: '#/components/schemas/FundAllocation' taxWithholdingInstructions: type: array items: $ref: '#/components/schemas/TaxWithholdingInstructions' fundDistributions: type: array items: $ref: '#/components/schemas/AdhocFundDistributions' parties: type: array items: $ref: '#/components/schemas/AdhocDisbursementParty' charges: type: array items: $ref: '#/components/schemas/Charge' ThirdPartyDeleteRequest: type: object properties: 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 signatures: type: array description: List of signatures associated with the change items: $ref: '#/components/schemas/SignatureDto' party: $ref: '#/components/schemas/Party' required: - effectiveDate - party - signatures AgentChangeDto: type: object properties: fromAOR: type: string example: '744760' description: From AOR toAOR: type: string example: '744760' description: To AOR fromAgentId: type: string example: '744760' description: From agent id toAgentId: type: string example: '744760' description: To agent id policyId: type: string example: FNWL0020303021 description: Policy number caseId: type: string example: CA0004789 description: Case id partyRole: type: string example: PRIMARYWRITINGAGENT description: Party role signatures: type: array description: List of signatures associated with the change items: $ref: '#/components/schemas/SignatureDto' partyUpdates: type: array description: Party updates list items: type: object properties: action: type: string description: Action to perform on the party (e.g. ADD, UPDATE, DELETE) example: ADD customerId: type: string description: Customer ID associated with the party example: CUST12345 relationshipToParty: type: string description: Relationship of this party to another party example: OWNER partyRole: type: string description: Role of the party in the policy (e.g. PRIMARYWRITINGAGENT, PRIMARYSERVICINGAGENT) example: PRIMARYWRITINGAGENT partyStatus: type: string description: Current status of the party (e.g. ACTIVE, INACTIVE) example: ACTIVE searchAgentId: type: string description: Agent ID used for searching or linking purposes example: AGT10001 party: $ref: '#/components/schemas/Party' AnnuitantChangeRequest: type: object properties: 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 signatures: type: array description: List of signatures associated with the change items: $ref: '#/components/schemas/SignatureDto' partyUpdates: type: array description: Party updates list items: type: object properties: action: type: string description: Action to perform on the party (e.g. ADD, UPDATE, DELETE) example: ADD customerId: type: string description: Customer ID associated with the party example: CUST12345 relationshipToParty: type: string description: Relationship of this party to another party example: SELF partyRole: type: string description: Role of the party in the policy example: ANNUITANT partyStatus: type: string description: Current status of the party (e.g. ACTIVE, INACTIVE) example: ACTIVE party: $ref: '#/components/schemas/Party' SignatureDto: type: object description: Signature details for the agent change properties: signType: type: string description: Type of the signature (e.g., digital, physical) example: DIGITAL isSignedPresent: type: boolean description: Indicates if a signature is present example: true signDate: type: string format: date description: Date when the signature was applied example: '2024-01-01' signPrintName: type: string description: Name of the person signing example: John Doe signGuarantee: type: string description: Guarantee associated with the signature example: FULL signDesignation: type: string description: Designation of the signer example: MANAGER NotarySignatureDto: type: object description: Notary Signature details properties: isSignedPresent: type: boolean description: Indicates if a signature is present example: true signDate: type: string format: date description: Date when the signature was applied example: '2024-01-01' commissionExpiredDate: type: string format: date description: Commissioned Date when the signature was applied example: '2024-01-01' isSealPresent: type: boolean description: Is seal present example: true ReinstatementQuoteRequest: type: object allOf: - $ref: '#/components/schemas/ReinstatementQuoteTransaction' ReinstatementRequest: type: object allOf: - $ref: '#/components/schemas/ReinstatementTransaction' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID required: - caseId SystematicProgramUpdateRequest: type: object allOf: - $ref: '#/components/schemas/SystematicProgramUpdate' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID externalTransactionId: type: string description: Transaction ID from external system example: A12345 SystematicProgramQuoteRequest: type: object allOf: - $ref: '#/components/schemas/SystematicProgramQuote' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID externalTransactionId: type: string description: Transaction ID from external system example: A12345 SystematicProgramSubmitRequest: type: object allOf: - $ref: '#/components/schemas/SystematicProgramUpdate' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID externalTransactionId: type: string description: Transaction ID from external system example: A12345 externalArrangementId: type: string description: Arrangement ID from external system example: B45678 ActiveRestrictSubmitInfo: type: object description: Submission metadata for active restrict requests properties: submittedBy: type: string source: type: string submittedByPartyId: type: string ActiveRestrictRestrictionItem: type: object description: Single restriction operation in the submit payload properties: restrictionType: type: string action: type: string restrictionSubType: type: string ActiveRestrictTransactionDocument: type: object description: Document reference in the submit request (common BPM document fields) properties: documentId: type: string documentDate: type: string documentType: type: string documentTypeDescription: type: string displayName: type: string policyNumber: type: string planCode: type: string caseId: type: string ActiveRestrictTransactionRequest: type: object description: 'Request body for active restrict (POST `/bpm/v1/policies/{planCode}/{policyNumber}/Restrict`). Extends the common transaction case request fields with restriction operations. ' properties: planCode: type: string correlationId: type: string partyId: type: string policyNumber: type: string businessKey: type: string transactionName: type: string deleteRequest: type: boolean requestType: type: string submitInfo: $ref: '#/components/schemas/ActiveRestrictSubmitInfo' receivedDate: type: string carrierId: type: string restriction: type: array items: $ref: '#/components/schemas/ActiveRestrictRestrictionItem' effectiveDate: type: string caseId: type: string documents: type: array items: $ref: '#/components/schemas/ActiveRestrictTransactionDocument' policyFeatureData: type: object additionalProperties: type: boolean ActiveRestrictPersonRef: type: object properties: name: type: string email: type: string ActiveRestrictTdsDocumentRef: type: object properties: documentId: type: string documentName: type: string ActiveRestrictRestrictedTransactionItem: type: object properties: transaction: type: string restrictionType: type: string description: Restriction classification for the transaction row (e.g. hard vs soft), not the policy restriction category ActiveRestrictActivationBlock: type: object properties: effectiveDate: type: string setBy: $ref: '#/components/schemas/ActiveRestrictPersonRef' documents: type: array items: $ref: '#/components/schemas/ActiveRestrictTdsDocumentRef' supportingDocuments: type: array description: Alternative property name for activation documents on deserialize items: $ref: '#/components/schemas/ActiveRestrictTdsDocumentRef' ActiveRestrictDeactivationBlock: type: object properties: effectiveDate: type: string setBy: $ref: '#/components/schemas/ActiveRestrictPersonRef' supportingDocuments: type: array items: $ref: '#/components/schemas/ActiveRestrictTdsDocumentRef' ActiveRestrictAlertEntry: type: object description: One restriction alert lifecycle record in TDS properties: id: type: string restrictionType: type: string status: type: string activationDetails: $ref: '#/components/schemas/ActiveRestrictActivationBlock' deactivationDetails: nullable: true allOf: - $ref: '#/components/schemas/ActiveRestrictDeactivationBlock' restrictedTransaction: type: array items: $ref: '#/components/schemas/ActiveRestrictRestrictedTransactionItem' ActiveRestrictPolicyAlertDocument: type: object description: 'Policy-level restriction alert aggregate (GET `/bpm/v1/policies/{planCode}/{policyNumber}/Restrict` when data exists). ' properties: policyNumber: type: string planCode: type: string correlationId: type: string alerts: type: array items: $ref: '#/components/schemas/ActiveRestrictAlertEntry' AddressChangeRequest: type: object allOf: - $ref: '#/components/schemas/AddressChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID deleteRequest: type: boolean description: Flag for delete or update request. If flag==true then Delete Request else Update Request default: false AdhocDisbursementParty: type: object properties: partyRole: $ref: '#/components/schemas/PartyRole' partyId: type: string description: Pending Review by Product Team example: Party_PI_1 paymentForm: $ref: '#/components/schemas/PaymentForm' allocationPercentage: type: number format: double description: At Policy Level for Each Applicable Fund (Everly there is only one Fixed) Therefore this be 100% example: 100 bankId: type: string example: Bank_1 description: Comes in Acord 103 addressId: type: string example: '1' description: Address Id forBenefitOfOrForFurtherCredit: type: string example: TBD description: FBO - For Benefit Of, FFC - For Further Credit. To notate a second beneficiary or to designate a person or organization when funds are disbursed out. required: - partyId - paymentForm - allocationPercentage ReinstatementDisbursementParty: type: object properties: partyRole: $ref: '#/components/schemas/PartyRole' partyId: type: string description: Unique identifier of the party involved in the transaction example: Party_PI_1 paymentForm: $ref: '#/components/schemas/PaymentForm' allocationPercentage: type: number format: double description: At Policy Level for Each Applicable Fund (Everly there is only one Fixed) Therefore this be 100% example: 100 bankId: type: string example: Bank_1 description: Comes in Acord 103, This is required in case of ACH addressId: type: string example: '1' description: Address Id forBenefitOfOrForFurtherCredit: type: string example: TBD description: FBO - For Benefit Of, FFC - For Further Credit. To notate a second beneficiary or to designate a person or organization when funds are disbursed out. required: - partyId - paymentForm SetDeliveryDateEligibilityRequest: type: object properties: correlationId: type: string example: 864e43a0-2c2f-4a11-9d7f-69ed40115066 taxId: type: string example: '666911019' documentType: type: string example: POLPG SetDeliveryDateRequest: type: object allOf: - $ref: '#/components/schemas/SetDeliveryDateEligibilityRequest' properties: acknowledgementDate: type: string format: date-time reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal EDeliveryEnrollmentRequest: type: object properties: id: type: string description: preferenceId (should be null for preference creation) example: e22cd4aee27d34c9b7c748d50e558b41 carrierId: type: string description: carrier id for policy example: CARRIERID_1 deliveryOption: type: string enum: - EMAIL - FAX - MAIL description: Delivery Options - Applicable values EMAIL/FAX/MAIL example: EMAIL email: type: string example: abc.def@gmail.com description: User's email effectiveFrom: type: string format: date-time description: Date (with pattern "yyyy-MM-dd'T'HH:mm:ss'Z'") when the preference will be effective, default value is '2999-12-31T00:00:00.000Z' effectiveTo: type: string format: date-time description: Date (with pattern "yyyy-MM-dd'T'HH:mm:ss'Z'") when the preference will stop being effective documentType: type: string enum: - NWB - ANST - CONF - TAX - AGNT - POLPG description: Type of document example: AGNT partyId: type: string description: Unique reference id of the party example: f22de4bff27e45d9a7c859e61f668c50 acknowledgedByPartyId: type: string description: Party that initiated the acknowledgment (i.e. an agent, if not the party referred to by partyId) example: f22de4bff27e45d9a7c859e61f668c50 required: - carrierId - deliveryOption - effectiveFrom - documentType - partyId - acknowledgedByPartyId InitialPremiumRequest: type: object properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID correlationId: type: string example: 864e43a0-2c2f-4a11-9d7f-69ed40115066 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 default: false description: Property to isolate source transaction(s) that initiated the reversal transactionReason: $ref: '#/components/schemas/TransactionReason' transactionAmounts: type: object properties: requestedAmount: type: number format: double example: 1000 description: Requested amount value fundAllocation: $ref: '#/components/schemas/FundAllocation' exchange: $ref: '#/components/schemas/TransactionExchange' taxBasis: $ref: '#/components/schemas/TransactionTaxBasis' payor: type: object properties: partyId: type: string example: Party_PI_1 description: Impacted Party in the event of financial transaction paymentForm: $ref: '#/components/schemas/PaymentForm' bankId: type: string example: Bank_1 description: Comes in Acord 103 partyRole: type: string description: Party Role FundAllocationChangeRequest: type: object properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID correlationid: type: string example: 657b717b7dcf554abf9ef067 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 allocation: $ref: '#/components/schemas/FundAllocation' required: - effectiveDate - allocation InvestmentType: type: string enum: - INVESTMENTFUND - INVESTMENTMODEL description: TBD TransactionExchange: type: object properties: policyNumber: type: string description: Unique number given to an exchange/transfer. example: EX0000001 exchangeDescription: $ref: '#/components/schemas/ExchangeDescription' exchangeDate: type: string format: date description: The date on which 1035 Exchange occurs example: '2023-01-01' lineOfBusiness: $ref: '#/components/schemas/LineOfBusiness' exchangeAmount: type: number format: double description: Total Dollar received in 1035 Exchange example: 161.81698 qualificationType: $ref: '#/components/schemas/QualificationType' costBasis: type: number format: double description: Original cost basis of the policy being exchanged - previous Policy example: 161.81698 modifiedEndowmentContractStatus: type: boolean enum: - true - false description: Indicates if the original policy being exchanged is classified as modifiedEndowment contract status outstandingLoanRolloverAmount: type: number format: double description: The amount of any outstanding loan against the original policy that will be rolled over into the new policy during the 1035 exchange example: 161.81698 TransactionTaxBasis: type: object properties: currentContributionAmount: type: number format: double description: Only for Qualified IRA - normally entered by Ops. It has to do with contribution year. People can submit IRA payment for the 2024 tax year up until April 15, 2025 If they were to send in, say $10,000, in March and say that $5,000 was 2024 and $5,000 is 2025, we'd load $5,000 as a current year contribution and $5,000 as a prior year contribution example: 161.81698 currentTaxYear: type: number format: int32 description: The tax year for which the current contribution is being reported. example: 1 priorContributionAmount: type: number format: double description: Only for Qualified IRA - normally entered by Ops example: 161.81698 priorTaxYear: type: number format: int32 description: Current Tax Year - Default to example: 1 preTaxEquityAndFiscalResponsibilityActBasis: type: number format: double description: Cost basis established before August 14, 1982. This type of cost basis will be withdrawn from an annuity before any gain (taxable amount) is withdrawn example: 161.81698 postTaxEquityAndFiscalResponsibilityActBasis: type: number format: double description: Cost basis established on or after August 14, 1982. This type of cost basis is not withdrawn from an annuity until all gain has been withdrawn example: 161.81698 postTechnicalAndMiscellaneousRevenueActAmount: type: number format: double description: Applies to 403b Qual type example: 161.81698 FundAllocation: type: object properties: investmentType: $ref: '#/components/schemas/InvestmentType' modelId: type: string description: The corresponding Model Id of the elected model example: TBD fundAllocationsInvestments: type: array items: type: object properties: fundId: type: string description: TBD example: FundAccount1 allocationPercentage: type: number format: double description: At Policy Level for Each Applicable Fund (Everly there is only one Fixed) Therefore this be 100% example: 100 startDate: type: string format: date description: TBD example: '2024-01-01' required: - fundId - allocationPercentage - startDate allocationOption: $ref: '#/components/schemas/AllocationOption' required: - investmentType - fundAllocationsInvestments ExchangeDescription: type: string enum: - DEFAULT - EXTERNAL1035 - INTERNAL1035 - EXTERNALDIRECTTRANSFER - INTERNALDIRECTTRANSFER - EXTERNALROLLOVERQUALIFIED - INTERNALROLLOVERQUALIFIED - EXTERNALROTHROLLOVER - INTERNALROTHROLLOVER - EXTERNALROTHDIRECTTRANSFER - INTERNALROTHDIRECTTRANSFER - BENEFITPROCEEDS - CASHCONTRIBUTIONS - EXTERNAL1035PARTIAL - INTERNAL1035PARTIAL - BIRTHORADOPTIONREPAYMENT description: Indicates the type of exchange being conducted LineOfBusiness: type: string enum: - LIFE - ANNUITY description: Line of business annuity or life QualificationType: type: string enum: - INDIVIDUALRETIREMENTACCOUNTREGULAR - INDIVIDUALRETIREMENTACCOUNTSPOUSAL - INDIVIDUALRETIREMENTACCOUNTROLLOVER - ROTHINDIVIDUALRETIREMENTACCOUNT - CUSTODIALINDIVIDUALRETIREMENTACCOUNT - CUSTODIALROTHINDIVIDUALRETIREMENTACCOUNT - CUSTODIALROLLOVERINDIVIDUALRETIREMENTACCOUNT - QUALIFIED - NONQUALIFIED description: The type of transaction added and processed loanInterestType: type: string enum: - FIXED - INDEXED - VARIABLE - ADJUSTABLE description: Loan Interest Type - Selected by user from dropdown values, default to Fixed 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 TransactionFailureResponse: type: object properties: status: type: string enum: - success - failure validationResult: type: array items: $ref: '#/components/schemas/Error' TransactionResponse: type: object properties: status: type: string enum: - success - failure error: type: array items: $ref: '#/components/schemas/Error' quoteResponse: type: object PolicyTransactionResponse: type: object properties: status: type: string enum: - success - failure errors: type: array items: $ref: '#/components/schemas/Errors' 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 Error: type: object properties: errorCode: type: string example: BPM.NM.002 description: This is the NIGO id 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 EmailChangeRequest: type: object allOf: - $ref: '#/components/schemas/EmailChange' properties: caseId: type: string example: CA00000022023 description: Zinnia Live Case ID deleteRequest: type: boolean description: Flag for delete or update request. If flag==true then Delete Request else Update Request default: false PhoneChangeRequest: type: object allOf: - $ref: '#/components/schemas/PhoneChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID deleteRequest: type: boolean description: Flag for delete or update request. If flag==true then Delete Request else Update Request default: false BankAccountChangeRequest: type: object allOf: - $ref: '#/components/schemas/BankAccountChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID deleteRequest: type: boolean description: Flag for delete or update request. If flag==true then Delete Request else Update Request default: false CommunicationPreferenceChangeRequest: type: object allOf: - $ref: '#/components/schemas/CommunicationPreferenceChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID PartyNameChangeRequest: type: object allOf: - $ref: '#/components/schemas/PartyNameChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID ThirdPartyChangeRequest: type: object allOf: - $ref: '#/components/schemas/PartyChangeRequest' properties: supportingDocumentAttached: type: string example: 'Yes' description: Supporting document attached or not signaturePresentOnDocumentForAllOwners: type: string example: 'Yes' description: Signature Present signatureDate: type: string example: 'Yes' description: Signature date AssigneeChangeRequest: type: object allOf: - $ref: '#/components/schemas/PartyChangeRequest' properties: collateralAmount: type: number format: double example: 68 description: Assignee collateral amount notarySignatures: type: array description: List of notary signatures associated with the change items: $ref: '#/components/schemas/NotarySignatureDto' PartyChangeRequest: type: object allOf: - $ref: '#/components/schemas/PartyChange' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID deleteRequest: type: boolean description: Flag for delete or update request. If flag==true then Delete Request else Update Request default: false CancelTransactionRequest: type: object allOf: - $ref: '#/components/schemas/CancelTransaction' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID FreeLookCancellationRequest: type: object allOf: - $ref: '#/components/schemas/FreeLookCancellation' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID ReverseRecreateRequest: type: object allOf: - $ref: '#/components/schemas/ReverseRecreate' properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID CancelTransaction: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 transactionId: type: string example: '377' reason: type: string description: Reason for cancellation example: Entered Incorrect Email Id externalTransactionId: type: string description: Transaction ID from external system example: A12345 required: - transactionId - reason 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 ReinstatementTransaction: 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 default: false policy: type: object required: - policyFeatures properties: policyFeatures: type: array description: List of features associated with the policy. items: type: object required: - featureType - approvalDate - effectiveDate - underwritingDecision properties: featureType: type: string description: Type of the policy feature. enum: - REINSTATEMENT example: REINSTATEMENT approvalDate: type: string description: Date on which the feature was approved. format: date example: '2025-08-26' effectiveDate: type: string description: Date on which the feature becomes effective. format: date example: '2025-08-26' underwritingDecision: type: string description: Underwriting outcome for the feature. enum: - APPROVED example: APPROVED transactionAmounts: type: object required: - requestedAmount - appliedAmount - netPaymentAmount properties: externalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side. referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier. requestedAmount: type: number format: float description: The total amount requested for the transaction. example: 0 appliedAmount: type: number format: float description: The portion of the requested amount that has been applied. example: 0 netPaymentAmount: type: number format: float description: The actual payment amount after all adjustments. example: 0 parties: type: array description: List of parties involved in the transaction and their payment allocations. items: type: object required: - paymentForm - partyRole properties: partyId: type: string description: Unique identifier of the party involved in the transaction.If not provided, BPM will default to the 'Payor' partyId retrieved from the policy details api. example: Party_PI_1 paymentForm: $ref: '#/components/schemas/PaymentForm' bankId: type: string description: Identifier for the bank associated with the payment.This is required in case of ACH. example: bank_1 partyRole: type: string description: Role of the party in the transaction (e.g., OWNER, BENEFICIARY). systematicProgram: $ref: '#/components/schemas/ReinstatementSystematicProgram' required: - correlationId - effectiveDate - policy - transactionAmounts - systematicProgram ReinstatementQuoteTransaction: 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 default: false externalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side. referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier. policy: type: object required: - policyFeatures properties: policyFeatures: type: array description: List of features associated with the policy. items: type: object required: - featureType properties: featureType: type: string description: Type of the policy feature. enum: - REINSTATEMENT example: REINSTATEMENT approvalDate: type: string description: Date on which the feature was approved. format: date example: '2025-08-26' required: - correlationId - effectiveDate - policy LoanRepaymentOneTime: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, 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 example: 1000 description: Requested amount value fundAllocation: type: object properties: allocationOption: $ref: '#/components/schemas/AllocationOption' payor: $ref: '#/components/schemas/AdhocParty' NewLoan: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, can be a non-business day reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal transactionAmounts: $ref: '#/components/schemas/AdhocTransactionAmount' fundAllocation: $ref: '#/components/schemas/AdhocFundAllocation' taxWithholdingInstructions: type: array items: allOf: - $ref: '#/components/schemas/TaxWithholdingInstructions' - type: object properties: partyRole: $ref: '#/components/schemas/PartyRole' parties: type: array items: $ref: '#/components/schemas/AdhocDisbursementParty' required: - effectiveDate - transactionAmounts - fundAllocation - taxWithholdingInstructions - parties FullSurrender: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, can be a non-business day reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal override: type: boolean description: BPM will have to override the rules if this variable is marked as true taxWithholdingInstructions: type: array items: $ref: '#/components/schemas/TaxWithholdingInstructions' payeeOrBeneficiary: type: array items: $ref: '#/components/schemas/PayeeOrBeneficiary' parties: type: array items: $ref: '#/components/schemas/AdhocDisbursementParty' transactionAmounts: $ref: '#/components/schemas/FullSurrenderActualTransactionAmounts' charges: type: array items: $ref: '#/components/schemas/Charge' FullSurrenderActualTransactionAmounts: type: object properties: amountType: $ref: '#/components/schemas/AmountType' disbursementType: $ref: '#/components/schemas/DisbursementType' disbursementPaymentForm: $ref: '#/components/schemas/DisbursementPaymentForm' PartialWithdrawalOneTime: type: object description: Request body for partial withdrawal one-time eligibility, validation, and submit endpoints. properties: correlationId: type: string example: test-112132141 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date example: '2026-03-17' 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 default: false selfServeFlow: type: boolean description: Whether the request originated from a self-serve flow example: false transactionType: $ref: '#/components/schemas/PartialWithdrawalTransactionType' externalIdentifiers: $ref: '#/components/schemas/PartialWithdrawalExternalIdentifiers' transactionReason: $ref: '#/components/schemas/PartialWithdrawalTransactionReason' transactionAmounts: $ref: '#/components/schemas/PartialWithdrawal.TransactionAmounts' fundAllocation: $ref: '#/components/schemas/PartialWithdrawalFundAllocation' taxWithholdingInstructions: type: array items: $ref: '#/components/schemas/PartialWithdrawalTaxWithholdingInstruction' fundDistributions: type: array items: $ref: '#/components/schemas/PartialWithdrawalFundDistribution' parties: type: array items: $ref: '#/components/schemas/PartialWithdrawalParty' charges: type: array items: $ref: '#/components/schemas/PartialWithdrawalCharge' suppression: type: array items: $ref: '#/components/schemas/PartialWithdrawalSuppression' signatures: type: array items: $ref: '#/components/schemas/PartialWithdrawalSignature' required: - effectiveDate - transactionAmounts - fundAllocation - parties PartialWithdrawalTransactionType: type: string enum: - PARTIAL_WITHDRAWAL description: Transaction type for partial withdrawal one-time requests example: PARTIAL_WITHDRAWAL PartialWithdrawalExternalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side example: '14141414' referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier example: '141414141' PartialWithdrawalTransactionReason: type: string enum: - ONETIMEPREMIUM - GRACEPERIODPREMIUM - REINSTATEMENTPREMIUM - EXCHANGE1035 - SURRENDER - AMOUNTEXCESSTOMEC - AMOUNTEXCESSTOGUIDELINE - CURRENTVALUE - COSTBASIS - GUIDELINESINGLEPREMIUM - GUIDELINELEVELPREMIUM - SEVENPAYPREMIUM - TOTALYTDPREMIUMAMOUNT - FACEDECREASECOVERAGE - INITIALPREMIUMEXPIRATION - COMPLIANCE - NOTRANSACTIONREASON - STARTINGPRICE - LUMPSUM - FIVEYEARDEFERRAL - SPOUSALCONTINUATION - DISCOUNT - CONTROLBUSINESSINDICATOR - NATIONALCHANGEOFADDRESS - DATEOFDEATH - INITIALDEATHNOTIFICATION - PRODUCTDEFAULT - AMOUNT - GWBRIDERDISBURSEMENT - GWBPHASECHANGE - FREQUENCY - PREMIUMLOAN - PAYMENTDUEDATE description: Reason for the partial withdrawal one-time transaction example: ONETIMEPREMIUM PartialWithdrawalFundAllocation: type: object properties: allocationOption: $ref: '#/components/schemas/PartialWithdrawalAllocationOption' required: - allocationOption PartialWithdrawalAllocationOption: type: string enum: - DEFAULT - FIXEDPRORATA - VARIABLEPRORATA - PRORATA - SPECIFIEDFUNDS - SPECIFIEDSEGMENTS description: Defines how funds are removed for the partial withdrawal example: PRORATA PartialWithdrawalTaxWithholdingInstruction: type: object properties: partyId: type: string example: '2314134' description: Impacted party for tax withholding taxWithholdingType: $ref: '#/components/schemas/TaxWithholdingType' partyRole: $ref: '#/components/schemas/PartialWithdrawalPartyRole' taxRateToUse: $ref: '#/components/schemas/TaxRateToUse' filingStatus: $ref: '#/components/schemas/PartialWithdrawalFilingStatus' dollar: type: number format: double example: 0 percentage: type: number format: double example: 0 exemptions: type: number format: int32 example: 0 taxJurisdiction: type: string example: string contribution: $ref: '#/components/schemas/PartialWithdrawalW4rContribution' w4r: $ref: '#/components/schemas/PartialWithdrawalW4r' taxFormType: $ref: '#/components/schemas/PartialWithdrawalTaxFormType' required: - partyId - taxWithholdingType PartialWithdrawalFilingStatus: type: string enum: - SINGLE - MARRIED - DEFAULT - DOMESTICPARTNER - DOMESTICPARTNERSHIP - HEADOFHOUSEHOLD - MARRIEDFILINGSEPARATELY - WIDOWED - DIVORCED description: Filing status for partial withdrawal tax withholding example: MARRIED PartialWithdrawalW4r: type: object properties: filingStatus: $ref: '#/components/schemas/PartialWithdrawalFilingStatus' dollar: type: number format: double example: 0 percentage: type: number format: double example: 0 exemptions: type: number format: int32 example: 0 PartialWithdrawalW4rContribution: type: string enum: - NOTAPPLICABLE example: NOTAPPLICABLE PartialWithdrawalTaxFormType: type: string enum: - T1035COSTBASIS example: T1035COSTBASIS PartialWithdrawalFundDistribution: type: object properties: fundId: type: string example: '1231414' fundName: type: string example: Fixed distributionAmountType: $ref: '#/components/schemas/PartialWithdrawalDistributionAmountType' totalFundValue: type: number format: double example: 10000 requestedAmount: type: number format: double example: 1000 fundDistributionSegments: type: array items: $ref: '#/components/schemas/PartialWithdrawalFundDistributionSegment' PartialWithdrawalDistributionAmountType: type: string enum: - PERCENTAGE - AMOUNT - UNIT example: AMOUNT PartialWithdrawalFundDistributionSegment: type: object properties: segmentId: type: string example: '1231414' currentAmount: type: number format: double example: 10000 requestedAmount: type: number format: double example: 1000 PartialWithdrawalAuthorization: type: object properties: authorizationAccepted: type: boolean example: true authorizationDate: type: string format: date example: '2026-05-05' signatureRequired: type: boolean example: true signatures: type: array items: $ref: '#/components/schemas/PartialWithdrawalAuthorizationSignature' PartialWithdrawalAuthorizationSignature: type: object properties: authorizedByPartyId: type: string example: string signatureType: $ref: '#/components/schemas/PartialWithdrawalAuthorizationSignatureType' designation: $ref: '#/components/schemas/PartialWithdrawalAuthorizationDesignation' name: type: string example: Test B signatureDate: type: string format: date-time example: '2023-12-01T00:00:00.000Z' state: type: string example: NY PartialWithdrawalAuthorizationSignatureType: type: string enum: - ESIGN - WETSIGN example: ESIGN PartialWithdrawalAuthorizationDesignation: type: string enum: - INDIVIDUAL example: INDIVIDUAL PartialWithdrawalParty: type: object properties: partyId: type: string example: 134535214eedf32412 addressId: type: string example: 134535214eedf32412 bankId: type: string example: '1232423525' partyRole: $ref: '#/components/schemas/PartialWithdrawalPartyRole' partyType: $ref: '#/components/schemas/PartialWithdrawalPartyType' paymentForm: $ref: '#/components/schemas/PaymentForm' allocationPercentage: type: number format: double example: 100 forBenefitOfOrForFurtherCredit: type: string example: ABCD relationshipToOwner: type: string example: string preferredContactMethod: $ref: '#/components/schemas/PartialWithdrawalPreferredContactMethod' personalInformation: $ref: '#/components/schemas/PartialWithdrawalPersonalInformation' organisationDetails: $ref: '#/components/schemas/PartialWithdrawalOrganisationDetails' phones: type: array items: $ref: '#/components/schemas/PartialWithdrawalPhone' emails: type: array items: $ref: '#/components/schemas/PartialWithdrawalEmail' addresses: type: array items: $ref: '#/components/schemas/PartialWithdrawalAddress' overnightCheckInfo: $ref: '#/components/schemas/PartialWithdrawalOvernightCheckInfo' identifications: type: array items: $ref: '#/components/schemas/PartialWithdrawalIdentification' bankDetails: $ref: '#/components/schemas/PartialWithdrawalBankDetails' required: - partyId - partyRole - paymentForm - allocationPercentage PartialWithdrawalPartyRole: type: string enum: - OWNER - PRIMARYBENEFICIARY - CONTINGENTBENEFICIARY - INSURED - PAYOR - PAYEE - AGENT - CARRIER - THIRDPARTYDESIGNEE - THIRDPARTYADMINISTRATOR - JOINTOWNER - COVERAGEINSURED - COVERAGEJOINTINSURED - ASSIGNEE - PRIMARYWRITINGAGENT - PRIMARYSERVICINGAGENT - ADDITIONALSERVICINGAGENT - ADDITIONALWRITINGAGENT - ANNUITANT - EXCHANGECOMPANY - JOINTANNUITANT - GRANTOR - TRUSTEE - POWEROFATTORNEY - AUTHORIZEDSIGNATORY - OTHERINTERESTEDPARTY - CONTINGENTOWNER - SUCCESSORTRUSTEE example: OWNER PartialWithdrawalPartyType: type: string enum: - INDIVIDUAL - ORGANIZATION example: INDIVIDUAL PartialWithdrawalPreferredContactMethod: type: string enum: - MAIL - PHONE - EMAIL example: MAIL PartialWithdrawalPersonalInformation: type: object properties: prefix: $ref: '#/components/schemas/PartialWithdrawalNamePrefix' suffix: $ref: '#/components/schemas/PartialWithdrawalNameSuffix' firstName: type: string example: Jordan middleName: type: string nullable: true lastName: type: string example: Taylor fullName: type: string example: Jordan Taylor gender: $ref: '#/components/schemas/PartialWithdrawalGender' dateOfBirth: type: string format: date example: '1987-11-03' birthCountry: type: string example: US citizenshipCountry: type: string example: US birthState: type: string example: CA PartialWithdrawalNamePrefix: type: string enum: - MR - MS - MISS - DR - MRS example: MR PartialWithdrawalNameSuffix: type: string enum: - JR - SR - I - II - III - IV - V - VI - VII example: JR PartialWithdrawalGender: type: string enum: - FEMALE - MALE - OTHER example: FEMALE PartialWithdrawalOrganisationDetails: type: object properties: fullName: type: string example: xyz organizationCode: type: string example: 76A entityType: $ref: '#/components/schemas/PartialWithdrawalEntityType' trustDate: type: string format: date nullable: true trustType: $ref: '#/components/schemas/PartialWithdrawalTrustType' trustTitle: type: string example: TrustTitle PartialWithdrawalEntityType: type: string enum: - SOLEPROPRIETORSHIP - GENERALPARTNERSHIP - LIMITEDPARTNERSHIP - SCORPORATION - CCORPORATION - LIMITEDLIABILITYCOMPANY - CHARITABLEORGANIZATION - ESTATE - TRUST - CORPORATION - UNKNOWN example: CORPORATION PartialWithdrawalTrustType: type: string enum: - INDIVIDUALTRUST - CORPORATETRUST - TESTAMENTARYTRUST - INTERVIVOSTRUST - GRANTORTRUST - PETTRUST example: INDIVIDUALTRUST PartialWithdrawalPhone: type: object properties: startDate: type: string format: date example: '2023-01-01' endDate: type: string format: date example: '2023-01-01' phoneType: $ref: '#/components/schemas/PartialWithdrawalPhoneType' countryCode: type: string example: '9' areaCode: type: string example: '973' dialNumber: type: string example: '765789' extension: type: string nullable: true bestTime: type: string nullable: true timezone: type: string nullable: true isPreferred: type: boolean example: false phoneId: type: string example: '1' PartialWithdrawalPhoneType: type: string enum: - MOBILE - HOME - BUSINESS - CLAIMCENTER - CUSTOMERSERVICE - CORPORATEOFFICE - FAX - UNKNOWN - OTHER example: MOBILE PartialWithdrawalEmail: type: object properties: startDate: type: string format: date example: '2023-01-01' endDate: type: string format: date example: '2023-01-01' emailType: $ref: '#/components/schemas/PartialWithdrawalEmailType' emailAddress: type: string format: email example: user@example.com isPreferred: type: boolean example: false emailId: type: string example: '1' PartialWithdrawalEmailType: type: string enum: - PERSONAL - BUSINESS - CUSTOMERSERVICE - OTHER example: PERSONAL PartialWithdrawalAddress: type: object properties: addressId: type: string example: 134535214eedf32412 addressType: $ref: '#/components/schemas/PartialWithdrawalAddressType' line1: type: string example: 123 Main St line2: type: string example: Apt 5B line3: type: string nullable: true city: type: string example: San Francisco state: type: string example: CA postalCode: type: string example: '94105' postalCodeExtension: type: string example: '1234' country: type: string example: US PartialWithdrawalAddressType: type: string enum: - RESIDENCE - BUSINESS - POBOX - SEASONAL - SECONDARY - MAILING example: RESIDENCE PartialWithdrawalOvernightCheckInfo: type: object properties: accountType: $ref: '#/components/schemas/PartialWithdrawalOvernightAccountType' accountName: type: string example: Security Benefit accountNumber: type: string example: '11434552525' PartialWithdrawalOvernightAccountType: type: string enum: - USPS - FEDEX - UPS - DHL example: USPS PartialWithdrawalIdentification: type: object properties: identificationType: $ref: '#/components/schemas/PartialWithdrawalIdentificationType' identificationValue: type: string example: 123-45-6789 issueState: type: string example: CA issueCountry: type: string example: US expirationDate: type: string format: date example: '2035-12-31' PartialWithdrawalIdentificationType: type: string enum: - SSN - EIN - TIN - DRIVERSLICENSE - PASSPORT example: SSN PartialWithdrawalBankDetails: type: object properties: bankId: type: string example: '1232423525' nameOnAccount: type: string example: Alex J Taylor accountStatus: $ref: '#/components/schemas/PartialWithdrawalBankAccountStatus' accountType: $ref: '#/components/schemas/PartialWithdrawalBankAccountType' accountNumber: type: string example: '000111222333' routingNumber: type: string example: '121000358' ibanNumber: type: string nullable: true financialInstitutionName: type: string example: Acme Bank branchName: type: string nullable: true bankAccountPurpose: $ref: '#/components/schemas/PartialWithdrawalBankAccountPurpose' address: $ref: '#/components/schemas/PartialWithdrawalAddress' PartialWithdrawalBankAccountStatus: type: string enum: - ACTIVEBANKACCOUNT - TERMINATEDBANKACCOUNT example: ACTIVEBANKACCOUNT PartialWithdrawalBankAccountType: type: string enum: - CHECKING - SAVINGS - CREDITCARD - DEBITCARD - BROKERAGEACCOUNT - CERTIFICATEOFDEPOSIT - WIRE example: CHECKING PartialWithdrawalBankAccountPurpose: type: string enum: - LOANINTERESTBILLING - DISBURSEMENTS - LOANPRINCIPALBILLING - PREMIUMBILLING - ONETIMEPREMIUMBILLING - PAYOUT - ONETIMEWIRE example: DISBURSEMENTS PartialWithdrawalCharge: type: object properties: partyId: type: string example: Party_PI_1 chargeType: $ref: '#/components/schemas/PartialWithdrawalChargeType' chargeWaiverIndicator: $ref: '#/components/schemas/PartialWithdrawalChargeWaiverIndicator' chargeWaiverReason: type: string example: Client Approved PartialWithdrawalChargeType: type: string enum: - COSTOFINSURANCE - EXPENSECHARGE - UNITEXPENSECHARGE - RIDERCHARGE - SURRENDERCHARGE - WITHDRAWALCHARGE - PREMIUMTAX - MARKETVALUEADJUSTMENT - OVERNIGHTMAIL - WIRE - PAYMENTCHARGE - COVERAGECHARGE - COVERAGECREDIT example: WITHDRAWALCHARGE PartialWithdrawalChargeWaiverIndicator: type: string enum: - 'YES' - 'NO' example: 'YES' PartialWithdrawalSuppression: type: object properties: suppressionType: $ref: '#/components/schemas/PartialWithdrawalSuppressionType' suppressionReason: type: string example: Client Approved PartialWithdrawalSuppressionType: type: string enum: - CORRESPONDENCE - TAX - DISBURSEMENT - COMMISSION example: CORRESPONDENCE PartialWithdrawalSignature: type: object properties: signType: type: string example: OWNER description: Signature type code signDate: type: string format: date example: '2026-07-10' signDesignation: type: string example: Executor isSignedPresent: type: boolean example: true PartyRole: type: string enum: - OWNER - PRIMARYBENEFICIARY - CONTINGENTBENEFICIARY - INSURED - PAYOR - PAYEE - AGENT - THIRDPARTYDESIGNEE description: Party Role PayeeOrBeneficiary: type: object properties: partyId: type: string description: Pending Review by Product Team example: Party_PI_1 paymentForm: $ref: '#/components/schemas/PaymentForm' allocationPercentage: type: number format: double description: At Policy Level for Each Applicable Fund (Everly there is only one Fixed) Therefore this be 100% example: 100 bankId: type: string example: Bank_1 description: Comes in Acord 103 AdhocFundAllocation: type: object properties: allocationOption: $ref: '#/components/schemas/AllocationOption' required: - allocationOption AllocationOption: type: string enum: - PRORATA - DOLLAR - SPECIFYPERCENTAGE - SPECIFIEDFUNDS - SPECIFIEDSEGMENTS - DEFAULT - PECKINGORDER - EARNINGSONLY description: Defines the format of how the funds are removed, i.e. dollar, percentage, pro-rata, etc. Charge: type: object properties: chargeType: $ref: '#/components/schemas/ChargeType' chargeWaiverIndicator: $ref: '#/components/schemas/ChargeWaiverIndicator' chargeWaiverReason: type: string description: Set by System based on policy data if Waive Indicator is yes. example: '100' ChargeWaiverIndicator: type: string enum: - 'Yes' - 'No' description: Charge Waiver Indicator ChargeType: type: string enum: - COSTOFINSURANCE - EXPENSECHARGE - UNITEXPENSECHARGE - RIDERCHARGE - SURRENDERCHARGE - WITHDRAWALCHARGE description: Charge Type PaymentFrom: type: string enum: - DTCC - CREDITCARD - ACH AdhocFundDistributions: type: object properties: fundId: type: string fundName: type: string totalFundValue: type: number requestedAmount: type: number fundDistributionSegments: type: array items: type: object properties: segmentId: type: string currentAmount: type: number requestedAmount: type: number TransactionAmounts: allOf: - $ref: '#/components/schemas/AdhocTransactionAmount' - type: object properties: requestedAmount: type: number format: double description: The initial premium amount (deposit amount) paid by the party. example: 100 amountType: $ref: '#/components/schemas/AmountType' disbursementType: $ref: '#/components/schemas/DisbursementType' disbursementPaymentForm: $ref: '#/components/schemas/DisbursementPaymentForm' loanType: $ref: '#/components/schemas/LoanType' loanInterestType: $ref: '#/components/schemas/loanInterestType' paymentAmount: type: number format: double description: The initial premium amount (deposit amount) drafted to proceed with the payment example: 100 appliedAmount: type: number format: double description: The initial premium amount that is actually applied to the policy. example: 100 calculatedAmount: type: number format: double description: The amount calculated by the LPS if the issuance transaction outcome fails example: 100 totalChargeAmount: type: number format: double description: Sum of Transaction Level charges example: 100 taxableAmount: type: number format: double description: Taxable amount for Transaction. Even If Payee selects Not To Withhold, this will be populated if there was Gain distributed. example: 100 deathClaimPayoutPreSupplementalSecurityIncome: type: number format: double description: Death claim payout amount example: 1000 claimStatutoryInterestAmount: type: number format: double description: Any interest generated on the claim amount example: 1000 deathBenefitInterestCalculatedFromDate: type: number format: double description: Product team to review example: 1000 claimStatutoryInterestRate: type: number format: double description: Product team to review example: 1000 required: - requestedAmount - amountType - disbursementType PartialWithdrawal.TransactionAmounts: type: object properties: requestedAmount: type: number format: double example: 1000 amountType: $ref: '#/components/schemas/PartialWithdrawalAmountType' disbursementType: $ref: '#/components/schemas/PartialWithdrawalDisbursementType' distributionCode: $ref: '#/components/schemas/PartialWithdrawalDistributionCode' disbursementPaymentForm: $ref: '#/components/schemas/PartialWithdrawalDisbursementPaymentForm' accountNumber: type: string example: '11434552525' participantId: type: string example: '1236' withdrawalReason: $ref: '#/components/schemas/PartialWithdrawalWithdrawalReason' severanceDate: type: string format: date example: '2026-03-17' firstRothIRADate: type: string format: date example: '2026-03-17' hardshipType: $ref: '#/components/schemas/PartialWithdrawalHardshipType' emergencyType: $ref: '#/components/schemas/PartialWithdrawalEmergencyType' required: - requestedAmount - amountType - disbursementType PartialWithdrawalAmountType: type: string enum: - AMOUNT - PERCENTAGE - FREEWITHDRAWALAMOUNT - EARNINGSONLY - MAX - MODIFIEDEARNINGSONLY - WITHDRAWALUNTILBASIS - PERCENTAGEOFACCOUNTVALUE example: AMOUNT PartialWithdrawalDisbursementType: type: string enum: - GROSS - NET - NETBEFORETAX example: GROSS PartialWithdrawalDistributionCode: type: string enum: - CHARITABLEGIFT example: CHARITABLEGIFT PartialWithdrawalDisbursementPaymentForm: type: string enum: - CHECK - WIRE - DTCC - ACH - OVERNIGHTCHECK example: CHECK PartialWithdrawalWithdrawalReason: type: string enum: - NORMALDISTRIBUTION - PREMATUREDISTRIBUTION - DISABILITY - SEPARATIONFROMEMPLOYMENT - UNFORESEEABLEEMERGENCY - INSERVICEDISTRIBUTION - HARDSHIP - DEATH example: NORMALDISTRIBUTION PartialWithdrawalHardshipType: type: string enum: - MEDICAL - HOMEPURCHASE - EDUCATION - EVICTIONPREVENTION - FUNERAL - DISASTER - OTHER example: MEDICAL PartialWithdrawalEmergencyType: type: string enum: - MEDICAL - CASUALTYLOSS - OTHERUNFORESEEABLEEMERGENCY example: MEDICAL AdhocTransactionAmount: type: object properties: requestedAmount: type: number format: double description: The initial premium amount (deposit amount) paid by the party. example: 100 amountType: $ref: '#/components/schemas/AmountType' disbursementType: $ref: '#/components/schemas/DisbursementType' disbursementPaymentForm: $ref: '#/components/schemas/DisbursementPaymentForm' loanType: $ref: '#/components/schemas/LoanType' loanInterestType: type: string enum: - FIXED - INDEXED - VARIABLE - ADJUSTABLE description: Loan Interest Type - Selected by user from dropdown values, default to Fixed required: - requestedAmount - amountType - disbursementType - disbursementPaymentForm - loanType - loanInterestType AdhocParty: allOf: - $ref: '#/components/schemas/BaseAdhocParty' - type: object properties: paymentForm: $ref: '#/components/schemas/PaymentForm' AmountType: type: string enum: - AMOUNT - PERCENTAGE - MAX - FREEWITHDRAWALAMOUNT - WITHDRAWALUNTILBASIS - EARNINGSONLY - PRORATA description: Amount Type selected by user. Following is dropdown list 1. Amount -- If selected user should be able to enter Amount for Transaction Amount field 2. Percent -- If selected user should be able to enter Percentage for Transaction Amount field 3. Max -- If selected user should NOT be able to enter Amount. Auto calculated using Maximum Withdrawal Amount. 4. Free Withdrawal Amount -- If selected user should NOT be able to enter Amount. Auto calcualted using Free Withdrawal Amount. 5. Withdraw Until Basis ---- If selected user should NOT be able to enter Amount. Auto calcualted using Cost Basis. LoanType: type: string enum: - PREFERRED - NONPREFERREDSTANDARDLOAN - INDEXLOAN description: Loan Types - Selected by user from dropdown values, default to Non-Preferred Standard Loan DisbursementType: type: string enum: - GROSS - NET - NETNET description: The type of amount for withdrawal such as Gross or Net DisbursementPaymentForm: type: string enum: - DTCC - EFT - ACH - CHECK - WIRE description: The type of disbursement method such as DTCC,EFT or credit card.Default EFT. TaxWithholdingInstructions: type: object properties: partyId: type: string example: Party_PI_1 description: Impacted Party in the event of financial transaction taxWithholdingType: $ref: '#/components/schemas/TaxWithholdingType' taxRateToUse: $ref: '#/components/schemas/TaxRateToUse' filingStatus: $ref: '#/components/schemas/FilingStatus' dollar: type: number format: double example: 10 description: Requested amount value percentage: type: number format: double example: 50 description: Requested percentage value exemptions: type: number format: int32 example: 0 description: Requested exemptions value taxJurisdiction: type: string example: USA description: Requested amount value required: - partyId - taxWithholdingType - taxRateToUse TaxWithholdingType: type: string enum: - FEDERAL - STATE - NRA - BACKUP TaxRateToUse: type: string enum: - NOWITHHOLDINGELECTED - USEVALUESENTERED - NOWITHHOLDINGALLOWED - USEDEFAULTTABLE - ADDITIONALWITHHOLDING description: How tax rate should be applied for withholding FilingStatus: type: string enum: - SINGLE - DOMESTICPARTNERSHIP - DEFAULT - MARRIED - HEADOFHOUSEHOLD - MARRIEDFILINGSEPARATELY - WIDOWED - DIVORCED SystematicProgramContactMfa: type: object description: Contact channels for multi-factor authentication on systematic program transactions properties: email: type: string format: email example: mfa.user@example.com mobile: type: string description: Mobile number (E.164 or display format) example: '+12025550199' SystematicProgramNamedParty: type: object description: Named participant (e.g. servicing agent or policy holder context on the request) properties: primaryId: type: string example: servicing.agent@example.com name: type: string example: Example Agent FeatureTransactionProduct: type: object description: Product-level transaction classification accompanying the systematic program request properties: transactionType: type: string example: ONETIMEWITHDRAWAL transactionSubtype: type: string example: SPECIFIEDAMOUNT SystematicProgramUpdate: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, can be a non-business day reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal authorizationManual: type: boolean description: Indicates manual authorization handling may apply for this submission isFractionalAmountAuthorized: type: boolean description: Indicates whether fractional amount authorization applies for this systematic program update contactMFA: $ref: '#/components/schemas/SystematicProgramContactMfa' agent: $ref: '#/components/schemas/SystematicProgramNamedParty' policyHolder: $ref: '#/components/schemas/SystematicProgramNamedParty' taxWithholdingInstructions: type: array items: $ref: '#/components/schemas/TaxWithholdingInstructions' fundAllocation: $ref: '#/components/schemas/AdhocFundAllocation' fundDistributions: type: array items: $ref: '#/components/schemas/AdhocFundDistributions' featureTransactionProduct: $ref: '#/components/schemas/FeatureTransactionProduct' submittedDate: type: string format: date-time description: When the transaction was submitted (ISO-8601) example: '2026-02-27T11:55:17Z' currency: type: string description: ISO 4217 currency code example: USD systematicProgram: $ref: '#/components/schemas/AdhocSystematicProgram' required: - effectiveDate - systematicProgram SystematicProgramQuote: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") when the transaction was originally scheduled or expected to happen, can be a non-business day reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal arrangementId: type: string example: arr_1 description: The unique ID for the systematic programs available in the policy systematicProgram: $ref: '#/components/schemas/AdhocSystematicProgram' required: - effectiveDate - systematicProgram AdhocSystematicProgram: type: object properties: paymentForm: $ref: '#/components/schemas/PaymentForm' arrangementType: $ref: '#/components/schemas/ArrangementType' amountType: $ref: '#/components/schemas/AmountType' amount: type: number format: double example: 5 description: Requested amount value fractionalAmount: type: number format: double example: 0.5 description: Fractional portion of the requested amount frequency: $ref: '#/components/schemas/Frequency' startDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") previousProgramDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") nextProgramDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") disbursementType: $ref: '#/components/schemas/DisbursementType' party: $ref: '#/components/schemas/BaseAdhocParty' parties: type: array items: $ref: '#/components/schemas/AdhocDisbursementParty' required: - paymentForm - arrangementType ReinstatementSystematicProgram: type: object properties: externalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side. referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier. externalArrangementId: type: string description: Arrangement ID from external system example: B45678 paymentForm: $ref: '#/components/schemas/PaymentForm' arrangementType: $ref: '#/components/schemas/ArrangementType' amountType: $ref: '#/components/schemas/AmountType' amount: type: number format: double example: 5 description: Requested amount value frequency: $ref: '#/components/schemas/Frequency' startDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") previousProgramDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") nextProgramDate: type: string format: date description: Date (with pattern "yyyy-mm-dd") parties: type: array items: $ref: '#/components/schemas/ReinstatementDisbursementParty' required: - paymentForm - arrangementType - frequency - amountType PaymentForm: type: string enum: - DTCC - CREDITCARD - ACH - CHECK - WIRE - EXCHANGE - EFT description: Mode of payment ArrangementType: type: string enum: - PAYMENT - WITHDRAWAL - LOANREPAYMENT - REQUIREDMINIMUMDISTRIBUTION - PAYOUT description: The type of payment such as fixed or flexible Frequency: type: string enum: - DAILY - EVERYTWOWEEKS - MONTHLY - SEMIANNUAL - BIANNUAL - QUARTERLY - ANNUAL - SINGLEPAYMENT - DEFAULT description: frequency BaseAdhocParty: type: object properties: partyId: type: string example: Party_PI_1 description: Impacted Party in the event of financial transaction bankId: type: string example: Bank_1 description: Comes in Acord 103 AddressChange: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems preferredAddressIndicator: type: string enum: - 'YES' - 'NO' description: Indicates whether the address being added should be set as default or not. reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal default: false effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") address: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date Format "yyyy-mm-dd".If provided by the user, the system will apply an end date to the address, ensuring that a new address is not generated. addressType: type: string enum: - RESIDENCE - BUSINESS - POBOX - SEASONAL - OTHER description: Address type addressLine1: type: string example: 1112 Pickle Street description: First line of address addressLine2: type: string example: South Jersey description: Second line of address addressLine3: type: string example: 1234 Post box description: Third line of address city: type: string example: Houston description: Name of the city state: type: string enum: - AL - AK - AZ - AR - CA - CO - CT - DC - DE - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY description: Abbreviated names for states zipCode: type: string example: '66636' description: zip code zipCodeExtension: type: string example: '1232' description: zip code extension country: type: string enum: - US - CA - RU - EG - ZA - GR - NL - BE - FR - ES - HU - IT - RO - CH - AT - GB - DK - SE - 'NO' - PL - DE - PE - MX - CU - AR - BR - CL - CO - VE - MY - AU - ID - PH - NZ - SG - TH - JP - VN - CN - TR - IN - PK - AF - LK - IR - MA - DZ - TN - LY - GM - SN - MR - ML - GN - BF - NE - TG - BJ - MU - LR - SL - GH - NG - CF - TD - CM - CV - ST - GQ - GA - BS - AO - BB - AX - SD - RW - ET - SO - DJ - KE - TZ - UG - BI - MZ - ZM - MG - RE - ZW - NA - MW - LS - BW - AG - KM - GW - CD - VG - SH - AW - FO - GL - KY - GI - PT - LU - IE - IS - AL - MT - CY - FI - BG - GG - LT - LV - EE - MD - AM - BY - AD - SM - UA - HR - SI - BA - MK - XK - CZ - SK - LI - BM - GD - FK - BZ - GT - SV - HN - NI - CR - PM - HT - PR - VI - GS - SX - BQ - GP - BO - GY - EC - GF - PY - MQ - SR - UY - AN - TC - BL - MF - MS - GU - AQ - BN - NR - PG - TO - SB - VU - FJ - WF - CK - NU - AS - KI - NC - TV - PF - MP - PW - MH - FM - SS - LC - DM - VC - DO - HK - MO - KH - LA - TT - KN - JM - BD - TW - MM - KR - KP - LB - JO - SY - IQ - KW - SA - YE - OM - AE - IL - BH - QA - BT - NP - TJ - TM - AZ - GE - UZ - AI - PA - CI - ER - KZ - KG - CC - MN - BV - SC - IO - WS - TL - TF - YT - PN - SJ - TK - UM - EH - MV - CX - NF - CW - CG - MC - VA - SZ - PS - JE - IM - RS - ME - HM description: Abbreviated names for countries required: - startDate - addressType - addressLine1 - city - state - zipCode - country required: - effectiveDate - address - preferredAddressIndicator EmailChange: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") email: $ref: '#/components/schemas/Email' required: - effectiveDate - email Email: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd").If provided by the user, the system will apply an end date to the emailaddress, ensuring that a new emailaddress is not generated. emailType: type: string enum: - PERSONAL - BUSINESS - CUSTOMERSERVICE - OTHER description: Email type emailAddress: type: string example: will.smith@gmail.com description: Type of the email. PERSONAL for personal emails, BUSINESS for business emails, CUSTOMERSERVICE for customer service emails, OTHER for any other type of emails. required: - startDate - emailType - emailAddress MultipleEmailChangeRequest: type: object properties: correlationId: type: string example: 91f72a12-db2d-4254-93a8-e4c9c6c98588 description: The unique ID to track transaction request across all systems caseId: type: string example: CA0000007389 description: Zinnia Live Case ID effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") emails: type: array items: $ref: '#/components/schemas/MultipleEmail' required: - effectiveDate - emails MultipleEmail: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") example: '2022-01-01' endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd").If provided by the user, the system will apply an end date to the emailaddress, ensuring that a new emailaddress is not generated. example: '2999-12-31' emailType: type: string enum: - PERSONAL - BUSINESS - CUSTOMERSERVICE - OTHER description: Email type example: PERSONAL emailAddress: type: string example: will.smith@gmail.com description: Type of the email. PERSONAL for personal emails, BUSINESS for business emails, CUSTOMERSERVICE for customer service emails, OTHER for any other type of emails. preferredEmailIndicator: type: boolean example: true description: Preferred email indicator required: - startDate - emailType - emailAddress - preferredEmailIndicator PhoneChange: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") phone: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date Format "yyyy-mm-dd".If provided by the user, the system will apply an end date to the phone number, ensuring that a new phone number is not generated. phoneType: type: string enum: - MOBILE - HOME - BUSINESS - CLAIMCENTER - CUSTOMERSERVICE - CORPORATEOFFICE - FAX - OTHER description: Phone type countryCode: type: string example: '011' description: Country code areaCode: type: string example: '973' description: Area code dialNumber: type: string example: '765789' description: Dial number extension: type: string example: 'null' description: Extension bestTime: type: string example: 'null' description: Best time timezone: type: string example: 'null' description: Timezone for the entered phone details required: - startDate - phoneType - countryCode - areaCode - dialNumber required: - effectiveDate - phone phone: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd").If provided by the user, the system will apply an end date to the phone number, ensuring that a new phone number is not generated. phoneType: type: string enum: - MOBILE - HOME - BUSINESS - CLAIMCENTER - CUSTOMERSERVICE - CORPORATEOFFICE - FAX - OTHER description: Phone type countryCode: type: string example: '011' description: Country code areaCode: type: string example: '973' description: Area code dialNumber: type: string example: '765789' description: Dial number extension: type: string example: 'null' description: Extension bestTime: type: string example: 'null' description: Best time timezone: type: string example: 'null' description: Timezone for the entered phone details required: - startDate - phoneType - countryCode - dialNumber MultiplePhoneChangeRequest: type: object properties: correlationId: type: string example: 91f72a12-db2d-4254-93a8-e4c9c6c98588 description: The unique ID to track transaction request across all systems caseId: type: string example: CA0000007389 description: Zinnia Live Case ID effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") phones: type: array items: $ref: '#/components/schemas/MultiplePhone' required: - effectiveDate - phones MultiplePhone: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd").If provided by the user, the system will apply an end date to the phone number, ensuring that a new phone number is not generated. phoneType: type: string enum: - MOBILE - HOME - BUSINESS - CLAIMCENTER - CUSTOMERSERVICE - CORPORATEOFFICE - FAX - OTHER description: Phone type example: MOBILE countryCode: $ref: '#/components/schemas/CountryCallingCodes' areaCode: type: string description: Area code example: '785' dialNumber: type: string example: 32653, 9134561234 description: Dial number extension: type: string description: Extension example: '1234' bestTime: type: string description: Best time example: Morning timezone: type: string description: Timezone for the entered phone details example: EST preferredPhoneIndicator: type: boolean example: true description: Preferred email indicator required: - startDate - phoneType - countryCode - dialNumber - preferredPhoneIndicator IdentifierChangeRequest: type: object properties: correlationId: type: string example: 91f72a12-db2d-4254-93a8-e4c9c6c98588 description: The unique ID to track transaction request across all systems caseId: type: string example: CA0000007389 description: Zinnia Live Case ID effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") identifiers: type: array items: anyOf: - $ref: '#/components/schemas/PassportIdentifier' - $ref: '#/components/schemas/StateIdIdentifier' - $ref: '#/components/schemas/DriversLicenseIdentifier' - $ref: '#/components/schemas/SsnIdentifier' - $ref: '#/components/schemas/ItinIdentifier' - $ref: '#/components/schemas/AlienRegistrationIdentifier' - $ref: '#/components/schemas/ExternalPartyIdentifier' description: Array of identifiers for this party required: - effectiveDate - identifiers IdentifierType: type: string enum: - PASSPORT - STATE_ID - DRIVERS_LICENSE - SSN - ITIN - ALIEN_REGISTRATION - EXTERNAL_PARTY_IDENTIFIER description: Type of identifier document IdentifierStatus: type: string enum: - ACTIVE - EXPIRED - SUSPENDED - REVOKED - PENDING description: Status of the identifier document example: ACTIVE Identifier: type: object required: - startDate - type - value properties: startDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") type: $ref: '#/components/schemas/IdentifierType' value: type: string description: Value of the identifier example: '123456' description: type: string description: Additional description or notes about this identifier example: identifier description source: type: string description: Source system or organization that issued this identifier example: source system ExternalIdentifier: type: object required: - type - key - value - startDate properties: startDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") type: $ref: '#/components/schemas/IdentifierType' key: type: string example: ecn description: name of the identifier document value: type: string example: '123456' description: Value of the identifier description: type: string description: Additional description or notes about this identifier example: identifier description source: type: string description: Source system or organization that issued this identifier example: source system GovernmentIssuedIdentifier: allOf: - $ref: '#/components/schemas/Identifier' - type: object properties: issueDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") expirationDate: type: string format: date pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") status: $ref: '#/components/schemas/IdentifierStatus' PassportIdentifier: allOf: - $ref: '#/components/schemas/GovernmentIssuedIdentifier' - type: object required: - countryOfIssue properties: countryOfIssue: $ref: '#/components/schemas/Country' StateIdIdentifier: allOf: - $ref: '#/components/schemas/GovernmentIssuedIdentifier' - type: object required: - jurisdiction properties: jurisdiction: $ref: '#/components/schemas/State' DriversLicenseIdentifier: allOf: - $ref: '#/components/schemas/GovernmentIssuedIdentifier' - type: object required: - jurisdiction - class properties: jurisdiction: $ref: '#/components/schemas/State' restrictions: type: array items: type: string description: List of license restrictions SsnIdentifier: allOf: - $ref: '#/components/schemas/Identifier' - type: object properties: lastFourOnly: type: boolean description: Indicates if only the last four digits are provided ItinIdentifier: allOf: - $ref: '#/components/schemas/Identifier' - type: object properties: issueYear: type: string pattern: ^\d{4}$ description: Year when the ITIN was issued AlienRegistrationIdentifier: allOf: - $ref: '#/components/schemas/GovernmentIssuedIdentifier' - type: object required: - countryOfOrigin - category properties: countryOfOrigin: $ref: '#/components/schemas/Country' category: type: string description: Immigration category or classification ExternalPartyIdentifier: allOf: - $ref: '#/components/schemas/ExternalIdentifier' BankAccountChange: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") bankAccount: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") nameOnAccount: type: string example: abcdqwe description: Name of the registered user accountStatus: type: string enum: - ACTIVEBANKACCOUNT - TERMINATEDBANKACCOUNT description: Account Status accountType: type: string enum: - CHECKING - SAVINGS - CREDITCARDACCOUNT - DEBITCARDACCOUNT - BROKERAGEACCOUNT - CERTIFICATEOFDEPOSITACCOUNT description: Account Type accountNumber: type: string example: '34567777745678' description: Account Number routingNumber: type: string example: Routing_Number description: Routing Number internationalBankAccountNumber: type: string example: ibaNumber_66 description: internationalBankAccountNumber branchName: type: string example: branch_66 description: branch name branchPhoneNumber: type: string example: '7766667777' description: Branch Phone Number branchAddress: $ref: '#/components/schemas/BranchAddress' required: - startDate - nameOnAccount - accountStatus - accountType - accountNumber - routingNumber - branchName required: - effectiveDate - bankAccount BranchAddress: type: object properties: addressType: type: string enum: - RESIDENCE - BUSINESS - POBOX - SEASONAL - OTHER description: Address type addressLine1: type: string example: 1112 Pickle Street description: First line of address addressLine2: type: string example: South Jersey description: Second line of address addressLine3: type: string example: 1234 Post box description: Third line of address city: type: string example: Houston description: Name of the city state: type: string example: TX enum: - AL - AK - AZ - AR - CA - CO - CT - DC - DE - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY description: State zipCode: type: string example: '66636' description: Preferred address indicator zipCodeExtension: type: string example: '1232' description: zip code extension country: type: string enum: - US - CA - RU - EG - ZA - GR - NL - BE - FR - ES - HU - IT - RO - CH - AT - GB - DK - SE - 'NO' - PL - DE - PE - MX - CU - AR - BR - CL - CO - VE - MY - AU - ID - PH - NZ - SG - TH - JP - VN - CN - TR - IN - PK - AF - LK - IR - MA - DZ - TN - LY - GM - SN - MR - ML - GN - BF - NE - TG - BJ - MU - LR - SL - GH - NG - CF - TD - CM - CV - ST - GQ - GA - BS - AO - BB - AX - SD - RW - ET - SO - DJ - KE - TZ - UG - BI - MZ - ZM - MG - RE - ZW - NA - MW - LS - BW - AG - KM - GW - CD - VG - SH - AW - FO - GL - KY - GI - PT - LU - IE - IS - AL - MT - CY - FI - BG - GG - LT - LV - EE - MD - AM - BY - AD - SM - UA - HR - SI - BA - MK - XK - CZ - SK - LI - BM - GD - FK - BZ - GT - SV - HN - NI - CR - PM - HT - PR - VI - GS - SX - BQ - GP - BO - GY - EC - GF - PY - MQ - SR - UY - AN - TC - BL - MF - MS - GU - AQ - BN - NR - PG - TO - SB - VU - FJ - WF - CK - NU - AS - KI - NC - TV - PF - MP - PW - MH - FM - SS - LC - DM - VC - DO - HK - MO - KH - LA - TT - KN - JM - BD - TW - MM - KR - KP - LB - JO - SY - IQ - KW - SA - YE - OM - AE - IL - BH - QA - BT - NP - TJ - TM - AZ - GE - UZ - AI - PA - CI - ER - KZ - KG - CC - MN - BV - SC - IO - WS - TL - TF - YT - PN - SJ - TK - UM - EH - MV - CX - NF - CW - CG - MC - VA - SZ - PS - JE - IM - RS - ME - HM description: Preferred address indicator CommunicationPreferenceChange: type: object properties: correlationId: type: string format: uuid example: 142f6328-0b47-412d-a1db-375e8cb81cb7 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) example: '2022-01-01' description: Date (with pattern "yyyy-mm-dd") communicationPreference: type: object properties: preferredCommunicationType: type: string enum: - EMAIL - FAX - NOPREFERENCE - OTHER - PHONE - REGULARMAIL - TEXT description: Communication Preference Type example: EMAIL text: type: string example: in-person meetings or video call id https://company.us/j/1234567890 description: If type OTHER, then provide further info using text. required: - preferredCommunicationType required: - effectiveDate - communicationPreference PartyNameChange: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") partyName: allOf: - $ref: '#/components/schemas/PartyName' required: - effectiveDate - partyName PartyName: type: object properties: firstName: type: string example: John description: First name middleName: type: string example: William description: Middle name lastName: type: string example: Doe description: Last Name fullName: type: string example: John William Doe description: Full Name prefix: type: string enum: - MR - MS - MISS - MRS description: Prefix Type suffix: type: string enum: - JR - SN - I - II - III description: Suffix Type doingBusinessAs: type: string example: TPA description: Doing Business As abbreviatedName: type: string example: AG description: Abbreviated Name PartyChange: type: object properties: correlationId: type: string description: The unique ID to track transaction request across all systems example: 5df63b47-54fc-4905-a8ff-e1c5f12e667d effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date the Party was added to the Policy customerId: type: string description: TBD example: 0017b000010N4bCAAS relationshipToInsured: type: string enum: - TRUSTEE - TRUSTEEOFMINOR - TRUSTEEOFINCOMPETENT - POWEROFATTORNEY - CONTROLLINGPERSONOFENTITY - BROTHER - CHILD - DAUGHTER - DOMESTICPARTNER - EXECUTORS - FATHER - FIANCE - GRANDCHILD - LIFEPARTNER - MOTHER - SISTER - SON - SPOUSE - STEPFATHER - STEPMOTHER - SELF - OTHER description: Option available for Owner, Payor, TPD and Beneficiary party: $ref: '#/components/schemas/Party' required: - effectiveDate - party Party: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") partyId: type: string description: Party ID at Policy Level that comes in from External source (for Everly it will be Acord 103) example: Party_PB_Primary_Bene_1 partyType: type: string enum: - Individual - Organization description: Defines Party type example individual or Organization. For Insured this should always be Individual firstName: type: string description: The first name of the party example: Karen middleName: type: string description: The middle name of the party example: Anne lastName: type: string description: The last name of the party example: Bates fullName: type: string description: Fullname of the party. Available only when PartyType is Trust/Organization example: Karen Anne Bates prefix: type: string enum: - MR - MS - MISS - MRS description: The prefix of the party party name suffix: type: string enum: - JR - SN - I - II - III description: The suffix of the party party name gender: type: string enum: - MALE - FEMALE - UNISEX description: Party gender dateOfBirth: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Party date of birth (with pattern "yyyy-mm-dd") attainedAge: type: number format: int32 description: Party age calculated by Date of Birth example: 55 birthCountry: $ref: '#/components/schemas/Country' birthState: $ref: '#/components/schemas/State' doingBusinessAs: type: string description: The name the organization is commonly known as example: TBD abbreviatedName: type: string description: TBD example: TBD organizationCode: type: string description: Code to Identify organization example: TBD entityType: type: string enum: - SOLEPROPRIETORSHIP - GENERALPARTNERSHIP - LIMITEDPARTNERSHIP - CCORPORATION - SCORPORATION - LIMITEDLIABILITYCOMPANY - CHARITABLEORGANIZATION - ESTATE - TRUST - CORPORATION description: Type of Organization Structure (Partnership, corporation etc) trustDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: The trust agreement issued date to the party trustTitle: type: string description: The title of the trustee example: TBD trustAccessCode: type: string description: Access code of the trustee example: TBD preferredCommunicationType: type: string enum: - EMAIL - MAIL - PHONE - FAX - TEXT - NONE - OTHER description: The preference of communication such as phone, email or mail text: type: string example: in-person or video call id https://company.us/j/1234567890 description: If type OTHER, then provide further info using text. preferredAddressIndicator: type: string enum: - 'YES' - 'NO' description: Indicates whether the address being added should be set as default or not. Yes - address being entered is default. formerName: $ref: '#/components/schemas/FormerName' identifications: type: array items: $ref: '#/components/schemas/Identification' addresses: type: array items: $ref: '#/components/schemas/Address' phones: type: array items: $ref: '#/components/schemas/Phone' emails: type: array items: $ref: '#/components/schemas/Email' bankDetails: type: array items: $ref: '#/components/schemas/BankAccount' beneficiaryAllocations: type: array items: $ref: '#/components/schemas/BeneficiaryAllocation' taxWithholdings: type: array items: $ref: '#/components/schemas/TaxWithholding' Country: type: string enum: - US - CA - RU - EG - ZA - GR - NL - BE - FR - ES - HU - IT - RO - CH - AT - GB - DK - SE - 'NO' - PL - DE - PE - MX - CU - AR - BR - CL - CO - VE - MY - AU - ID - PH - NZ - SG - TH - JP - VN - CN - TR - IN - PK - AF - LK - IR - MA - DZ - TN - LY - GM - SN - MR - ML - GN - BF - NE - TG - BJ - MU - LR - SL - GH - NG - CF - TD - CM - CV - ST - GQ - GA - BS - AO - BB - AX - SD - RW - ET - SO - DJ - KE - TZ - UG - BI - MZ - ZM - MG - RE - ZW - NA - MW - LS - BW - AG - KM - GW - CD - VG - SH - AW - FO - GL - KY - GI - PT - LU - IE - IS - AL - MT - CY - FI - BG - GG - LT - LV - EE - MD - AM - BY - AD - SM - UA - HR - SI - BA - MK - XK - CZ - SK - LI - BM - GD - FK - BZ - GT - SV - HN - NI - CR - PM - HT - PR - VI - GS - SX - BQ - GP - BO - GY - EC - GF - PY - MQ - SR - UY - AN - TC - BL - MF - MS - GU - AQ - BN - NR - PG - TO - SB - VU - FJ - WF - CK - NU - AS - KI - NC - TV - PF - MP - PW - MH - FM - SS - LC - DM - VC - DO - HK - MO - KH - LA - TT - KN - JM - BD - TW - MM - KR - KP - LB - JO - SY - IQ - KW - SA - YE - OM - AE - IL - BH - QA - BT - NP - TJ - TM - AZ - GE - UZ - AI - PA - CI - ER - KZ - KG - CC - MN - BV - SC - IO - WS - TL - TF - YT - PN - SJ - TK - UM - EH - MV - CX - NF - CW - CG - MC - VA - SZ - PS - JE - IM - RS - ME - HM description: Abbreviated names for countries State: type: string example: AL enum: - AL - AK - AZ - AR - CA - CO - CT - DC - DE - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY description: Abbreviated names for states FormerName: allOf: - $ref: '#/components/schemas/PartyName' Identification: type: object properties: identificationType: type: string enum: - PASSPORT - STATEPHOTOID - DRIVERSLICENSENUMBER - SOCIALSECURITYNUMBER - TAXPAYERIDENTIFICATIONNUMBER - OTHER description: The suffix of the party party name identificationValue: type: string issueState: $ref: '#/components/schemas/State' issueCountry: $ref: '#/components/schemas/Country' Address: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") addressType: type: string enum: - RESIDENCE - BUSINESS - POBOX - SEASONAL - OTHER description: Address type addressLine1: type: string example: 1112 Pickle Street description: First line of address addressLine2: type: string example: South Jersey description: Second line of address addressLine3: type: string example: 1234 Post box description: Third line of address city: type: string example: Houston description: Name of the city state: $ref: '#/components/schemas/State' zipCode: type: string example: '66636' description: zip code zipCodeExtension: type: string example: '1232' description: zip code extension country: $ref: '#/components/schemas/Country' Phone: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") phoneType: type: string enum: - MOBILE - HOME - BUSINESS - CLAIMCENTER - CUSTOMERSERVICE - CORPORATEOFFICE - FAX - OTHER description: Phone type countryCode: type: string example: '011' description: Country code areaCode: type: string example: '973' description: Area code dialNumber: type: string example: '765789' description: Dial number extension: type: string example: '131312' description: Extension bestTime: type: string example: '131312' description: Best time timezone: type: string example: '131312' description: Timezone for the entered phone details BankAccount: type: object properties: startDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") nameOnAccount: type: string example: abcdqwe description: Name of the registered user accountStatus: type: string enum: - ACTIVEBANKACCOUNT - TERMINATEDBANKACCOUNT description: Account Status accountType: type: string enum: - CHECKING - SAVINGS - CREDITCARDACCOUNT - DEBITCARDACCOUNT - BROKERAGEACCOUNT - CERTIFICATEOFDEPOSITACCOUNT description: Account Type accountNumber: type: string example: '34567777745678' description: Account Number routingNumber: type: string example: Routing_Number description: Routing Number internationalBankAccountNumber: type: string example: ibaNumber_66 description: internationalBankAccountNumber branchName: type: string example: branch_66 description: branch name branchPhoneNumber: type: string example: '7766667777' description: Branch Phone Number branchAddress: $ref: '#/components/schemas/BranchAddress' BeneficiaryAllocation: type: object properties: partyPolicyId: type: string example: Party_OW_3 description: party policy id allocationPercentage: type: number format: double example: 10 description: TBD TaxWithholding: type: object properties: appliesToPartyId: type: string description: TBD example: Party_PI_1 taxWithholdingType: type: string enum: - FEDERAL - STATE - BACKUP - NRA description: TBD taxRateToUse: type: string enum: - NOWITHHOLDINGELECTED - USEVALUESENTERED - NOWITHHOLDINGALLOWED - USEDEFAULTTABLE description: TBD filingStatus: type: string enum: - SINGLE - DEFAULT - MARRIED description: TBD dollar: type: number format: double description: TBD example: 0 percentage: type: number format: double description: TBD example: 0 exemptions: type: string description: TBD example: TBD taxJurisdiction: type: string description: TBD, but applies only for PartyType - Owner,Payee example: USA_WY FreeLookCancellation: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all systems effectiveDate: type: string format: date pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2}) description: Date (with pattern "yyyy-mm-dd") transactionAmounts: type: object properties: disbursementType: $ref: '#/components/schemas/DisbursementType' disbursementPaymentForm: $ref: '#/components/schemas/DisbursementPaymentForm' required: - disbursementType - disbursementPaymentForm payeeOrBeneficiary: type: object properties: partyId: type: string description: Pending Review by Product Team example: Party_PI_1 paymentForm: $ref: '#/components/schemas/PaymentForm' allocationPercentage: type: number format: double description: At Policy Level for Each Applicable Fund (Everly there is only one Fixed) Therefore this be 100% example: 100 bankId: type: string example: Bank_1 description: Comes in Acord 103 parties: type: array items: $ref: '#/components/schemas/AdhocDisbursementParty' reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal required: - effectiveDate - transactionAmounts - parties CountryV2: type: string example: USA description: ISO Country Code https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes enum: - USA - AFG - ALB - DZA - ASM - AND - AGO - AIA - ATA - ATG - ARG - ARM - ABW - AUS - AUT - AZE - BHS - BHR - BGD - BRB - BLR - BEL - BLZ - BEN - BMU - BTN - BOL - BES - BIH - BWA - BVT - BRA - IOT - BRN - BGR - BFA - BDI - CPV - KHM - CMR - CAN - CYM - CAF - TCD - CHL - CHN - CXR - CCK - COL - COM - COD - COG - COK - CRI - HRV - CUB - CUW - CYP - CZE - CIV - DNK - DJI - DMA - DOM - ECU - EGY - SLV - GNQ - ERI - EST - SWZ - ETH - FLK - FRO - FJI - FIN - FRA - GUF - PYF - ATF - GAB - GMB - GEO - DEU - GHA - GIB - GRC - GRL - GRD - GLP - GUM - GTM - GGY - GIN - GNB - GUY - HTI - HMD - VAT - HND - HKG - HUN - ISL - IND - IDN - IRN - IRQ - IRL - IMN - ISR - ITA - JAM - JPN - JEY - JOR - KAZ - KEN - KIR - PRK - KOR - KWT - KGZ - LAO - LVA - LBN - LSO - LBR - LBY - LIE - LTU - LUX - MAC - MDG - MWI - MYS - MDV - MLI - MLT - MHL - MTQ - MRT - MUS - MYT - MEX - FSM - MDA - MCO - MNG - MNE - MSR - MAR - MOZ - MMR - NAM - NRU - NPL - NLD - NCL - NZL - NIC - NER - NGA - NIU - NFK - MNP - NOR - OMN - PAK - PLW - PSE - PAN - PNG - PRY - PER - PHL - PCN - POL - PRT - PRI - QAT - MKD - ROU - RUS - RWA - REU - BLM - SHN - KNA - LCA - MAF - SPM - VCT - WSM - SMR - STP - SAU - SEN - SRB - SYC - SLE - SGP - SXM - SVK - SVN - SLB - SOM - ZAF - SGS - SSD - ESP - LKA - SDN - SUR - SJM - SWE - CHE - SYR - TWN - TJK - TZA - THA - TLS - TGO - TKL - TON - TTO - TUN - TUR - TKM - TCA - TUV - UGA - UKR - ARE - GBR - UMI - URY - UZB - VUT - VEN - VNM - VGB - VIR - WLF - ESH - YEM - ZMB - ZWE - ALA CountryCallingCodes: type: string description: ISO Country calling Code https://en.wikipedia.org/wiki/List_of_telephone_country_codes example: '1' enum: - '1' - '93' - '355' - '213' - 1-684 - '376' - '244' - 1-264 - '672' - 1-268 - '54' - '374' - '297' - '61' - '43' - '994' - 1-242 - '973' - '880' - 1-246 - '375' - '32' - '501' - '229' - 1-441 - '975' - '591' - '387' - '267' - '55' - '246' - '673' - '359' - '226' - '257' - '855' - '237' - '238' - 1-345 - '236' - '235' - '56' - '86' - '53' - '61' - '57' - '269' - '243' - '242' - '682' - '506' - '225' - '385' - '53' - '357' - '420' - '45' - '253' - 1-767 - 1-809 - 1-829 - '670' - '593 ' - '20' - '503' - '240' - '291' - '372' - '251' - '500' - '298' - '679' - '358' - '33' - '594' - '689' - '262' - '241' - '220' - '995' - '49' - '233' - '350' - '44' - '30' - '299' - 1-473 - '590' - 1-671 - '502' - '224' - '245' - '592' - '509' - '672' - '39' - '504' - '852' - '36' - '354' - '91' - '62' - '98' - '964' - '353' - '972' - '39' - 1-876 - '81' - '962' - '7' - '254' - '686' - '850' - '82' - '965' - '996' - '856' - '371' - '961' - '266' - '231' - '218' - '423' - '370' - '352' - '853' - '389' - '261' - '265' - '60' - '960' - '223' - '356' - '692' - '596' - '222' - '230' - '269' - '52' - '691' - '373' - '377' - '976' - 1-664 - '212' - '258' - '95' - '264' - '674' - '977' - '31' - '599' - '687' - '64' - '505' - '227' - '234' - '683' - '672' - 1-670 - '47' - '968' - '92' - '680' - '970' - '507' - '675' - '595' - '51' - '63' - '64' - '48' - '351' - 1-787 - 1-939 - '974 ' - '262' - '40' - '7' - '7' - '250' - '290' - 1-869 - 1-758 - '508' - 1-784 - '685' - '378' - '239' - '966' - '381' - '221' - '248' - '232' - '65' - '421' - '386' - '677' - '252' - '27' - '500' - '34' - '94' - '249' - '597' - '47' - '268' - '46' - '41' - '963' - '886' - '992' - '255' - '66' - '228' - '690' - '676' - 1-868 - '216' - '90' - '993' - 1-649 - '688' - '256' - '380' - '971' - '44' - '1' - '246' - '598' - '998' - '678' - '418' - '58' - '84' - 1-284 - 1-340 - '681' - '212' - '967' - '243' - '260' - '263' ReverseRecreate: type: object properties: correlationId: type: string example: 657b717b7dcf554abf9ef067 description: The unique ID to track transaction request across all Systems corrections: type: array items: $ref: '#/components/schemas/Correction' noRecreateTransactions: type: boolean description: To recreate trnsaction again or not example: false Correction: type: object properties: transactionId: type: string example: '377' amount: type: number format: double description: amount you need to correct example: 5 SuccessResponse: type: object properties: statusCode: type: integer format: int32 example: 201 timestamp: type: string format: date-time message: type: string example: Request Submitted Successfully ValidationResult: type: object properties: errorCode: type: string example: EM.035 error: type: string example: 1.) Add Transmittal Task. 2.) Pend Case 5 days. resolution: type: string example: Transmittal to licensing - agent needs to complete product training and LOB updated ValidationResponse: type: object properties: statusCode: type: integer format: int32 example: 400 timestamp: type: string format: date-time errorId: type: string example: a4a57ed0-2c1b-4922-9959-3b85dd8a96d3 message: type: string example: JSON Valdiation fails with error error: type: array items: type: string example: Mandatory attribute label missing ResourceNotFoundResponse: type: object properties: statusCode: type: integer format: int32 example: 404 timestamp: type: string format: date-time errorId: type: string example: a4a57ed0-2c1b-4922-9959-3b85dd8a96d3 message: type: string example: Resource not found error: type: array items: type: string example: Resource not found for provided input AccessDeniedResponse: type: object properties: statusCode: type: integer format: int32 example: 403 timestamp: type: integer format: int64 example: 1681395423438 errorId: type: string example: 0286d47a-7ad9-499c-8ca0-8f6634d236a3 message: type: string example: 'User is not authorized for the carrier : CarrierName_1' ServerErrorResponse: type: object properties: statusCode: type: integer format: int32 example: 500 timestamp: type: integer format: int64 example: 1681395423438 errorId: type: string example: 0286d47a-7ad9-499c-8ca0-8f6634d236a3 message: type: string example: Failed to process request TransactionReason: type: string enum: - ONETIMEPREMIUM - GRACEPERIODPREMIUM - REINSTATEMENTPREMIUM - EXCHANGE1035 - SURRENDER - AMOUNTEXCESSTOMEC - AMOUNTEXCESSTOGUIDELINE - CURRENTVALUE - COSTBASIS - GUIDELINESINGLEPREMIUM - GUIDELINELEVELPREMIUM - SEVENPAYPREMIUM - TOTALYTDPREMIUMAMOUNT - FACEDECREASECOVERAGE - INITIALPREMIUMEXPIRATION - COMPLIANCE - STARTINGPRICE description: Optional Reason for this transaction FundTransferRequest: type: object properties: caseId: type: string example: CA0000007389 description: Zinnia Live Case ID correlationId: type: string effectiveDate: type: string format: date reverseInitiator: type: boolean default: false transactionAmounts: type: object properties: amountType: $ref: '#/components/schemas/AmountType' required: - amountType fundAllocation: type: object properties: allocationOption: $ref: '#/components/schemas/AllocationOption' required: - allocationOption funds: type: object properties: transferFrom: type: array items: $ref: '#/components/schemas/AdhocFundTransferFromFund' transferTo: type: array items: $ref: '#/components/schemas/AdhocFundTransferToFund' required: - transferFrom - transferTo required: - effectiveDate - transactionAmounts - fundAllocation - funds AdhocFundTransferFromFund: type: object properties: fundId: type: string requestedAmount: type: number format: double example: 124.124213 fundSegments: type: array items: allOf: - type: object properties: segmentId: type: string - $ref: '#/components/schemas/AdhocFundTransferFundSegment' required: - fundId - requestedAmount AdhocFundTransferFundSegment: type: object properties: segmentId: type: string requestedAmount: type: number format: double example: 124.124213 AdhocFundTransferToFund: type: object properties: fundId: type: string requestedAmount: type: number format: double example: 124.124213 fundSegments: type: array items: $ref: '#/components/schemas/AdhocFundTransferFundSegment' required: - fundId - requestedAmount TransactionModelResponse: type: object description: Model for a transaction with detailed information. properties: recordId: type: string description: Unique identifier for the transaction record. correlationId: type: string description: Correlation ID associated with the transaction. transactionType: type: string description: Type of transaction. carrier: type: string description: Carrier associated with the transaction. source: type: string description: Source of the transaction. entityType: type: string description: Type of the entity involved. entityId: type: string description: Unique identifier for the entity. entity: type: object description: Actual entity information as JSON Object. expireTs: type: string format: date-time description: Expiration timestamp for the transaction. createdTs: type: string format: date-time description: Timestamp when the transaction was created. updatedTs: type: string format: date-time description: Timestamp when the transaction was last updated. createdBy: type: string description: User or system that created the transaction. updatedBy: type: string description: User or system that last updated the transaction. identifiers: type: array description: List of identifiers related to the transaction. items: $ref: '#/components/schemas/Identifiers' Identifiers: type: object description: Identifier model with key-value pair. properties: identifier: type: string description: Identifier key. value: type: string description: Identifier value. ReinstatementQuoteResponse: type: object properties: correlationId: type: string description: Correlation ID from the request example: string policy: type: object description: Complete policy information with quote details properties: effectiveDate: type: string format: date example: '2025-09-23' coverage: type: object properties: totalCoverageAmount: type: number example: 0 cumulativeGrossDeathBenefitAmount: type: number example: 0 netDeathBenefit: type: number example: 0 remainingDeathBenefitAmount: type: number example: 0 minimumCoverageAmount: type: number example: 0 maximumCoverageAmount: type: number example: 0 coverageChangeEffectiveDate: type: string format: date example: '2025-09-23' coverageBand: type: string example: BAND1 maximumAnnualCoverageChangeAllowedPerPolicy: type: number example: 0 minimumCoverageDecreaseAmount: type: number example: 0 maximumCoverageDecreaseAmount: type: number example: 0 maximumAgeNumberCoverageAmountDecrease: type: number example: 0 coverageAmountDecreaseAllowed: type: number example: 0 minimumCoverageIncreaseAmount: type: number example: 0 maximumCoverageIncreaseAmount: type: number example: 0 maximumAgeNumberCoverageAmountIncrease: type: number example: 0 coverageAmountIncreaseAllowed: type: number example: 0 coverageLayers: type: array items: type: object properties: coverageParticipants: type: array items: type: object properties: flatExtra: type: array items: type: object properties: flatExtraType: type: string example: TEMPORARY flatExtraDuration: type: number example: 0 flatExtraAmount: type: number example: 0 flatExtraStartDate: type: string format: date example: '2025-09-23' partyId: type: string example: string issueAge: type: number example: 0 partyAgeAtIssue: type: number example: 0 riskClass: type: string example: ULTRANONTOBACCO substandardRating: type: string example: TABLEA coverageId: type: string example: string coverageType: type: string example: BASE coverageName: type: string example: string productCode: type: string example: string coverageTerm: type: number example: 0 approvedCoverageAmount: type: number example: 0 currentAmount: type: number example: 0 originalCoverageAmount: type: number example: 0 minimumCoverageAmount: type: number example: 0 maximumCoverageAmount: type: number example: 0 grossDeathBenefitAmount: type: number example: 0 lowDeathBenefitAmount: type: number example: 0 coverageChangeAmount: type: number example: 0 coverageEffectiveDate: type: string format: date example: '2025-09-23' coverageChangeEffectiveDate: type: string format: date example: '2025-09-23' coverageTerminationDate: type: string format: date example: '2025-09-23' unitOfCoverage: type: number example: 0 valuePerUnitOfCoverage: type: number example: 0 guidelineSinglePremium: type: number example: 0 guidelineLevelPremium: type: number example: 0 sevenPayPremium: type: number example: 0 modalPremium: type: number example: 0 coverageTargetPremium: type: number example: 0 annualPremium: type: number example: 0 riders: type: array items: type: object properties: type: type: string example: BASE riderName: type: string example: string riderElected: type: string example: string riderCode: type: string example: string remainingBenefit: type: number example: 0 additionalBenefitUsedUp: type: boolean example: true totalBenefit: type: number example: 0 payoutOption: type: string example: SINGLE benefitPercent: type: number example: 0 annualBenefitLimit: type: number example: 0 currentAnnualLimit: type: number example: 0 remainingAnnualLimit: type: number example: 0 hypotheticalAnnualLimit: type: number example: 0 effectiveDate: type: string format: date example: '2025-09-23' exerciseDate: type: string format: date example: '2025-09-23' terminationDate: type: string format: date example: '2025-09-23' lastResetDate: type: string format: date example: '2025-09-23' phase: type: string example: ACCUMULATION status: type: string example: ACTIVE base: type: object properties: currentBase: type: number example: 0 ratchetBase: type: number example: 0 growthBase: type: number example: 0 deferralBonus: type: number example: 0 deferralBonusBase: type: number example: 0 simpleInterestBase: type: number example: 0 amount: type: number example: 0 charge: type: object properties: riderExerciseCharge: type: number example: 0 riderExerciseChargeRate: type: number example: 0 maximumChronicIllnessBenefitPercentage: type: number example: 0 maximumPeriodicPaymentPeriod: type: number example: 0 claimStatus: type: boolean example: true nextEvaluationDate: type: string format: date example: '2025-09-23' riderPaymentDate: type: string format: date example: '2025-09-23' terminalRiderPaymentAmount: type: number example: 0 qualifiedAdditionalBenefit: type: boolean example: true underwritingStatus: type: string example: BASE unbornChildIndicator: type: boolean example: true systematicPrograms: type: array items: type: object properties: arrangementType: type: string example: PAYMENT arrangementId: type: string example: string externalArrangementId: type: string example: string allocationOptionType: type: string example: PRORATA reason: type: string example: PREMIUM numberOfOccurrence: type: number example: 0 disbursementType: type: string example: GROSS status: type: string example: ACTIVE paymentForm: type: string example: DTCC frequency: type: string example: DAILY requestedDate: type: string format: date example: '2025-09-23' startDate: type: string format: date example: '2025-09-23' endDate: type: string format: date example: '2025-09-23' amountType: type: string example: AMOUNT amount: type: number example: 0 policyFeatures: type: array items: type: object properties: reducedPaidUpFaceAmount: type: number example: 0 featureType: type: string example: FREELOOK featureIndicator: type: boolean example: true featureOption: type: string example: LIFEONLY startDate: type: string format: date example: '2025-09-23' endDate: type: string format: date example: '2025-09-23' status: type: boolean example: true period: type: number example: 0 effectiveDate: type: string format: date example: '2025-09-23' totalRequiredAmount: type: number example: 0 totalMinimumRequiredAmount: type: number example: 0 paymentAmount: type: number example: 0 exclusionAmount: type: number example: 0 yearToDatePaymentAmount: type: number example: 0 exclusionRatio: type: number example: 0 totalPaymentAmount: type: number example: 0 underwritingDecision: type: boolean example: true approvalDate: type: string format: date example: '2025-09-23' jointLivesPercentageToSurvivor: type: number example: 0 frequency: type: string example: DAILY paymentForm: type: string example: DTCC featureId: type: string example: string featureSubType: type: string example: MULTIPLEPOLICYDISCOUNT id: type: string example: string event: type: string example: string carrierId: type: string example: string policyReferenceId: type: string example: string thirdPartyAdministratorId: type: string example: string commissionOption: type: string example: OPTIONA policySource: type: string example: string policySourceDescription: type: string example: string product: type: object properties: lineOfBusiness: type: string example: LIFE planName: type: string example: string productType: type: string example: WHOLELIFE marketingName: type: string example: string shortName: type: string example: string distribution: type: string example: WIREHOUSE planCode: type: string example: string generalLedgerPlanCode: type: string example: string holdingForm: type: string example: INDIVIDUAL renewable: type: string example: string productVersion: type: string example: string policyTerm: type: number example: 0 policyYear: type: number example: 0 monthOfYear: type: number example: 0 policyNumber: type: string example: string policyStatus: type: string example: PENDINGISSUED restrictStatus: type: string example: LEGAL issueType: type: string example: FULLUNDERWRITING parentPolicyNumber: type: string example: string priorPolicyNumber: type: string example: string issueState: type: string example: AA currency: type: string example: USD fixedCostPeriod: type: number example: 0 discountType: type: string example: POLICYFEE policyDates: type: object properties: policyStartDate: type: string format: date example: '2025-09-23' applicationDate: type: string format: date example: '2025-09-23' issueDate: type: string format: date example: '2025-09-23' maturityDate: type: string format: date example: '2025-09-23' nextAnniversaryDate: type: string format: date example: '2025-09-23' accountValues: type: object properties: beginningAccountValue: type: number example: 0 endingAccountValue: type: number example: 0 surrenderValue: type: number example: 0 cumulativePremiumSinceIssue: type: number example: 0 annualTargetPremium: type: number example: 0 loanValues: type: object properties: totalLoanBalance: type: number example: 0 totalLoanPrincipal: type: number example: 0 loanPayoffAmount: type: number example: 0 maximumLoanAmount: type: number example: 0 timestamp: type: string format: date-time example: '2025-09-23T03:02:45.838Z' version: type: number example: 0 deathBenefit: type: object properties: deathBenefitOption: type: string example: LEVEL deathBenefitOptionEffectiveDate: type: string format: date example: '2025-09-23' claimStatus: type: string example: APPROVED proofOfDeathReceived: type: boolean example: true charges: type: array items: type: object properties: chargeType: type: string example: COSTOFINSURANCE coverageId: type: string example: string currentMonthCharge: type: number example: 0 uncollectedPerCharge: type: number example: 0 cumulativePerCharge: type: number example: 0 ReinstatementSubmitRequest: type: object required: - correlationId - effectiveDate - policy - transactionAmounts - systematicProgram - caseId properties: correlationId: type: string description: The unique ID to track transaction request across all systems example: 657b717b7dcf554abf9ef067 effectiveDate: type: string format: date description: Date when the transaction was originally scheduled or expected to happen. It can be a non-business day example: '2023-01-01' reverseInitiator: type: boolean description: Property to isolate source transaction(s) that initiated the reversal default: false policy: type: object required: - policyFeatures description: Policy information properties: policyFeatures: type: array items: type: object properties: featureType: type: string example: REINSTATEMENT approvalDate: type: string format: date example: '2025-08-26' effectiveDate: type: string format: date example: '2025-08-26' underwritingDecision: type: string example: APPROVED transactionAmounts: type: object description: Transaction amounts information properties: externalIdentifiers: type: object properties: externalTransactionId: type: string description: The unique ID to identify transaction on carrier side. example: AWRT123 referenceNumber: type: string description: The unique payment reference number for all premium-related transactions by carrier. example: AWRT123 parties: type: array items: type: object properties: paymentForm: type: string example: DTCC partyRole: type: string example: PAYOR requestedAmount: type: number example: 0 systematicProgram: type: object description: Systematic program information properties: paymentForm: type: string example: DTCC arrangementType: type: string example: PAYMENT amountType: type: string example: AMOUNT amount: type: number example: 0 frequency: type: string example: DAILY externalIdentifiers: type: object properties: externalArrangementId: type: string example: AWRT123 caseId: type: string description: Zinnia Live Case ID example: CA0000007389 ReinstatementErrorResponse: type: object properties: status: type: string description: Status of the request example: string errors: type: array items: type: object properties: errorCode: type: string description: Error code example: string attribute: type: string description: Attribute related to the error example: string error: type: string description: Error description example: string resolution: type: string description: Resolution suggestion example: string ReinstatementRequestQuote: type: object required: - correlationId - effectiveDate - policy properties: correlationId: type: string description: Correlation ID for tracking the request example: string effectiveDate: type: string format: date description: Effective date for the quote example: '2025-09-18' reverseInitiator: type: boolean description: Reverse initiator flag example: false externalIdentifiers: type: array items: type: object properties: externalTransactionId: type: string example: string referenceNumber: type: string example: string policy: type: object description: Policy information for quote properties: policyFeatures: type: array items: type: object properties: featureType: type: string example: FREELOOK approvalDate: type: string format: date example: '2025-09-18' AuthorizationStatusRequest: type: object required: - recordId - correlationId - caseId - policyNumber - authorizationStatus - actionTimestamp properties: recordId: type: string description: Unique record ID (maps to transactionID) example: 546bed32-a8b6-43dc-8772-cefb1d469b1d correlationId: type: string description: Correlation ID linking BPM - MPV transaction example: 468cd184-fb43-4a20-aa8c-23df99c0a353 caseId: type: string description: Case identifier within BPM example: CA0000487609 policyNumber: type: string description: Policy Number associated with the transaction example: FM00000001 authorizationStatus: type: string enum: - APPROVED - DENIED description: Policy Holder Authorization Status example: APPROVED actionTakenBy: type: string description: Name of Policy Holder example: Flora Anderson actionTimestamp: type: string format: date-time description: Generated at Time example: '2025-06-02T10:45:00Z' source: type: string description: Source system sending the callback default: MPV example: My Policy View AuthorizationStatusResponse: type: object properties: status: type: integer example: 200 ErrorResponse: type: object properties: status: type: integer example: 404 message: type: string example: 'Invalid or missing request field: correlationId' PPFAIntegratedDataResponse: type: object properties: id: type: string description: Unique identifier example: 678f1a2b3c4d5e6f7890abcd planName: type: string description: Name of the plan example: Variable Annuity Premier Growth Plan policyProductType: $ref: '#/components/schemas/CodeDisplayName' featureMapping: $ref: '#/components/schemas/CodeDisplayName' featureCode: type: string description: Feature code example: PARTIAL_WD_001 arrangementType: $ref: '#/components/schemas/CodeDisplayName' arrangementSubType: $ref: '#/components/schemas/CodeDisplayName' transactionType: type: array description: List of transaction types items: $ref: '#/components/schemas/CodeDisplayName' transactionSubtypes: type: array description: Complete transaction subtypes with all arrangement details (filtered by VI restrictions) items: $ref: '#/components/schemas/TransactionSubtype' paymentMode: $ref: '#/components/schemas/CodeDisplayName' paymentMethod: type: array description: Available payment methods items: $ref: '#/components/schemas/CodeDisplayName' fundDisbursementType: type: array description: Fund disbursement types items: $ref: '#/components/schemas/CodeDisplayName' disbursementTypes: type: array description: Applicable disbursement types from VI items: type: string example: - Gross - Net sourceTransferAmtType: type: array description: Source transfer amount types items: $ref: '#/components/schemas/CodeDisplayName' amountQualifier: type: array description: Amount qualifiers items: $ref: '#/components/schemas/CodeDisplayName' taxRateBasedOn: $ref: '#/components/schemas/CodeDisplayName' taxWithholdingCollect: $ref: '#/components/schemas/CodeDisplayName' taxWithholdingPlace: $ref: '#/components/schemas/CodeDisplayName' withholdStateIfFederalInd: $ref: '#/components/schemas/CodeDisplayName' taxJurisdiction: $ref: '#/components/schemas/CodeDisplayName' taxMinPercentage: type: string description: Minimum tax percentage example: '0' taxMaxPercentage: type: string description: Maximum tax percentage example: '100' taxTransferAmtType: type: string description: Tax transfer amount type example: PERCENT jurisdiction: $ref: '#/components/schemas/CodeDisplayName' effectiveDateDuration: $ref: '#/components/schemas/EffectiveDateDuration' featureMaxNumInstances: type: number description: Maximum feature instances example: 12 minContractAmt: type: number description: Minimum contract amount example: 1000 maxNumSourceInvestProd: type: number description: Maximum source investment products example: 10 minNumSourceInvestments: type: number description: Minimum source investments example: 1 featureProductCode: $ref: '#/components/schemas/CodeDisplayName' featureProductInfo: type: array description: Feature product information items: type: object actionTypeAllowed: type: array description: Allowed action types items: $ref: '#/components/schemas/CodeDisplayName' planCode: type: string description: Plan code example: '534222609' viAmounts: $ref: '#/components/schemas/ViAmounts' viFunds: type: array description: VI-derived fund information with withdrawal eligibility items: $ref: '#/components/schemas/ViFund' TransactionSubtype: type: object description: Complete transaction subtype with all arrangement and fund details, enriched with VI 21209 real-time amounts properties: transactionSubtype: type: string description: Transaction subtype name example: Partial Withdrawal transactionSubtypeCode: type: string description: Transaction subtype code example: PARTIAL_WD amount: type: number format: double nullable: true description: 'Amount associated with this transaction subtype from VI 21209 response. Maps transaction subtypes to their corresponding VI amounts: - INTEREST_ONLY → interestOnlyAmount - RMD → rmdAmount - RIDER_FREE → riderFreeAmount - FREE_AVAILABLE → freeAvailableAmount (surrenderValueWithoutMarketValueAdjustment) - SURRENDER_FREE_ATD → surrenderFreeAmountATD (freeWithdrawalAmount) - SURRENDER/PARTIAL → surrenderValue Null if VI data is not available or amount is zero. ' example: 5000 minTransactionAmt: type: string description: Minimum transaction amount example: '100.00' maxTransactionAmt: type: string description: Maximum transaction amount example: '50000.00' minPercentage: type: string description: Minimum percentage allowed example: '1' maxPercentage: type: string description: Maximum percentage allowed example: '100' minRemainingBalanceAmt: type: string description: Minimum remaining balance amount after transaction example: '500.00' minContractAmt: type: number description: Minimum contract amount example: 1000 fundDisbursementType: type: array description: Fund disbursement types (Pro Rata, Specific Fund, etc.) items: $ref: '#/components/schemas/CodeDisplayName' example: - code: PRO_RATA displayName: Pro Rata - code: SPECIFIC_FUND displayName: Specific Fund sourceTransferAmtType: type: array description: Source transfer amount types (Dollar Amount, Percentage, Units) items: $ref: '#/components/schemas/CodeDisplayName' example: - code: DOLLAR displayName: Dollar Amount - code: PERCENT displayName: Percentage - code: UNITS displayName: Units amountQualifier: type: array description: Amount qualifiers (Gross, Net) items: $ref: '#/components/schemas/CodeDisplayName' example: - code: GROSS displayName: Gross - code: NET displayName: Net paymentMode: $ref: '#/components/schemas/CodeDisplayName' paymentMethod: type: array description: Available payment methods for this subtype items: $ref: '#/components/schemas/CodeDisplayName' example: - code: CHECK displayName: Check - code: EFT displayName: Electronic Funds Transfer - code: WIRE displayName: Wire Transfer taxRateBasedOn: $ref: '#/components/schemas/CodeDisplayName' taxWithholdingCollect: $ref: '#/components/schemas/CodeDisplayName' taxWithholdingPlace: $ref: '#/components/schemas/CodeDisplayName' withholdStateIfFederalInd: $ref: '#/components/schemas/CodeDisplayName' taxJurisdiction: $ref: '#/components/schemas/CodeDisplayName' taxMinPercentage: type: string description: Minimum tax withholding percentage example: '0' taxMaxPercentage: type: string description: Maximum tax withholding percentage example: '100' taxTransferAmtType: type: string description: Tax transfer amount type example: PERCENT availableCalendarDate: type: string description: Available calendar date example: '2024-01-01' minDuration: type: number description: Minimum duration value example: 1 minDurationQualifier: $ref: '#/components/schemas/CodeDisplayName' maxDuration: type: number description: Maximum duration value example: 365 maxDurationQualifier: $ref: '#/components/schemas/CodeDisplayName' effectiveDateDuration: $ref: '#/components/schemas/EffectiveDateDuration' jurisdictionEffectiveDate: type: string description: Jurisdiction effective date example: '2024-01-01' saleEffectiveDate: type: string description: Sale effective date example: '2024-01-01' saleExpirationDate: type: string description: Sale expiration date example: '2025-12-31' featureCode: type: string description: Feature code example: PARTIAL_WD_001 featureMaxNumInstances: type: number description: Maximum number of feature instances example: 12 featureProductCode: $ref: '#/components/schemas/CodeDisplayName' featureProductInfo: type: array description: Feature product information items: type: object maxNumSourceInvestProd: type: number description: Maximum number of source investment products example: 10 minNumSourceInvestments: type: number description: Minimum number of source investments example: 1 actionTypeAllowed: type: array description: Allowed action types items: $ref: '#/components/schemas/CodeDisplayName' jurisdiction: $ref: '#/components/schemas/CodeDisplayName' arrangementType: $ref: '#/components/schemas/CodeDisplayName' arrangementSubType: $ref: '#/components/schemas/CodeDisplayName' EffectiveDateDuration: type: object description: Effective date duration with min/max values in days properties: minDays: type: integer description: Minimum duration in days example: 1 maxDays: type: integer description: Maximum duration in days example: 365 CodeDisplayName: type: object description: Generic code/displayName object properties: code: type: string description: Code value example: WD displayName: type: string description: Display name example: Withdrawal ViAmounts: type: object nullable: true description: 'VI-derived amount values for withdrawal rule evaluation. Contains real-time policy values from VI 21209 response. ' properties: interestOnlyAmount: type: number format: decimal nullable: true description: Interest-only withdrawal amount example: 500 rmdAmount: type: number format: decimal nullable: true description: Required Minimum Distribution amount example: 1000 riderFreeAmount: type: number format: decimal nullable: true description: Rider free amount example: 200 freeAvailableAmount: type: number format: decimal nullable: true description: Free available amount (surrenderValueWithoutMarketValueAdjustment) example: 300 surrenderFreeAmountATD: type: number format: decimal nullable: true description: Surrender-free amount year-to-date example: 400 surrenderValue: type: number format: decimal nullable: true description: Total surrender value example: 10000 policyValue: type: number format: decimal nullable: true description: Total policy value example: 50000 ViFund: type: object description: VI-derived fund information with withdrawal eligibility properties: fundCode: type: string description: Fund identifier (ProductCode) example: ABAF fundKey: type: string description: Fund key (SubAccountKey) example: SUB123 fundName: type: string description: Fund name example: LVIP American Balanced Allocation Fund withdrawalsAllowed: type: boolean nullable: true description: Whether withdrawals are allowed from this fund example: true totalValue: type: number format: decimal nullable: true description: Total value of the fund example: 5000 availableFundsAmount: type: number format: decimal nullable: true description: Available funds amount example: 4500 numberOfUnits: type: number format: decimal nullable: true description: Number of units held example: 100.25 fundRestrictReason: type: string nullable: true description: Fund restriction reason if any example: null isTransferSendAllowed: type: boolean nullable: true description: Whether transfer send is allowed example: true isTransferDestinationAllowed: type: boolean nullable: true description: Whether fund can be a transfer destination example: true InitialDeathClaimRequest: type: object required: - effectiveDate - transactionReason - parties - deathNotification properties: correlationId: type: string description: Unique identifier used by every system to trace the request example: 3a2a3435-2089-4b81-9959-e0d569ccf4f0 effectiveDate: type: string format: date example: '2025-12-15' description: Date (with pattern "yyyy-mm-dd") when the death claim transaction was originally scheduled or expected to happen. It can be a non-business day transactionReason: type: string enum: - DEATH_NOTIFICATION description: Reason for the transaction example: DEATH_NOTIFICATION externalIdentifiers: type: object properties: externalTransactionId: type: string example: EXT-TXN-20251215-001 referenceNumber: type: string example: REF-20251215-001 policy: $ref: '#/components/schemas/DeathClaimPolicy' parties: type: array items: $ref: '#/components/schemas/DeathClaimParty' deathNotification: $ref: '#/components/schemas/DeathNotification' documents: type: array description: Supporting documents associated with the death claim (e.g. certified death certificate). items: $ref: '#/components/schemas/DeathClaimDocument' riderClaim: type: array description: Rider claims applicable to the policy. Each entry links the elected rider to the party it applies to. items: $ref: '#/components/schemas/DeathClaimRiderClaim' DeathClaimPolicy: type: object required: - policyNumber - productType - lineOfBusiness properties: policyNumber: type: string example: POL-20251215-001 productType: type: string description: Type of product example: FIXEDINDEXEDANNUITY lineOfBusiness: type: string enum: - LIFE - ANNUITY description: Line of business example: LIFE isContestable: type: boolean description: Indicates whether the policy is within the contestability period at the time of death. example: true isFuneralHomeAssigned: type: boolean description: Indicates whether a funeral home has been assigned against the policy. example: false DeathClaimParty: type: object required: - partyId - partyRole - partyType properties: partyId: type: string description: Unique identifier for the party example: 2f356dcc-303d-4fc0-94a2-5369fb62642a partyRole: type: string enum: - INSURED - OWNER - JOINTOWNER - ANNUITANT - JOINTANNUITANT - PRIMARYBENEFICIARY - CONTINGENTBENEFICIARY - COVEREDINSURED - PRIMARYSERVICINGAGENT - OTHER example: PRIMARYBENEFICIARY partyType: type: string enum: - INDIVIDUAL - ORGANIZATION example: INDIVIDUAL relationshipToInsured: type: string enum: - SPOUSE - CHILD - PARENT - SIBLING - BROTHER - SISTER - OTHER example: SPOUSE isNotifier: type: boolean description: Indicates whether this party is the notifier of the death claim. example: true personalInformation: $ref: '#/components/schemas/PersonalInformation' partyCommunication: type: string enum: - REGULARMAIL - EMAIL - PHONE identifiers: type: array items: $ref: '#/components/schemas/PartyIdentifier' address: $ref: '#/components/schemas/PartyAddress' phoneNumber: $ref: '#/components/schemas/PartyPhoneNumber' email: $ref: '#/components/schemas/PartyEmail' PersonalInformation: type: object properties: firstName: type: string example: Jane middleName: type: string example: Marie lastName: type: string example: Smith suffix: type: string example: Jr. prefix: type: string example: Ms. dateOfBirth: type: string format: date example: '1990-01-01' description: Date (with pattern "yyyy-mm-dd") gender: type: string enum: - MALE - FEMALE - OTHER birthSex: type: string enum: - MALE - FEMALE birthCountry: type: string example: US citizenCountry: type: string example: US PartyIdentifier: type: object properties: type: type: string enum: - SSN - EIN - TIN value: type: string example: 123-45-6789 description: type: string example: Social Security Number source: type: string example: SSA issueDate: type: string format: date example: '2015-01-01' description: Date (with pattern "yyyy-mm-dd") expirationDate: type: string format: date nullable: true example: '2070-01-01' description: Date (with pattern "yyyy-mm-dd") status: type: string enum: - ACTIVE - INACTIVE example: ACTIVE countryOfIssue: type: string example: US PartyAddress: type: object properties: preferredAddressId: type: string example: '1' addresses: type: array items: $ref: '#/components/schemas/AddressDetail' AddressDetail: type: object properties: addressId: type: string example: '1' startDate: type: string format: date example: '2026-05-13' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date nullable: true description: Date (with pattern "yyyy-mm-dd"). Omit or send JSON null when not applicable. addressType: type: string enum: - RESIDENCE - MAILING - BUSINESS - OTHER - SEASONAL example: RESIDENCE addressLine1: type: string example: 1112 Pickle Street addressLine2: type: string example: South Jersey addressLine3: type: string example: 1234 Post box city: type: string example: Garden City state: type: string enum: - AL - AK - AZ - AR - CA - CO - CT - DC - DE - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY description: Abbreviated names for states zipCode: type: string example: '67846' zipCodeExtension: type: string example: '23' country: type: string enum: - US - CA - RU - EG - ZA - GR - NL - BE - FR - ES - HU - IT - RO - CH - AT - GB - DK - SE - 'NO' - PL - DE - PE - MX - CU - AR - BR - CL - CO - VE - MY - AU - ID - PH - NZ - SG - TH - JP - VN - CN - TR - IN - PK - AF - LK - IR - MA - DZ - TN - LY - GM - SN - MR - ML - GN - BF - NE - TG - BJ - MU - LR - SL - GH - NG - CF - TD - CM - CV - ST - GQ - GA - BS - AO - BB - AX - SD - RW - ET - SO - DJ - KE - TZ - UG - BI - MZ - ZM - MG - RE - ZW - NA - MW - LS - BW - AG - KM - GW - CD - VG - SH - AW - FO - GL - KY - GI - PT - LU - IE - IS - AL - MT - CY - FI - BG - GG - LT - LV - EE - MD - AM - BY - AD - SM - UA - HR - SI - BA - MK - XK - CZ - SK - LI - BM - GD - FK - BZ - GT - SV - HN - NI - CR - PM - HT - PR - VI - GS - SX - BQ - GP - BO - GY - EC - GF - PY - MQ - SR - UY - AN - TC - BL - MF - MS - GU - AQ - BN - NR - PG - TO - SB - VU - FJ - WF - CK - NU - AS - KI - NC - TV - PF - MP - PW - MH - FM - SS - LC - DM - VC - DO - HK - MO - KH - LA - TT - KN - JM - BD - TW - MM - KR - KP - LB - JO - SY - IQ - KW - SA - YE - OM - AE - IL - BH - QA - BT - NP - TJ - TM - AZ - GE - UZ - AI - PA - CI - ER - KZ - KG - CC - MN - BV - SC - IO - WS - TL - TF - YT - PN - SJ - TK - UM - EH - MV - CX - NF - CW - CG - MC - VA - SZ - PS - JE - IM - RS - ME - HM description: Abbreviated names for countries isPreferred: type: boolean example: true PartyPhoneNumber: type: object properties: preferredPhoneId: type: string example: '1' phones: type: array items: $ref: '#/components/schemas/PhoneDetail' PhoneDetail: type: object properties: phoneId: type: string example: '1' startDate: type: string format: date example: '2026-05-13' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date nullable: true description: Date (with pattern "yyyy-mm-dd"). Omit or send JSON null when not applicable. phoneType: type: string enum: - MOBILE - HOME - WORK example: MOBILE countryCode: type: string example: '1' areaCode: type: string example: '973' dialNumber: type: string example: '7657890' extension: type: string nullable: true description: Omit or send JSON null when not applicable. bestTime: type: string nullable: true description: Omit or send JSON null when not applicable. timezone: type: string nullable: true description: Omit or send JSON null when not applicable. isPreferred: type: boolean example: true PartyEmail: type: object properties: preferredEmailId: type: string example: '1' emails: type: array items: $ref: '#/components/schemas/EmailDetail' EmailDetail: type: object properties: emailId: type: string example: '1' startDate: type: string format: date example: '2026-05-13' description: Date (with pattern "yyyy-mm-dd") endDate: type: string format: date nullable: true description: Date (with pattern "yyyy-mm-dd"). Omit or send JSON null when not applicable. emailType: type: string enum: - PERSONAL - WORK - BUSINESS - CUSTOMERSERVICE - OTHER example: PERSONAL emailAddress: type: string format: email example: informant@example.com description: Type of the email. PERSONAL for personal emails, BUSINESS for business emails, CUSTOMERSERVICE for customer service emails, OTHER for any other type of emails. isPreferred: type: boolean example: true DeathNotification: type: object required: - partyId - notificationReceivedDate - claimStatus - deathDetails properties: partyId: type: string description: Identifier of the deceased party. Must match the partyId of one of the parties in the request. example: 2f4c4f6d-7b3e-4d0d-b9e8-8f3a4f0c2201 partyRole: type: string enum: - INSURED - OWNER - JOINTOWNER - PRIMARYBENEFICIARY - ANNUITANT - COVEREDINSURED description: Role held by the deceased party on the policy. example: INSURED notificationReceivedDate: type: string format: date example: '2025-12-15' description: Date (with pattern "yyyy-mm-dd") proofOfDeathReceived: type: boolean example: false certifiedReceivedDate: type: string format: date example: '2025-12-15' description: Date (with pattern "yyyy-mm-dd") claimStatus: type: string enum: - PENDING - APPROVED - DENIED - IN_PROGRESS example: PENDING deathDetails: $ref: '#/components/schemas/DeathDetails' DeathDetails: type: object properties: dateOfDeath: type: string format: date example: '2025-12-15' description: Date (with pattern "yyyy-mm-dd") locationOfDeath: type: string example: Newark, NJ countryOfDeath: type: string enum: - US - CA - RU - EG - ZA - GR - NL - BE - FR - ES - HU - IT - RO - CH - AT - GB - DK - SE - 'NO' - PL - DE - PE - MX - CU - AR - BR - CL - CO - VE - MY - AU - ID - PH - NZ - SG - TH - JP - VN - CN - TR - IN - PK - AF - LK - IR - MA - DZ - TN - LY - GM - SN - MR - ML - GN - BF - NE - TG - BJ - MU - LR - SL - GH - NG - CF - TD - CM - CV - ST - GQ - GA - BS - AO - BB - AX - SD - RW - ET - SO - DJ - KE - TZ - UG - BI - MZ - ZM - MG - RE - ZW - NA - MW - LS - BW - AG - KM - GW - CD - VG - SH - AW - FO - GL - KY - GI - PT - LU - IE - IS - AL - MT - CY - FI - BG - GG - LT - LV - EE - MD - AM - BY - AD - SM - UA - HR - SI - BA - MK - XK - CZ - SK - LI - BM - GD - FK - BZ - GT - SV - HN - NI - CR - PM - HT - PR - VI - GS - SX - BQ - GP - BO - GY - EC - GF - PY - MQ - SR - UY - AN - TC - BL - MF - MS - GU - AQ - BN - NR - PG - TO - SB - VU - FJ - WF - CK - NU - AS - KI - NC - TV - PF - MP - PW - MH - FM - SS - LC - DM - VC - DO - HK - MO - KH - LA - TT - KN - JM - BD - TW - MM - KR - KP - LB - JO - SY - IQ - KW - SA - YE - OM - AE - IL - BH - QA - BT - NP - TJ - TM - AZ - GE - UZ - AI - PA - CI - ER - KZ - KG - CC - MN - BV - SC - IO - WS - TL - TF - YT - PN - SJ - TK - UM - EH - MV - CX - NF - CW - CG - MC - VA - SZ - PS - JE - IM - RS - ME - HM description: Abbreviated names for countries causeOfDeath: type: string enum: - NATURALDEATH - ACCIDENT - SUICIDE - HOMICIDE - PENDINGINVESTIGATION - UNKNOWN description: Manner or cause of the death, when known. example: NATURALDEATH DeathClaimDocument: type: object properties: documentType: type: string description: Type of the supporting document. example: DEATH_CERTIFICATE documentName: type: string description: Human-readable name of the document. example: Certified Death Certificate - John Smith documentId: type: string description: Identifier of the document in the Enterprise Document Store (EDS). example: EDS-DOC-987654321 DeathClaimRiderClaim: type: object properties: riderCode: type: string description: Code identifying the rider on the policy. example: CHILD_TERM riderName: type: string description: Display name of the rider. example: Child Term Rider riderElected: type: boolean description: Whether the rider was elected on the policy. example: true partyId: type: string description: Identifier of the party the rider claim applies to. Must match the partyId of one of the parties in the request. example: 4a2d8c01-9a1d-4f35-8f0b-3e6d3b7d3301 Outgoingfundtransfer: type: object properties: planCode: type: string example: TEST8 correlationId: type: string example: oft-corr-001 partyId: type: string example: owner-party-id-001 policyNumber: type: string example: '112132141' businessKey: type: string example: case-12345 transactionName: type: string example: OutgoingFundTransfer deleteRequest: type: boolean example: false requestType: type: string example: ADD submitInfo: type: object properties: submittedBy: type: string example: agent@example.com source: type: string example: ZCM submittedByPartyId: type: string example: submitting-party-id-001 receivedDate: type: string format: date-time example: '2026-06-01T10:00:00Z' carrierId: type: string example: SBGC caseId: type: string example: case-12345 effectiveDate: type: string format: date example: '2026-06-01' reverseInitiator: type: boolean example: false replacementIndicator: type: boolean example: true type: type: string example: FULLSURRENDER externalIdentifiers: type: object properties: externalTransactionId: type: string example: ext-txn-001 referenceNumber: type: string example: REF-001 transactionEffectiveOn: type: object properties: option: type: string example: SPECIFICDATE date: type: string format: date example: '2026-06-01' exchangeInformation: type: object properties: receivingCarrierName: type: string example: Security Benefit Group of Companies receivingCarrierCode: type: string example: SBGC receivingPolicyNumber: type: string example: RCV-POL-999 qualType: type: string example: IRA transactionAmounts: type: object properties: requestedAmount: type: number format: double example: 100000 netPaymentAmount: type: number format: double example: 95000 amountType: type: string example: GROSS disbursementType: type: string example: GROSS distributionCode: type: string example: '7' disbursementPaymentForm: type: string example: WIRE accountNumber: type: string example: '987654321' participantId: type: string example: PART-001 transactionReason: type: string example: 1035 Exchange fundAllocation: type: object properties: allocationOption: type: string example: PRORATA amountType: type: string example: DOLLAR fundDistributions: type: array items: type: object properties: fundId: type: string fundName: type: string distributionAmountType: type: string totalFundValue: type: number format: double requestedAmount: type: number format: double fundDistributionSegments: type: array items: type: object properties: segmentId: type: string currentAmount: type: number format: double requestedAmount: type: number format: double taxWithholdingInstructions: type: array items: type: object properties: partyId: type: string taxWithholdingType: type: string partyRole: type: string taxRateToUse: type: string filingStatus: type: string dollar: type: number format: double percentage: type: number format: double exemptions: type: integer taxJurisdiction: type: string contribution: type: string w4p: type: object properties: totalAmountOfOtherIncomeAndOtherPensionsOrAnnuities: type: number format: double totalAmountOfClaimsAndOtherCredits: type: number format: double otherIncome: type: number format: double otherDeduction: type: number format: double taxFormType: type: string authorizationDetails: type: object properties: emails: type: object properties: type: type: string address: type: string phone: type: object properties: type: type: string countryCode: type: string areaCode: type: string dialNumber: type: string extension: type: string parties: type: array items: type: object properties: partyId: type: string partyRole: type: string partyType: type: string paymentMethod: type: string ownershipPercentage: type: number format: double forBenefitOfOrForFurtherCredit: type: string personalInformation: type: object properties: firstName: type: string middleName: type: string lastName: type: string fullName: type: string gender: type: string dateOfBirth: type: string format: date birthCountry: type: string citizenshipCountry: type: string birthState: type: string organisationDetails: type: object properties: fullName: type: string organizationCode: type: string entityType: type: string trustDate: type: string trustType: type: string trustTitle: type: string addresses: type: array items: type: object properties: addressId: type: string startDate: type: string format: date endDate: type: string format: date addressType: type: string addressLine1: type: string addressLine2: type: string addressLine3: type: string city: type: string state: type: string zipCode: type: string zipCodeExtension: type: string country: type: string isPreferred: type: boolean overnightCheckInfo: type: object properties: accountType: type: string accountName: type: string accountNumber: type: string signatures: type: object properties: type: type: string designation: type: string name: type: string date: type: string format: date state: type: string esignValidation: type: boolean identifications: type: array items: type: object properties: identificationType: type: string identificationValue: type: string issueState: type: string issueCountry: type: string identificationId: type: string startDate: type: string format: date endDate: type: string format: date identificationKey: type: string identificationDescription: type: string bankDetails: type: object properties: bankId: type: string nameOnAccount: type: string accountStatus: type: string accountType: type: string accountNumber: type: string routingNumber: type: string ibanNumber: type: string financialInstitutionName: type: string branchName: type: string bankAccountPurpose: type: string address: type: object properties: addressType: type: string line1: type: string line2: type: string line3: type: string city: type: string state: type: string postalCode: type: string postalCodeExtension: type: string country: type: string charges: type: array items: type: object properties: partyId: type: string chargeType: type: string chargeWaiverIndicator: type: string chargeWaiverReason: type: string documents: type: array items: type: object properties: documentId: type: string documentDate: type: string format: date documentType: type: string documentTypeDescription: type: string payerId: type: string appId: type: string brokerMAN: type: string caseNumber: type: string participantAccountNumber: type: string deliveryMethod: type: string clientCode: type: string trackingId: type: string policyNumber: type: string planCode: type: string firstName: type: string lastName: type: string masterNumber: type: string externalId: type: string bdNumber: type: string bdName: type: string bdExternalId: type: string productName: type: string agentTaxId: type: string sourceFileName: type: string fileType: type: string displayName: type: string repMan: type: string documentNumber: type: string caseId: type: string zinniaLiveCaseId: type: string attachmentType: type: string mtrackingNumber: type: string mshipDate: type: string format: date documentCategory: type: string docAccessLevel: type: string documentClassification: type: string formNumber: type: string loaTransferValidation: type: object properties: authorizedOfficerPresent: type: boolean ownerRegistrationTypeValid: type: boolean selfServeFlow: type: boolean example: true supportingDocumentAttached: type: boolean example: true isSignValidationRequired: type: boolean example: false paper: type: boolean example: false ownerSignStatus: type: string example: VALID jointOwnerRoleExists: type: boolean example: true jointOwnerSignStatus: type: string example: VALID signatures: type: array items: type: object properties: signType: type: string isSignedPresent: type: boolean signDate: type: string format: date signPrintName: type: string signGuarantee: type: string signDesignation: type: string BaseCoverageUpdate: type: object properties: planCode: type: string example: IU0101 description: planCode (may duplicate path parameter) policyNumber: type: string example: FNWLIUL3908872 description: policyNumber (may duplicate path parameter) effectiveDate: type: string format: date example: '2026-03-26' correlationId: type: string example: e3bdb22b-790f-4357-ae60-dute9hdsur6253f0d1d carrierId: type: string example: FNWL requestedCoverageAmount: type: string example: '10000' permissionToViewMedicalRecord: type: boolean example: false mecAckProvidedBoolean: type: boolean example: false eSignaturePresent: type: boolean example: false signatures: type: array items: type: object properties: isSignedPresent: type: boolean example: false signDate: type: string nullable: true example: null signDesignation: type: string nullable: true example: null signType: type: string example: OWNER signTypeForUI: type: string example: Owner evidenceOfInsurabilityDocuments: type: array items: type: object properties: documentId: type: string example: '1234' medicalRecordsDocuments: type: array items: type: object properties: documentId: type: string example: '1234' taxWithholdingInstructions: type: array items: type: object properties: partyId: type: string example: '2314134' taxWithholdingType: type: string example: FEDERAL partyRole: type: string example: OWNER taxRateToUse: type: string example: NOWITHHOLDINGELECTED filingStatus: type: string example: MARRIED dollar: type: integer example: 0 percentage: type: integer example: 0 exemptions: type: integer example: 0 taxJurisdiction: type: string example: string contribution: type: string example: NOTAPPLICABLE w4p: type: object properties: totalAmountOfOtherIncomeAndOtherPensionsOrAnnuities: type: integer example: 0 totalAmountOfClaimsAndOtherCredits: type: integer example: 0 otherIncome: type: integer example: 0 otherDeduction: type: integer example: 0 taxFormType: type: string example: T1035COSTBASIS fundDistributions: type: array items: type: object properties: fundId: type: string example: '1231414' fundName: type: string example: Fixed distributionAmountType: type: string example: PERCENTAGE/AMOUNT/UNIT totalFundValue: type: integer example: 10000 requestedAmount: type: integer example: 1000 fundDistributionSegments: type: array items: type: object properties: segmentId: type: string example: '1231414' currentAmount: type: integer example: 10000 requestedAmount: type: integer example: 1000 authorizationDetails: type: object properties: emails: type: object properties: type: type: string example: PERSONAL address: type: string example: rishal.srivastava@zinnia.com phone: type: object properties: type: type: string example: MOBILE countryCode: type: string example: '1' areaCode: type: string example: '234' dialNumber: type: string example: '5678900' extension: type: string example: '1234' parties: type: array items: type: object properties: partyId: type: string example: 134535214eedf32412 partyRole: type: string example: OWNER partyType: type: string example: INDIVIDUAL paymentMethod: type: string example: ACH ownershipPercentage: type: integer example: 100 forBenefitOfOrForFurtherCredit: type: string example: ABCD personalInformation: type: object properties: firstName: type: string example: Jordan middleName: type: string nullable: true example: null lastName: type: string example: Taylor fullName: type: string example: Jordan Taylor gender: type: string example: FEMALE dateOfBirth: type: string format: date example: '1987-11-03' birthCountry: type: string example: US citizenshipCountry: type: string example: US birthState: type: string example: CA addresses: type: array items: type: object properties: addressId: type: string example: 134535214eedf32412 addressType: type: string example: RESIDENTIAL line1: type: string example: 123 Main St line2: type: string example: Apt 5B line3: type: string nullable: true example: null city: type: string example: San Francisco state: type: string example: CA postalCode: type: string example: '94105' postalCodeExtension: type: string example: '1234' country: type: string example: US overnightCheckInfo: type: object properties: accountType: type: string example: USPS/FEDX/UPS/DHL accountName: type: string example: Security Benefit accountNumber: type: string example: '11434552525' signatures: type: object properties: signaturesType: type: string example: ESIGN/WETSIGN designation: type: string example: INDIVIDUAL name: type: string example: test b signatureDate: type: string example: '2023-12-01T00:00:00.000Z' state: type: string example: NY identifications: type: array items: type: object properties: identificationType: type: string example: SSN identificationValue: type: string example: 123-45-6789 issueState: type: string example: CA issueCountry: type: string example: US expirationDate: type: string format: date example: '2035-12-31' bankDetails: type: object properties: bankId: type: string example: '1232423525' nameOnAccount: type: string example: Alex J Taylor accountStatus: type: string example: ACTIVE accountType: type: string example: CHECKING accountNumber: type: string example: '000111222333' routingNumber: type: string example: '121000358' ibanNumber: type: string nullable: true example: null financialInstitutionName: type: string example: Acme Bank branchName: type: string nullable: true example: null bankAccountPurpose: type: string example: PAYOUT address: type: object properties: addressType: type: string example: MAILING line1: type: string example: 500 Market Street line2: type: string example: Suite 200 line3: type: string nullable: true example: null city: type: string example: San Francisco state: type: string example: CA postalCode: type: string example: '94103' postalCodeExtension: type: string example: '5678' country: type: string example: US charges: type: array items: type: object properties: partyId: type: string example: Party_PI_1 chargeType: type: string example: COSTOFINSURANCE chargeWaiverIndicator: type: string example: 'YES' chargeWaiverReason: type: string example: Client Approved Nonforfeiture: type: object properties: planCode: type: string example: string description: planCode (may duplicate path parameter) policyNumber: type: string example: string description: policyNumber (may duplicate path parameter) correlationId: type: string example: string carrierId: type: string example: string policyFeatures: type: array items: type: object properties: featureType: type: string example: string featureOption: type: string example: string startDate: type: string example: YYYY-MM-DD signatures: type: array items: type: object properties: isSignedPresent: type: boolean example: true signDate: type: string example: YYYY-MM-DD signDesignation: type: string example: string signType: type: string example: string signTypeForUI: type: string example: string documents: type: array items: type: object properties: documentId: type: string example: string documentType: type: string example: string documentDate: type: string example: YYYY-MM-DD caseId: type: string example: string policyNumber: type: string example: string description: policyNumber (may duplicate path parameter) planCode: type: string example: string description: planCode (may duplicate path parameter) supportingDocumentAttached: type: boolean example: true parties: type: array items: type: object properties: partyId: type: string example: string partyRole: type: string example: string partyType: type: string example: string paymentForm: type: string example: string paymentMethod: type: string example: string ownershipPercentage: type: integer example: 0 forBenefitOfOrForFurtherCredit: type: string example: string personalInformation: type: object properties: firstName: type: string example: string middleName: type: string example: string lastName: type: string example: string fullName: type: string example: string gender: type: string example: string dateOfBirth: type: string example: YYYY-MM-DD birthCountry: type: string example: string citizenshipCountry: type: string example: string birthState: type: string example: string organisationDetails: type: object properties: fullName: type: string example: string organizationCode: type: string example: string entityType: type: string example: string trustDate: type: string example: YYYY-MM-DD trustType: type: string example: string trustTitle: type: string example: string addresses: type: array items: type: object properties: addressId: type: string example: string addressType: type: string example: string line1: type: string example: string line2: type: string example: string line3: type: string example: string city: type: string example: string state: type: string example: string postalCode: type: string example: string postalCodeExtension: type: string example: string country: type: string example: string bankDetails: type: object properties: bankId: type: string example: string nameOnAccount: type: string example: string accountStatus: type: string example: string accountType: type: string example: string accountNumber: type: string example: string routingNumber: type: string example: string ibanNumber: type: string example: string financialInstitutionName: type: string example: string branchName: type: string example: string bankAccountPurpose: type: string example: string address: type: object properties: addressId: type: string example: string addressType: type: string example: string line1: type: string example: string city: type: string example: string state: type: string example: string postalCode: type: string example: string country: type: string example: string identifications: type: array items: type: object properties: identificationType: type: string example: string identificationValue: type: string example: string issueState: type: string example: string issueCountry: type: string example: string expirationDate: type: string example: YYYY-MM-DD examples: successTransactionResponse: value: status: success quoteResponse: status: Success message: Request successful data: correlationId: 657b717dcf55411abf9ef067 transactionAmounts: requestedAmount: 25 calculatedAmount: null appliedAmount: 25 policy: id: 659fdafc075b950b7bd00feb event: InterestCreditMatch carrierID: SB tpaID: tpa-12345 lineOfBusiness: LIFE planName: SB UL Premium Match productType: UNIVERSALLIFE marketingName: Everly Life shortName: SB UL distribution: THIRDPARTYDIRECTTOCONSUMER banding: NOPREMIUMBANDING planCode: SBFIXUL1 glPlanCode: V2201 holdingForm: INDIVIDUAL renewable: null qualificationType: NONQUALIFIED policyTerm: 20 policyYear: 1 monthOfYear: 1 policyNumber: BPM0000001 policyStatus: ACTIVE nonforfeitureOption: null issueType: FULLUNDERWRITING residenceState: VT issueState: VT premiumFrequency: MONTHLY currency: USD policyStartDate: '2023-12-27' applicationDate: '2023-12-27' issueDate: '2023-12-27' effectiveDate: '2024-01-11T00:00:00.000Z' contestabilityStartDate: '2023-12-27' contestabilityEndDate: '2025-12-26' policyDeliveryDate: '2023-12-27' previousPolicyAnniversaryDate: '2023-12-27' previousPolicyMonthiversaryDate: '2023-12-27' nextAnniversaryDate: '2024-12-27' maturityDate: '2125-12-26' policyTerminationDate: null dateOfDeath: null initialPaymentExpiryDate: '2024-01-10' nextMonthivesaryDate: '2024-01-27' costBasis: 105 costBasisDate: '2024-11-04' conversionDate: null policyValues: beginningAcctValue: 35.759837 endingAcctValue: 60.759837 minRequiredAcctValue: 0 acctValueByPolicyYear: 0 unloanedPortionOfAcctValue: 60.759837 loanedPortionOfAcctValue: 0 surrenderValue: 60.759837 netAmountAtRisk: 499920 initialPremiumRequestAmount: 80 initialPremiumAppliedAmount: 80 initialPaymentAmountReceivedDate: '2023-12-27' cumulativePremSinceIssue: 105 totalYTDPremiumAmount: 105 mecAuthorization: false projectedLapseIndicator: null policyGainAmount: 0 loanValues: totalLoanBalance: 0 totalLoanPrincipal: 0 loanPayoffAmount: 0 maxLoanAmount: 60.759837 minLoanAmount: 0 totalLoanAccruedInterest: 0 lastLoanInterestDueDate: null totalNumberOfLoan: 0 loanInterestMethod: ARREARS totalYTDLoanTaken: 0 loanRepaymentType: null minLoanRepayment: 1 withDrawalValues: totalWithdrawalAmount: 0 freeWithdrawalAmount: null minWithdrawalAmount: 1 maxWithdrawalAmount: 60.759837 annualWithLimNoCovDecrease: null maxWithdrawalRequestDuringVestingPeriod: 1 maxWithdrawalRequestAfterVestingPeriod: 12 totalYTDWithdrawalTaken: 0 numberOfWithdrawal: 0 withdrawalAllowedStartDate: '2023-12-27' testValues: guidelinePremiumTestDate: '2024-11-04' definitionOfLifeInsurance: GPT guidelineSinglePremium: 68933.997746 guidelineLevelPremium: 5122.813261 amountExcessToGuideline: 0 totalGuidelineLevelPremiumSinceIssue: 5122.813261 mecTestDate: '2024-11-04' amountExcessToMEC: 0 mecStatusDate: null mecStatus: false sevenPayTestBasis: 185 sevenPayPremium: 25074.702628 sevenPayStartDate: '2023-12-27' sevenPayPeriod: '2030-12-26' sevenPayLimit: 25074.702628 yearInPeriod: 1 timestamp: '2024-01-11T12:11:40.723Z' deathBenefit: deathBenefitOption: LEVEL dboEffectiveDate: '2023-12-27' dboChangedEffectiveDate: null deathBenefitAgeGuarantee: 38 coverage: id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.731Z' totalCoverageAmount: 500000 cumGrossDeathBenefitAmount: 500000 minCoverageAmount: 10000 maxCoverageAmount: 10000000 coverageChangeEffectiveDate: '2024-12-27' coverageBand: BAND3 maxAnnualCoverageChangeAllowedPerPolicy: 1 minCoverageDecreaseAmount: 10000 maxCoverageDecreaseAmount: 490000 maxAgeNoCovAmountDecrease: 120 coverageAmountDecreaseAllowed: 1 minCoverageIncreaseAmount: 1 maxCoverageIncreaseAmount: 9500000 maxAgeNoCovAmountIncrease: 50 coverageAmountIncreaseAllowed: 1 coverageLayers: - coverageID: Base_Coverage coverageType: Base coverageName: SB UL Premium Match productCode: SBFIXUL1 currentAmount: 500000 orignalCoverageAmount: 500000 minCoverageAmount: 10000 maxCoverageAmount: 10000000 grossDeathBenefitAmount: 500000 lowDeathBenefitAmount: 500000 coverageChangeAmount: 0 coverageEffectiveDate: '2023-12-27' coverageChangeEffectiveDate: null coverageTerminationDate: null unitOfCoverage: 500 valuePerUnitOfCoverage: 1000 premiumFrequency: null guidelineSinglePremium: 68933.997746 guidelineLevelPremium: 5122.813261 sevenPayPremium: 25074.702628 coverageParticipants: - partyID: Party_PI_1 issueAge: 18 riskClass: Standard Tobacco subStandardRating: None flatExtra: - flatExtraType: null flatExtraDuration: 0 flatExtraAmount: 0 flatExtraStartDate: null - coverageID: Rider_SBLCHR coverageType: RIDER coverageName: Chronic Illness Accelerated Death Benefit Rider productCode: SBLCHR currentAmount: null orignalCoverageAmount: null minCoverageAmount: null maxCoverageAmount: null grossDeathBenefitAmount: null lowDeathBenefitAmount: null coverageChangeAmount: 0 coverageEffectiveDate: '2023-12-27' coverageChangeEffectiveDate: null coverageTerminationDate: '2125-12-26' unitOfCoverage: null valuePerUnitOfCoverage: null premiumFrequency: null guidelineSinglePremium: null guidelineLevelPremium: null sevenPayPremium: null coverageParticipants: - partyID: Party_PI_1 issueAge: 18 riskClass: null subStandardRating: null flatExtra: [] - coverageID: Rider_SBLCRI coverageType: RIDER coverageName: Critical Illness Accelerated Death Benefit Rider productCode: SBLCRI currentAmount: null orignalCoverageAmount: null minCoverageAmount: null maxCoverageAmount: null grossDeathBenefitAmount: null lowDeathBenefitAmount: null coverageChangeAmount: 0 coverageEffectiveDate: '2023-12-27' coverageChangeEffectiveDate: null coverageTerminationDate: '2125-12-26' unitOfCoverage: null valuePerUnitOfCoverage: null premiumFrequency: null guidelineSinglePremium: null guidelineLevelPremium: null sevenPayPremium: null coverageParticipants: - partyID: Party_PI_1 issueAge: 18 riskClass: null subStandardRating: null flatExtra: [] - coverageID: Rider_SBLTRM coverageType: RIDER coverageName: Terminal Illness Accelerated Death Benefit Rider productCode: SBLTRM currentAmount: null orignalCoverageAmount: null minCoverageAmount: null maxCoverageAmount: null grossDeathBenefitAmount: null lowDeathBenefitAmount: null coverageChangeAmount: 0 coverageEffectiveDate: '2023-12-27' coverageChangeEffectiveDate: null coverageTerminationDate: '2125-12-26' unitOfCoverage: null valuePerUnitOfCoverage: null premiumFrequency: null guidelineSinglePremium: null guidelineLevelPremium: null sevenPayPremium: null coverageParticipants: - partyID: Party_PI_1 issueAge: 18 riskClass: null subStandardRating: null flatExtra: [] - coverageID: Rider_OPR coverageType: RIDER coverageName: Overloan Protection Rider productCode: SBLOPR currentAmount: null orignalCoverageAmount: null minCoverageAmount: null maxCoverageAmount: null grossDeathBenefitAmount: null lowDeathBenefitAmount: null coverageChangeAmount: 0 coverageEffectiveDate: '2023-12-27' coverageChangeEffectiveDate: null coverageTerminationDate: '2125-12-26' unitOfCoverage: null valuePerUnitOfCoverage: null premiumFrequency: null guidelineSinglePremium: null guidelineLevelPremium: null sevenPayPremium: null coverageParticipants: - partyID: Party_PI_1 issueAge: 18 riskClass: null subStandardRating: null flatExtra: [] version: 1 riders: - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.729Z' type: RIDER riderName: Chronic Illness Accelerated Death Benefit Rider riderElected: ELECTED riderCode: SBLCHR effectiveDate: '2023-12-27' terminationDate: '2125-12-26' status: ACTIVE coverageID: Rider_SBLCHR amount: null riderParticipant: - insuredID: Party_PI_1 insuredAgeAtIssue: 18 charge: chargeID: null value: null effectiveRate: null nextEvaluationDate: null riderExerciseCharge: null maxChronicIllnessBenefitPct: 50 maxPeriodicPaymentPeriod: 120 claimStatus: null riderExerciseChargeRate: null nextEvaluationDate: null riderPaymentDate: null riderPaymentAmount: null paymentMode: null paymentOption: null maxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitAmount: null t2MaxCriticalIllnessBenefitPct: null t2MaxCriticalIllnessBenefitAmount: null t1CriticalRiderPaymentDate: null t1CriticalRiderPaymentAmount: null t2CriticalRiderPaymentDate: null t2CriticalRiderPaymentAmount: null terminalRiderPaymentAmount: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.729Z' type: RIDER riderName: Critical Illness Accelerated Death Benefit Rider riderElected: ELECTED riderCode: SBLCRI effectiveDate: '2023-12-27' terminationDate: '2125-12-26' status: ACTIVE coverageID: Rider_SBLCRI amount: null riderParticipant: - insuredID: Party_PI_1 insuredAgeAtIssue: 18 charge: chargeID: null value: null effectiveRate: null nextEvaluationDate: null riderExerciseCharge: null maxChronicIllnessBenefitPct: null maxPeriodicPaymentPeriod: null claimStatus: null riderExerciseChargeRate: null nextEvaluationDate: null riderPaymentDate: null riderPaymentAmount: null paymentMode: null paymentOption: null maxCriticalIllnessBenefitPct: 50 t1MaxCriticalIllnessBenefitPct: 5 t1MaxCriticalIllnessBenefitAmount: 5000 t2MaxCriticalIllnessBenefitPct: 50 t2MaxCriticalIllnessBenefitAmount: 500000 t1CriticalRiderPaymentDate: null t1CriticalRiderPaymentAmount: null t2CriticalRiderPaymentDate: null t2CriticalRiderPaymentAmount: null terminalRiderPaymentAmount: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.729Z' type: RIDER riderName: Overloan Protection Rider riderElected: ELECTED riderCode: SBLOPR effectiveDate: '2023-12-27' terminationDate: '2125-12-26' status: ACTIVE coverageID: Rider_SBLOPR amount: null riderParticipant: - insuredID: Party_PI_1 insuredAgeAtIssue: 18 charge: chargeID: null value: null effectiveRate: null nextEvaluationDate: null riderExerciseCharge: null maxChronicIllnessBenefitPct: null maxPeriodicPaymentPeriod: null claimStatus: null riderExerciseChargeRate: null nextEvaluationDate: null riderPaymentDate: null riderPaymentAmount: null paymentMode: null paymentOption: null maxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitAmount: null t2MaxCriticalIllnessBenefitPct: null t2MaxCriticalIllnessBenefitAmount: null t1CriticalRiderPaymentDate: null t1CriticalRiderPaymentAmount: null t2CriticalRiderPaymentDate: null t2CriticalRiderPaymentAmount: null terminalRiderPaymentAmount: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.729Z' type: RIDER riderName: Terminal Illness Accelerated Death Benefit Rider riderElected: ELECTED riderCode: SBLTRM effectiveDate: '2023-12-27' terminationDate: '2125-12-26' status: ACTIVE coverageID: Rider_SBLTRM amount: null riderParticipant: - insuredID: Party_PI_1 insuredAgeAtIssue: 18 charge: chargeID: null value: null effectiveRate: null nextEvaluationDate: null riderExerciseCharge: null maxChronicIllnessBenefitPct: null maxPeriodicPaymentPeriod: null claimStatus: null riderExerciseChargeRate: null nextEvaluationDate: null riderPaymentDate: null riderPaymentAmount: null paymentMode: null paymentOption: null maxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitPct: null t1MaxCriticalIllnessBenefitAmount: null t2MaxCriticalIllnessBenefitPct: null t2MaxCriticalIllnessBenefitAmount: null t1CriticalRiderPaymentDate: null t1CriticalRiderPaymentAmount: null t2CriticalRiderPaymentDate: null t2CriticalRiderPaymentAmount: null terminalRiderPaymentAmount: null version: 1 systematicPrograms: - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.730Z' arrType: PAYMENT arrangementID: Arr_1 allocationOptionType: DOLLAR reason: PREMIUMREASON numberOfOccurrence: null loanRepaymentType: null disbursementType: null status: ACTIVE paymentForm: EFT frequency: MONTHLY requestedDate: '2023-12-27' startDate: '2024-01-27' endDate: '2043-11-27' lastActivityDate: '2023-12-27' nextActivityDate: '2024-01-27' amountType: AMOUNT amount: 80 payors: - partyRole: Payee partyID: Party_PI_1 bankId: Bank_1 percentage: 100 payees: null version: 1 policyFeatures: - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.733Z' featureType: freeLook startDate: null endDate: '2024-01-26' status: null period: 30 effectiveDate: null totalRequiredAmount: null totalMinimumRequiredAmount: null paymentAmount: null totalPaymentAmount: null uwDecision: null approvalDate: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.733Z' featureType: lapseAssessment startDate: null endDate: null status: false period: null effectiveDate: null totalRequiredAmount: null totalMinimumRequiredAmount: null paymentAmount: null totalPaymentAmount: null uwDecision: null approvalDate: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.733Z' featureType: lapseProtection startDate: '2023-12-27' endDate: '2043-12-26' status: null period: 20 effectiveDate: null totalRequiredAmount: null totalMinimumRequiredAmount: null paymentAmount: 51.78 totalPaymentAmount: 51.78 uwDecision: null approvalDate: null version: 1 - id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.733Z' featureType: reinstatement startDate: null endDate: null status: null period: null effectiveDate: null totalRequiredAmount: null totalMinimumRequiredAmount: null paymentAmount: null totalPaymentAmount: null uwDecision: null approvalDate: null version: 1 allocation: id: null policyDetailsId: null ledgerDocId: null timestamp: '2024-01-11T12:11:40.732Z' investmentType: INVESTMENTFUND modelName: null modelID: null fundAllocationsInvestments: - fundID: FundAccount1 fundName: Everly Fixed Fund UL2 fundAccountType: null allocPercent: 100 startDate: '2023-12-27' endDate: null funds: - fundAccountType: null fundID: FundAccount1 fundName: Fixed Fund glFundCode: V2201 totalFundValue: 60.759837 fundSegments: - segmentID: '1' fundID: null originalDepositAmount: 80 originalDepositDate: '2023-12-27' depositDate: '2024-11-04' depositAmount: 25 currentAmount: 60.759837 renewalDate: null numberOfUnits: null sweepAccountID: null startDate: '2023-12-27' endDate: null matchSegment: segmentID: Match1 matchAccountValue: 1.05129 cumulativeMatchPaymentAmount: 1.05 ytdMatchValue: 1.05 maxLifeTimeVestingAmount: 500 maxAnnVestingAmount: 500 minPaymentsForMatch: 0 matchVestingDate: '2034-12-26' glFundCode: V2201 vestingPeriod: 10 loanSegments: [] version: 1 version: 40 error: null failureTransactionResponse: value: status: failure validationResult: - errorCode: BPM.NM.005 attribute: null error: Amount request is invalid. resolution: Please check the One Time Premium Amount and submit the request again. - errorCode: BPM.NM.003 attribute: null error: Party information does not match with information in the Zahara system. resolution: Please validate the party information and submit the request again. transactionFailureResponse: 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. 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. validationFailureResponse: value: statusCode: 400 timestamp: '2024-10-08T13:23:10.124Z' errorId: a4a57ed0-2c1b-4922-9959-3b85dd8a96d3 message: JSON Valdiation fails with error error: - attribute can not be null - attribute should be in proper format successTransactionResponsewithoutQuote: value: status: success successRefSchemaResponse: value: clientCode: WELB planCode: WBFDAV05 transactionName: SystematicProgramSetup supportedConfigurations: paymentForms: - ACH - CHECK - WIRE arrangementTypes: - PAYMENT - WITHDRAWAL - LOANREPAYMENT - REQUIREDMINIMUMDISTRIBUTION amountTypes: - AMOUNT - PERCENTAGE - MAX - FREEWITHDRAWALAMOUNT - WITHDRAWALUNTILBASIS - EARNINGSONLY - PRORATA - MODIFIEDEARNINGSONLY frequencies: - DAILY - EVERYTWOWEEKS - MONTHLY - SEMIANNUAL - QUARTERLY - ANNUAL - SINGLEPAYMENT securitySchemes: Auth0: type: openIdConnect openIdConnectUrl: https://login.dev.zinnia.com/.well-known/openid-configuration x-kong-security-openid-connect: config: run_on_preflight: true scopes_claim: - https://dev.api.zinnia.io/permissions audience_claim: - aud audience_required: - https://dev.api.zinnia.io client_id: - client_id auth_methods: - bearer enabled: true protocols: - grpc - grpcs - http - https