Search
K
Policy Transactions

Get PPFA Reference Data by Policy

Fetches PPFA integrated reference data filtered by policy. Includes VI restriction filtering for transaction subtypes and disbursement types.

get

Query Parameters

transactionTypestring

Optional transaction type filter

Allowed values:OneTimeWithdrawalSystematicWithdrawalAssetRebalancing

Example:OneTimeWithdrawal

Path Parameters

planCodestringrequired

Plan code

Example:534222609

policyNumberstringrequired

Policy number

Example:959343323

Response

application/json

Successful response

idstring

Unique identifier

Example:678f1a2b3c4d5e6f7890abcd

planNamestring

Name of the plan

Example:Variable Annuity Premier Growth Plan

policyProductTypeobject

Generic code/displayName object

Show Child Parameters
featureMappingobject

Generic code/displayName object

Show Child Parameters
featureCodestring

Feature code

Example:PARTIAL_WD_001

arrangementTypeobject

Generic code/displayName object

Show Child Parameters
arrangementSubTypeobject

Generic code/displayName object

Show Child Parameters
transactionTypearray[object]

Generic code/displayName object

Show Child Parameters
transactionSubtypesarray[object]

Complete transaction subtype with all arrangement and fund details, enriched with VI 21209 real-time amounts

Show Child Parameters
paymentModeobject

Generic code/displayName object

Show Child Parameters
paymentMethodarray[object]

Generic code/displayName object

Show Child Parameters
fundDisbursementTypearray[object]

Generic code/displayName object

Show Child Parameters
disbursementTypesarray[string]

Applicable disbursement types from VI

Example:Gross, Net

sourceTransferAmtTypearray[object]

Generic code/displayName object

Show Child Parameters
amountQualifierarray[object]

Generic code/displayName object

Show Child Parameters
taxRateBasedOnobject

Generic code/displayName object

Show Child Parameters
taxWithholdingCollectobject

Generic code/displayName object

Show Child Parameters
taxWithholdingPlaceobject

Generic code/displayName object

Show Child Parameters
withholdStateIfFederalIndobject

Generic code/displayName object

Show Child Parameters
taxJurisdictionobject

Generic code/displayName object

Show Child Parameters
taxMinPercentagestring

Minimum tax percentage

Example:0

taxMaxPercentagestring

Maximum tax percentage

Example:100

taxTransferAmtTypestring

Tax transfer amount type

Example:PERCENT

jurisdictionobject

Generic code/displayName object

Show Child Parameters
effectiveDateDurationobject

Effective date duration with min/max values in days

Show Child Parameters
featureMaxNumInstancesnumber

Maximum feature instances

Example:12

minContractAmtnumber

Minimum contract amount

Example:1000

maxNumSourceInvestProdnumber

Maximum source investment products

Example:10

minNumSourceInvestmentsnumber

Minimum source investments

Example:1

featureProductCodeobject

Generic code/displayName object

Show Child Parameters
featureProductInfoarray[object]

Feature product information

actionTypeAllowedarray[object]

Generic code/displayName object

Show Child Parameters
planCodestring

Plan code

Example:534222609

viAmountsobject

VI-derived amount values for withdrawal rule evaluation.
Contains real-time policy values from VI 21209 response.

Show Child Parameters
viFundsarray[object]

VI-derived fund information with withdrawal eligibility

Show Child Parameters
get/policy/v1/transactions/{planCode}/{policyNumber}/refdata
 
application/json

Transactions Eligibility

Eligibility evaluation for different operations

Transaction eligibility

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.

post

Path Parameters

planCodestringrequired

Plan code (exact, case-sensitive).

Example:ANN100

policyNumberstringrequired

Policy number (exact, case-sensitive).

Example:POL123456

Body

application/json

EligibilityRequest

Optional request body. Plan code and policy number are supplied in the path.

itemsarray[string]

Item identifiers to evaluate. When omitted or empty, all available items are evaluated.

Example:FullSurrender, PartialWithdrawalOneTime

Response

application/json

Eligibility evaluation completed. One result entry per evaluated subject.

EligibilityResponse

Eligibility evaluation response.

eligibilityTypestringrequired

Eligibility category evaluated.

