Socotra
API Reference

Accounts API

ActionEndpoint
Fetch an AccountGET/policy/{tenantLocator}/accounts/{locator}
Fetch Multiple AccountsGET/policy/{tenantLocator}/accounts/list
Create an AccountPOST/policy/{tenantLocator}/accounts
Update AccountPATCH/policy/{tenantLocator}/accounts/{locator}
Update Account and Replace DataPUT/policy/{tenantLocator}/accounts/{locator}
Validate an AccountPATCH/policy/{tenantLocator}/accounts/{locator}/validate
Add contactPOST/policy/{tenantLocator}/accounts/{accountLocator}/contacts
Delete contactDELETE/policy/{tenantLocator}/accounts/{accountLocator}/contacts/{contactLocator}
Update contactPATCH/policy/{tenantLocator}/accounts/{accountLocator}/contacts/{contactLocator}
Fetch contactsGET/policy/{tenantLocator}/accounts/{accountLocator}/contacts
Fetch Policies for an AccountGET/policy/{tenantLocator}/accounts/{locator}/policies/list
Fetch Quotes for an AccountGET/policy/{tenantLocator}/accounts/{locator}/quotes/list
Fetch Policy Snapshots For An AccountGET/policy/{tenantLocator}/accounts/{locator}/policies/snapshot/list
Update Billing Level For An AccountPATCH/policy/{tenantLocator}/accounts/{locator}/billingLevel
Fetch Accounts With NumberGET/policy/{tenantLocator}/accounts/numbers/{accountNumber}
Set Account NumberPOST/policy/{tenantLocator}/accounts/{locator}/number/set
Generate Account NumberPOST/policy/{tenantLocator}/accounts/{locator}/number/generate

Fetch

Fetch an Account

Fetch an AccountfetchAccount
GET/policy/{tenantLocator}/accounts/{locator}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
read
AccountResponse

Required properties

PropertyTypeDescription
locatorulid
accountStateEnum draft | validated | discarded
accountNumberstring
billingLevelEnum account | inherit | policy
typestringOne of the configured Account Types
datamap<string, object>
createdAtdatetime
createdByuuid
contactsContactRoles[]
stateEnum draft | validated | discardedDeprecated

Optional properties

PropertyTypeDescription
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
excessCreditPlanNamestring?
invoicingPlanNamestring?
paymentExecutionRetryPlanNamestring?
shortfallTolerancePlanNamestring?
timezonestring?
anonymizedAtdatetime?
invoiceDocumentstring?
preferencesPreferencesResponse?
validationResultValidationResult?

Fetch Multiple Accounts

Fetch Multiple AccountsfetchMultipleAccounts
GET/policy/{tenantLocator}/accounts/list

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
offsetqueryinteger?No
countqueryinteger?No
extendedqueryboolean?NoWhen false, returns a bare array.
Security Group:accounts
Permissions:
read,list
AccountListResponse

Required properties

PropertyTypeDescription
listCompletedboolean
itemsAccountResponse[]

Account Creation

Create an Account

Create an AccountcreateAccount
POST/policy/{tenantLocator}/accounts

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
Security Group:accounts
Permission:
write
AccountCreateRequest

Required properties

PropertyTypeDescription
typestringOne of the configured Account Types

Optional properties

PropertyTypeDescription
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
excessCreditPlanNamestring?
invoicingPlanNamestring?
paymentExecutionRetryPlanNamestring?
shortfallTolerancePlanNamestring?
timezonestring?
autoValidateboolean?
billingLevelEnum? account | inherit | policy
invoiceDocumentstring?
preferencesPreferencesResponse?
datamap<string, object>?
contactsContactRoles[]?
ContactRoles

Required properties

PropertyTypeDescription
contactLocatorulid
rolesstring[]

Updating

Update Account

Update AccountupdateAccount
PATCH/policy/{tenantLocator}/accounts/{locator}

Updates the account and individual data extensions.

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
write
AccountUpdateRequest

Required properties

