# Moratoriums API (Beta)



<Callout type="warn">
  This feature is currently in beta and may be subject to change. Before using it in production, please contact your Socotra representative.
</Callout>

<EndpointIndex
  names={[
  	'deployMoratoriums',
  	'fetchMoratoriums',
  	'getPolicyMoratoriumsStatuses',
  	'getQuoteMoratoriumsStatuses',
  	'addPolicyMoratoriumElections',
  	'deletePolicyMoratoriumElections',
  ]}
  titles={{
  	deployMoratoriums: 'Create a Moratorium',
  	fetchMoratoriums: 'Fetch Existing Moratoriums',
  	getPolicyMoratoriumsStatuses: "Get a Policy's Moratorium Status",
  	getQuoteMoratoriumsStatuses: "Get a Quote's Moratorium Status",
  }}
/>

Create [#create]

Create a Moratorium [#create-a-moratorium]

<ApiEndpoint name="deployMoratoriums" title="Create a Moratorium" />

Fetch [#fetch]

Fetch Existing Moratoriums [#fetch-existing-moratoriums]

<ApiEndpoint name="fetchMoratoriums" title="Fetch Existing Moratoriums" />

Get a Policy's Moratorium Status [#get-a-policys-moratorium-status]

<ApiEndpoint name="getPolicyMoratoriumsStatuses" title="Get a Policy's Moratorium Status" />

Get a Quote's Moratorium Status [#get-a-quotes-moratorium-status]

<ApiEndpoint name="getQuoteMoratoriumsStatuses" title="Get a Quote's Moratorium Status" />

Make Applicability Election [#make-applicability-election]

Add Policy Moratorium Elections [#add-policy-moratorium-elections]

<ApiEndpoint name="addPolicyMoratoriumElections" />

Delete Applicability Election [#delete-applicability-election]

Delete Policy Moratorium Elections [#delete-policy-moratorium-elections]

<ApiEndpoint name="deletePolicyMoratoriumElections" />

<ApiSchema name="MoratoriumStatusesResponse" />

<ApiSchema name="MoratoriumStatus" />

<ApiSchema name="MoratoriumElectionRequest" />

<ApiSchema name="MoratoriumRef" />

<ApiSchema name="MoratoriumPolicyMatchCriteriaRef" />

<ApiSchema name="MoratoriumProductRuleRef" />

<ApiSchema name="MoratoriumRuleRef" />

<ApiSchema name="PolicyHoldScopeRef" />

<ApiSchema name="BillingHoldScopeRef" />

See Also [#see-also]

* [Moratoriums Feature Guide](/features/moratoriums/moratoriums)


## API Reference

POST /config/{tenantLocator}/moratoriums — deployMoratoriums
Tags: moratorium-controller
Permissions: deploy
Parameters:
  tenantLocator (uuid, path, required)
Request body (ConfigurationRef):
Responses:
  200 — OK

GET /config/{tenantLocator}/moratoriums — fetchMoratoriums
Tags: moratorium-controller
Permissions: deploy, fetch
Parameters:
  tenantLocator (uuid, path, required)
Responses:
  200 map<string, MoratoriumRef> — OK

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

GET /policy/{tenantLocator}/quotes/{locator}/moratoriums — getQuoteMoratoriumsStatuses
Tags: quotes-controller
Permissions: moratoriums
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 MoratoriumStatusesResponse — OK

PUT /policy/{tenantLocator}/policies/{locator}/moratoriums/elections — addPolicyMoratoriumElections
Tags: policies-controller
Permissions: moratoriums
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (MoratoriumElectionRequest[]):
Responses:
  200 PolicyResponse — OK

DELETE /policy/{tenantLocator}/policies/{locator}/moratoriums/elections — deletePolicyMoratoriumElections
Tags: policies-controller
Permissions: moratoriums
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (string[]):
Responses:
  200 PolicyResponse — OK

MoratoriumStatusesResponse
Properties:
  locator (ulid, required)
  moratoriums (map<string, MoratoriumStatus>, required)

MoratoriumStatus
Properties:
  applicable (boolean, required)
  eligible (boolean, required)
  inScope (boolean, required)
  applicationMode (Enum optIn | optOut | mandatory, required)

MoratoriumElectionRequest
Properties:
  moratoriumName (string, required)
  election (Enum optIn | optOut, required)

MoratoriumRef
Properties:
  type (string, required)
  description (string)
  applicationMode (Enum optIn | optOut | mandatory, required) — Indicates whether the moratorium applies to all eligible policies or whether there is an option to opt in or out.
  effectiveTime (datetime, required)
  endTime (datetime) — The time the moratorium ends. This can be set after creation and updated to earlier or later.
  policyMatchCriteria (MoratoriumPolicyMatchCriteriaRef, required) — The criteria used to identify which policies are eligible for the moratorium.
  effectiveTimeWaived (boolean) — Indicates whether eligible policies issued after the moratorium effectiveTime are affected.
  policyHoldScope (PolicyHoldScopeRef, required) — Must be at least one of either policyHoldScope or billingHoldScope.
  billingHoldScope (BillingHoldScopeRef, required)
  displayName (string)

MoratoriumPolicyMatchCriteriaRef
Properties:
  criteriaValues (map<string, string[]>, required)
  productsRules (map<string, MoratoriumProductRuleRef>, required)

MoratoriumProductRuleRef
Properties:
  product (string, required)
  operator (Enum AND | OR, required)
  rules (MoratoriumRuleRef[], required)
  displayName (string)

MoratoriumRuleRef
Properties:
  path (string, required)
  criteriaKey (string, required)
  notIn (boolean, required)

PolicyHoldScopeRef
Properties:
  transactionCategory (Enum[], required)
  transactionType (string[], required)
  allowStaticData (boolean, required)
  displayName (string)

BillingHoldScopeRef
Properties:
  policyInvoicingHold (boolean, required)
  policyDelinquencyHold (boolean, required)
  autopayHold (boolean, required)
  deferredInvoiceDueOffsetDays (number, required)
  displayName (string)