# Policies API



<EndpointIndex
  names={[
  	'fetchPolicy',
  	'addStaticDataForPolicy',
  	'updateStaticDataForPolicy',
  	'replaceAllStaticDataForPolicy',
  	'fetchStaticDataForPolicy',
  	'listStaticDataForPolicy',
  	'fetchPolicySnapshot',
  	'fetchMultipleSnapshots',
  	'updateBillingLevelForAPolicy',
  	'fetchPoliciesWithNumber',
  	'setPolicyNumber',
  	'setReservedPolicyNumber',
  	'generatePolicyNumber',
  	'addPolicyContact',
  	'deletePolicyContact',
  	'fetchPolicyContacts',
  	'updatePolicyContact',
  	'updatePolicyJurisdiction',
  	'createQuoteFromPolicy',
  ]}
  titles={{
  	fetchPolicy: 'Fetch a Policy',
  	addStaticDataForPolicy: 'Add Static Data to a Policy',
  	updateStaticDataForPolicy: 'Update Static Data on a Policy',
  	replaceAllStaticDataForPolicy: 'Replace All Static Data on a Policy',
  	fetchStaticDataForPolicy: 'Fetch Static Data for a Policy',
  	listStaticDataForPolicy: 'List Static Data for a Policy',
  	fetchPolicySnapshot: 'Fetch a Policy Snapshot',
  	addPolicyContact: 'Add policy contact',
  	deletePolicyContact: 'Delete policy contact',
  	fetchPolicyContacts: 'Fetch policy contacts',
  	updatePolicyContact: 'Update policy contact',
  }}
/>