PropertyTypeDescription
autoRenewalPlanNamestring
delinquencyPlanNamestring
excessCreditPlanNamestring
invoicingPlanNamestring
paymentExecutionRetryPlanNamestring
shortfallTolerancePlanNamestring
timezonestring
autoValidateboolean
billingLevelEnum account | inherit | policy
invoiceDocumentstring
preferencesPreferencesResponse
typestringOne of the configured Account Types
removeDatamap<string, object>
setDatamap<string, object>

Update Account and Replace Data

Update Account and Replace DataupdateAccountReplaceData
PUT/policy/{tenantLocator}/accounts/{locator}

Updates the account and replaces all existing data extensions with the new data.

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
write

This version of updateAccount replaces all extension data for the account, rather than just updating individual properties.

AccountUpdateReplaceDataRequest

Required properties

PropertyTypeDescription
typestringOne of the configured Account Types

Optional properties

PropertyTypeDescription
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
excessCreditPlanNamestring?
invoicingPlanNamestring?
paymentExecutionRetryPlanNamestring?
shortfallTolerancePlanNamestring?
timezonestring?
autoValidateboolean?
billingLevelEnum? account | inherit | policy
invoiceDocumentstring?
preferencesPreferencesResponse?
datamap<string, object>?
contactsContactRoles[]?

Validation

Validate an Account

Validate an AccountvalidateAccount
PATCH/policy/{tenantLocator}/accounts/{locator}/validate

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
write
ValidationResult

Required properties

PropertyTypeDescription
successboolean

Optional properties

PropertyTypeDescription
validationItemsValidationItemResponse[]?
ValidationItemResponse

Required properties

PropertyTypeDescription
locatorulid
elementTypestring
errorsstring[]

Contact Management

Add contact

Add contactaddAccountContact
POST/policy/{tenantLocator}/accounts/{accountLocator}/contacts

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountLocatorpathulidYes
Request:ContactRoles
Security Group:accounts
Permission:
write

Delete contact

Delete contactdeleteAccountContact
DELETE/policy/{tenantLocator}/accounts/{accountLocator}/contacts/{contactLocator}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountLocatorpathulidYes
contactLocatorpathulidYes
Security Group:accounts
Permission:
write

Update contact

Update contactupdateAccountContact
PATCH/policy/{tenantLocator}/accounts/{accountLocator}/contacts/{contactLocator}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountLocatorpathulidYes
contactLocatorpathulidYes
Security Group:accounts
Permission:
write
ContactAssociationUpdateRequest

Required properties

PropertyTypeDescription
addRolesstring[]
removeRolesstring[]

Fetch contacts

Fetch contactsfetchAccountContacts
GET/policy/{tenantLocator}/accounts/{accountLocator}/contacts

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountLocatorpathulidYes
Response:ContactRoles[]
Security Group:accounts
Permission:
write

Quotes and Policies

Fetch Policies for an Account

Fetch Policies for an AccountfetchPoliciesForAccount
GET/policy/{tenantLocator}/accounts/{locator}/policies/list

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
offsetqueryinteger?No
countqueryinteger?No
includeStaticDataqueryboolean?No
extendedqueryboolean?NoWhen false, returns a bare array.
Security Group:accounts
Permissions:
read,list
PolicyResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
issuedTransactionLocatorulidThe locator of the latest issued transaction for the policy.
latestSegmentLocatorulidThe last segment on the policy, based on issued transactions only
latestTermLocatorulid
productNamestring
startTimedatetimeThe start time, based on issued transactions only
endTimedatetimeThe end time based on issued transactions only.
currencystring
durationBasisEnum years | months | weeks | days | hours
timezonestring
billingLevelEnum account | inherit | policy
staticmap<string, object>
createdAtdatetime
createdByuuid
contactsContactRoles[]
moratoriumElectionsmap<string, string>
statusesEnum[] pending | expired | cancelled | cancelPending | onRisk | delinquent | doNotRenew

Optional properties