Allowed values:transactioncapabilitiesrestrictionscancellationsendFormDocuments

Example:transaction

resultsarray[object]required

Eligibility result for one evaluated item. Fields that do not apply are omitted.

Show Child Parameters
post/policy/v2/transactions/{planCode}/{policyNumber}/eligibility/transaction

Body

{ "items": [ "FullSurrender", "PartialWithdrawalOneTime" ] }
 
application/json

Case eligibility

Evaluates whether the authenticated user may perform configured case-level features
for the given case. The caller supplies only caseId; policy number, plan code,
carrier, process, process subtype, and case correlationId are resolved from Case
Management.

The service maps the case process/processSubType to a transaction type, resolves
enabled features from feature configuration, and evaluates configured checks such as
case status, carrier onboarding, user permission, and Zahara transaction status.

Zahara transaction status is matched by the case correlationId against the list of
Zahara transactions returned for the case policy’s plan code and policy number.

If items is omitted or empty, all features configured for the resolved
carrier/plan/transaction are evaluated. partyId is extracted from the
Authorization bearer token; it is never a body field.

post

Path Parameters

caseIdstringrequired

Case identifier.

Example:CA0001552404

Body

application/json

CaseEligibilityRequest

Optional request body for case-level eligibility. The caller supplies only caseId in the path; policy and transaction context are resolved from Case Management. When items is absent or empty, all configured case features are evaluated.

itemsarray[string]

Case feature identifiers to evaluate.

Example:cancelTransaction

Response

application/json

Case eligibility evaluation completed. One result entry per evaluated case feature.

CaseEligibilityResponse

Top-level case eligibility response envelope.

eligibilityTypestringrequired

Case eligibility response type.

Allowed values:case

Example:case

caseIdstringrequired

Case identifier evaluated.

Example:CA0001552404

carrierCodestring

Carrier code resolved from Case Management.

Example:EVGL

processTypeKeystring

Process key resolved from Case Management.

Example:Withdrawal

processSubTypeKeystring

Process subtype key resolved from Case Management.

Example:Full Surrender

transactionTypestring

Transaction type resolved from case process mapping.

Example:FullSurrender

resultsarray[object]required

Composed eligibility result for a single case feature. Null fields are omitted from the JSON response. Evaluated results include the configured check sections; unavailable or unmapped features include notAvailable/notConfigured metadata.

Show Child Parameters
post/case/v1/cases/{caseId}/eligibility

Body

{ "items": [ "cancelTransaction" ] }
 
application/json

Receives policyholder authorization status from MPV and updates the status

put

Path Parameters

planCodestringrequired

The plan code for the policy number

Example:planCode

policyNumberstringrequired

Policy Number

Example:policyNumber

Body

application/json

Policyholder Authorization request

AuthorizationStatusRequest

recordIdstringrequired

Unique record ID (maps to transactionID)

Example:546bed32-a8b6-43dc-8772-cefb1d469b1d

correlationIdstringrequired

Correlation ID linking BPM - MPV transaction

Example:468cd184-fb43-4a20-aa8c-23df99c0a353

caseIdstringrequired

Case identifier within BPM

Example:CA0000487609

policyNumberstringrequired

Policy Number associated with the transaction

Example:FM00000001

authorizationStatusstringrequired

Policy Holder Authorization Status

Allowed values:APPROVEDDENIED

Example:APPROVED

actionTakenBystring

Name of Policy Holder

Example:Flora Anderson

actionTimestampstring(date-time)required

Generated at Time

Example:2025-06-02T10:45:00Z

sourcestring

Source system sending the callback

Default:MPV

Example:My Policy View

Response

application/json

OK - Callback processed successfully

AuthorizationStatusResponse

statusinteger

Example:200

put/bpm/v1/policies/{planCode}/{policyNumber}/authorization/status

Body

{ "recordId": "546bed32-a8b6-43dc-8772-cefb1d469b1d", "correlationId": "468cd184-fb43-4a20-aa8c-23df99c0a353", "caseId": "CA0000487609", "policyNumber": "FM00000001", "authorizationStatus": "APPROVED", "actionTimestamp": "2025-06-02T10:45:00Z" }
 
application/json