Fetch [#fetch]

Fetch a Policy [#fetch-a-policy]

<ApiEndpoint name="fetchPolicy" title="Fetch a Policy" />

<ApiSchema name="PolicyResponse" />

Fetch all Policies for an Account [#fetch-all-policies-for-an-account]

<ApiEndpoint name="fetchPoliciesForAccount" title="Fetch all Policies for an Account" />

<ApiSchema name="PolicyListResponse" />

Static Data [#static-data]

Add Static Data to a Policy [#add-static-data-to-a-policy]

<ApiEndpoint name="addStaticDataForPolicy" title="Add Static Data to a Policy" />

Update Static Data on a Policy [#update-static-data-on-a-policy]

<ApiEndpoint name="updateStaticDataForPolicy" title="Update Static Data on a Policy" />

<ApiSchema name="StaticDataUpdateRequest" />

Replace All Static Data on a Policy [#replace-all-static-data-on-a-policy]

<ApiEndpoint name="replaceAllStaticDataForPolicy" title="Replace All Static Data on a Policy" />

Fetch Static Data for a Policy [#fetch-static-data-for-a-policy]

<ApiEndpoint name="fetchStaticDataForPolicy" title="Fetch Static Data for a Policy" />

List Static Data for a Policy [#list-static-data-for-a-policy]

<ApiEndpoint name="listStaticDataForPolicy" title="List Static Data for a Policy" />

<ApiSchema name="ListPageResponseStaticDataHistoryResponse" />

<ApiSchema name="StaticDataHistoryResponse" />

Snapshots [#snapshots]

Fetch a Policy Snapshot [#fetch-a-policy-snapshot]

<ApiEndpoint name="fetchPolicySnapshot" title="Fetch a Policy Snapshot" />

Fetch Multiple Snapshots [#fetch-multiple-snapshots]

<ApiEndpoint name="fetchMultipleSnapshots" />

<ApiSchema name="PolicySnapshotListResponse" />

<ApiSchema name="PolicySnapshotResponse" />

<ApiSchema name="TransactionSnapshotResponse" />

Billing [#billing]

Update Billing Level For APolicy [#update-billing-level-for-apolicy]

<ApiEndpoint name="updateBillingLevelForAPolicy" />

<ApiSchema name="UpdateBillingLevelRequest" />

Update the Delinquency Plan Assigned to a Policy [#update-the-delinquency-plan-assigned-to-a-policy]

<ApiEndpoint name="updatePolicyDelinquencyPlan" title="Update the Delinquency Plan Assigned to a Policy" />

Numbering [#numbering]

Fetch Policies With Number [#fetch-policies-with-number]

<ApiEndpoint name="fetchPoliciesWithNumber" />

Set Policy Number [#set-policy-number]

<ApiEndpoint name="setPolicyNumber" />

Set Reserved Policy Number [#set-reserved-policy-number]

<ApiEndpoint name="setReservedPolicyNumber" />

Generate Policy Number [#generate-policy-number]

<ApiEndpoint name="generatePolicyNumber" />

Contacts [#contacts]

Add policy contact [#add-policy-contact]

<ApiEndpoint name="addPolicyContact" title="Add policy contact" />

<ApiSchema name="ContactRoles" />

Delete policy contact [#delete-policy-contact]

<ApiEndpoint name="deletePolicyContact" title="Delete policy contact" />

Fetch policy contacts [#fetch-policy-contacts]

<ApiEndpoint name="fetchPolicyContacts" title="Fetch policy contacts" />

Update policy contact [#update-policy-contact]

<ApiEndpoint name="updatePolicyContact" title="Update policy contact" />

Holds [#holds]

Fetch Policy Holds [#fetch-policy-holds]

<ApiEndpoint name="fetchPolicyHolds" />

Jurisdictions [#jurisdictions]

Update Policy Jurisdiction [#update-policy-jurisdiction]

<ApiEndpoint name="updatePolicyJurisdiction" />

<ApiSchema name="UpdateJurisdictionRequest" />

Create Quote from Policy [#create-quote-from-policy]

Create Quote From Policy [#create-quote-from-policy-1]

<ApiEndpoint name="createQuoteFromPolicy" />

<Callout>
  The `date` parameter specifies the point in time used to identify which policy segment to copy. If a `date` is not provided, the generated quote will be based on the segment created by the policy's issuance transaction. The `byIssuedTime` parameter determines whether the provided `date` is evaluated against the segment's issued time or effective time, and `includeStaticData` controls whether policy-level static data is included in the generated quote.
</Callout>


## API Reference

GET /policy/{tenantLocator}/policies/{locator} — fetchPolicy
Tags: policies-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 PolicyResponse — OK

GET /policy/{tenantLocator}/accounts/{locator}/policies/list — fetchPoliciesForAccount
Tags: accounts-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
  includeStaticData (boolean, query)
  extended (boolean, query) — When false, returns a bare array.
Responses:
  200 PolicyListResponse — OK

POST /policy/{tenantLocator}/policies/{locator}/static — addStaticDataForPolicy
Set the static extension data on a policy
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (map<string, object>):
Responses:
  200 PolicyResponse — OK

PATCH /policy/{tenantLocator}/policies/{locator}/static — updateStaticDataForPolicy
Updates some of the static data on a policy
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (StaticDataUpdateRequest):
Responses:
  200 PolicyResponse — OK

PUT /policy/{tenantLocator}/policies/{locator}/static — replaceAllStaticDataForPolicy
Replaces all of the static data on a policy
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (map<string, object>):
Responses:
  200 PolicyResponse — OK

GET /policy/{tenantLocator}/policies/{locator}/static — fetchStaticDataForPolicy
Gets the static data on a policy
Tags: policies-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 map<string, object> — OK

GET /policy/{tenantLocator}/policies/{locator}/static/history/list — listStaticDataForPolicy
Tags: policies-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 ListPageResponseStaticDataHistoryResponse — OK

GET /policy/{tenantLocator}/policies/{locator}/snapshot — fetchPolicySnapshot
Tags: policies-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  date (datetime, query, required)
  byIssuedTime (boolean, query)
Responses:
  200 PolicySnapshotResponse — OK

GET /policy/{tenantLocator}/policies/snapshot/list — fetchMultipleSnapshots
Tags: policies-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 PolicySnapshotResponse[] — OK

PATCH /policy/{tenantLocator}/policies/{locator}/billingLevel — updateBillingLevelForAPolicy
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (UpdateBillingLevelRequest):
Responses:
  200 PolicyResponse — OK

PATCH /policy/{tenantLocator}/policies/{locator}/delinquencyPlan — updatePolicyDelinquencyPlan
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (DelinquencyPlanUpdateRequest):
Responses:
  200 PolicyResponse — OK

GET /policy/{tenantLocator}/policies/numbers/{policyNumber} — fetchPoliciesWithNumber
Tags: policies-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  policyNumber (string, path, required)
Responses:
  200 PolicyResponse[] — OK

POST /policy/{tenantLocator}/policies/{locator}/number/set — setPolicyNumber
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  policyNumber (string, query, required)
Responses:
  200 PolicyResponse — OK

POST /policy/{tenantLocator}/quotes/{locator}/reservedPolicyNumber/set — setReservedPolicyNumber
Tags: quotes-controller
Permissions: write, reserve-policy-number-set
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  reservedPolicyNumber (string, query, required)
Responses:
  200 QuoteResponse — OK

POST /policy/{tenantLocator}/policies/{locator}/number/generate — generatePolicyNumber
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 PolicyResponse — OK

POST /policy/{tenantLocator}/policies/{policyLocator}/contacts — addPolicyContact
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
Request body (ContactRoles):
Responses:
  200 PolicyResponse — OK

DELETE /policy/{tenantLocator}/policies/{policyLocator}/contacts/{contactLocator} — deletePolicyContact
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
  contactLocator (ulid, path, required)
Responses:
  200 PolicyResponse — OK

GET /policy/{tenantLocator}/policies/{policyLocator}/contacts — fetchPolicyContacts
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
Responses:
  200 ContactRoles[] — OK

PATCH /policy/{tenantLocator}/policies/{policyLocator}/contacts/{contactLocator} — updatePolicyContact
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
  contactLocator (ulid, path, required)
Request body (ContactAssociationUpdateRequest):
Responses:
  200 PolicyResponse — OK

GET /policy/{tenantLocator}/policies/{locator}/holds — fetchPolicyHolds
Tags: policies-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 EntityHold[] — OK

PATCH /policy/{tenantLocator}/policies/{locator}/jurisdiction — updatePolicyJurisdiction
Tags: policies-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (UpdateJurisdictionRequest):
Responses:
  200 PolicyResponse — OK

POST /policy/{tenantLocator}/policies/{locator}/quote — createQuoteFromPolicy
Tags: policies-controller
Permissions: write, create-quote
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  date (datetime, query)
  byIssuedTime (boolean, query)
  includeStaticData (boolean, query)
Responses:
  200 QuoteResponse — OK

PolicyResponse
Properties:
  locator (ulid, required)
  accountLocator (ulid, required)
  branchHeadTransactionLocators (ulid[]) — The locators of all the top-level transactions on the policy, one per branch
  issuedTransactionLocator (ulid, required) — The locator of the latest issued transaction for the policy.
  productName (string, required)
  timezone (string, required)
  currency (string, required)
  durationBasis (Enum years | months | weeks | days | hours, required)
  createdAt (datetime, required)
  createdBy (uuid, required)
  delinquencyPlanName (string)
  autoRenewalPlanName (string)
  startTime (datetime, required) — The start time, based on issued transactions only
  endTime (datetime, required) — The end time based on issued transactions only.
  latestTermLocator (ulid, required)
  billingLevel (Enum account | inherit | policy, required)
  region (string)
  policyNumber (string)
  latestSegmentLocator (ulid, required) — The last segment on the policy, based on issued transactions only
  contacts (ContactRoles[], required)
  statuses (Enum[], required)
  invoiceFeeAmount (number)
  anonymizedAt (datetime)
  coverageEndTime (datetime)
  moratoriumElections (map<string, string>, required)
  jurisdiction (string)
  producerCode (string)
  producerCodeOfRecord (string)
  static (map<string, object>, required)
  validationResult (ValidationResult)

PolicyListResponse
Properties:
  listCompleted (boolean, required)
  items (PolicyResponse[], required)

StaticDataUpdateRequest
Properties:
  setData (map<string, object>, required)
  removeData (map<string, object>, required)

ListPageResponseStaticDataHistoryResponse
Properties:
  listCompleted (boolean, required)
  items (StaticDataHistoryResponse[], required)

StaticDataHistoryResponse
Properties:
  historyLocator (ulid, required)
  staticData (map<string, object>, required)
  updatedBy (uuid, required)
  updatedAt (datetime, required)

PolicySnapshotListResponse
Properties:
  listCompleted (boolean, required)
  items (PolicySnapshotResponse[], required)

PolicySnapshotResponse
Properties:
  locator (ulid, required)
  accountLocator (ulid, required)
  productName (string, required)
  timezone (string, required)
  currency (string, required)
  region (string, required)
  transaction (TransactionSnapshotResponse, required)
  delinquencyPlanName (string)
  static (map<string, object>, required)

TransactionSnapshotResponse
Properties:
  locator (ulid, required)
  transactionCategory (Enum issuance | change | renewal | cancellation | reinstatement | reversal | aggregate, required)
  transactionType (string, required)
  effectiveTime (datetime, required)
  issuedTime (datetime, required)
  preferences (PreferencesResponse, required)
  segment (SegmentResponse, required)

UpdateBillingLevelRequest
Properties:
  billingLevel (Enum account | inherit | policy, required)

ContactRoles
Properties:
  contactLocator (ulid, required)
  roles (string[], required)

UpdateJurisdictionRequest
Properties:
  jurisdiction (string)