PropertyTypeDescription
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
anonymizedAtdatetime?
coverageEndTimedatetime?
invoiceFeeAmountnumber?
jurisdictionstring?
policyNumberstring?
producerCodestring?
producerCodeOfRecordstring?
validationResultValidationResult?
branchHeadTransactionLocatorsulid[]?The locators of all the top-level transactions on the policy, one per branch

Fetch Quotes for an Account

Fetch Quotes for an AccountfetchQuotesForAccount
GET/policy/{tenantLocator}/accounts/{locator}/quotes/list

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
offsetqueryinteger?No
countqueryinteger?No
includeStaticDataqueryboolean?No
extendedqueryboolean?NoWhen false, returns a bare array.
Security Group:accounts
Permissions:
read,list
QuoteResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
productNamestring
quoteStateEnum draft | validated | earlyUnderwritten | priced | underwritten | accepted | issued | underwrittenBlocked | declined | rejected | refused | discarded
billingLevelEnum account | inherit | policy
elementElementResponseThe root element in the hierarchy
contactsContactRoles[]

Optional properties

PropertyTypeDescription
policyLocatorulid?
groupLocatorulid?
quickQuoteLocatorulid?
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
issuedTimedatetime?
startTimedatetime?
endTimedatetime?
acceptedTimedatetime?
currencystring?
durationnumber?The duration of the prospective policy in units of durationBasis
durationBasisEnum? years | months | weeks | days | hours
timezonestring?
anonymizedAtdatetime?
expirationTimedatetime?
invoiceFeeAmountnumber?
jurisdictionstring?
policyNumberstring?
preferencesPreferencesResponse?Plan selections and setting overrides
producerCodestring?
quoteNumberstring?
reservedPolicyNumberstring?
underwritingStatusstring?
validationResultValidationResult?
staticmap<string, object>?
createdAtdatetime?
createdByuuid?

Fetch Policy Snapshots For An Account

Fetch Policy Snapshots For An AccountfetchPolicySnapshotsForAnAccount
GET/policy/{tenantLocator}/accounts/{locator}/policies/snapshot/list

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
offsetqueryinteger?No
countqueryinteger?No
extendedqueryboolean?NoWhen false, returns a bare array.
Security Group:accounts
Permissions:
read,list
PolicySnapshotResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
regionstring
productNamestring
currencystring
timezonestring
transactionTransactionSnapshotResponse
staticmap<string, object>

Optional properties

PropertyTypeDescription
delinquencyPlanNamestring?

Holds

Fetch All Holds For An Account

Fetch All Holds For An AccountfetchAllHoldsForAnAccount
GET/billing/{tenantLocator}/holds/accounts/{accountLocator}/list

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountLocatorpathulidYes
statequeryEnum? draft | validated | active | discarded | releasedNo
offsetqueryinteger?No
countqueryinteger?No
extendedqueryboolean?No
Security Group:holds
Permissions:
read,list
HoldResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
holdStateEnum draft | validated | active | discarded | released
targetTypeEnum invoicing | delinquency
updatedAtdatetime
createdAtdatetime

Optional properties

PropertyTypeDescription
validationResultValidationResult?

Billing

Update Billing Level For An Account

Update Billing Level For An AccountupdateBillingLevelForAnAccount
PATCH/policy/{tenantLocator}/accounts/{locator}/billingLevel

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
write
UpdateBillingLevelRequest

Required properties

PropertyTypeDescription
billingLevelEnum account | inherit | policy

Numbering

Fetch Accounts With Number

Fetch Accounts With NumberfetchAccountsWithNumber
GET/policy/{tenantLocator}/accounts/numbers/{accountNumber}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
accountNumberpathstringYes
Response:AccountResponse[]
Security Group:accounts
Permissions:
read,list

Set Account Number

Set Account NumbersetAccountNumber
POST/policy/{tenantLocator}/accounts/{locator}/number/set

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
accountNumberquerystringYes
Security Group:accounts
Permission:
write

Generate Account Number

Generate Account NumbergenerateAccountNumber
POST/policy/{tenantLocator}/accounts/{locator}/number/generate

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:accounts
Permission:
write

On this page