Trident APIs

Decline Submission

Declines a policy submission by invoking the decline action. This moves the policy to ‘Submission Declined’ status.

post
https://trident-api.connecttrident.com/submission/decline

Query Parameters

policyKeystringrequired

Policy key

policyActivityKeystringrequired

Policy activity key

declineReasonstring

Reason for declining submission

Response

application/json

Policy declined successfully

string
post/submission/decline
 
application/json

Quote Not Taken Up (NTU) Submission

Marks a quoted policy as Not Taken Up (NTU) by invoking the quoteNTU action. This moves the policy from ‘Quote’ status to ‘Quote NTU’ status, indicating the insured or broker has chosen not to proceed with the quoted terms.

post
https://trident-api.connecttrident.com/submission/quoteNotTakenUp

Query Parameters

policyKeystringrequired

Unique identifier of the policy to be marked as NTU

Example:20793

policyActivityKeystringrequired

Unique identifier of the policy activity associated with the quote

Example:45632

declineReasonstring

Optional reason explaining why the quote was not taken up

Example:Insured found a more competitive quote elsewhere

Response

application/json

Policy successfully marked as Quote NTU

CyberSubmissionResponse

Response object containing cyber submission details including policy information, status, and reference keys

policyStatusstringrequired

Current status of the policy

Allowed values:Quote PreparationPolicy UpdatedBoundDeclinedReferredQuote NTU

Example:Quote Preparation

policyNostringrequired

Policy number assigned to the submission. Starts with ‘Q’ for quotes, ‘P’ for policies

Match pattern:^[QP]\d{7}$

Example:Q0038456

referencestring | null

Business reference number for tracking purposes

Example:CYB-2026-001

policyKeystringrequired

Internal policy key identifier used for database references

Example:20894

policyActivityKeystring

Internal policy activity key identifier for tracking specific policy activities

Example:45632

policyActivityStatusstring

Status of the current policy activity

Allowed values:ActiveCompletedPendingCancelledQuote NTU

Example:Active

post/submission/quoteNotTakenUp
 
application/json

Submissions List

Retrieves a list of submissions filtered by source (e.g., MEA), class of business (e.g., cyber), and date range. Returns submission summary information including insured, broker, underwriter, dates, and status flags.

get
https://trident-api.connecttrident.com/submission/list

Query Parameters

classOfBusinessstringrequired

Class of business type (e.g., cyber)

Example:cyber

fromDatestring(date-time)

Start timestamp for filtering submissions (YYYY-MM-DDTHH:MM:SS)

Example:2024-01-01T00:00:00

toDatestring(date-time)

End timestamp for filtering submissions (YYYY-MM-DDTHH:MM:SS)

Example:2024-12-31T23:59:59

Response

application/json

Submissions list retrieved successfully

brokerCompanystringrequired
creationDatestringrequired
underwriterstring
activityExpiryDatestring | null
activityEffectiveDatestring | null
submissionIdstringrequired
insuredstringrequired
get/submission/list
 
application/json

Submission by ID

Retrieves submission data for a specific submission ID based on the class of business (cyber, pv, or enviro). Returns the submission details in a HashMap with the class of business as the key.

get
https://trident-api.connecttrident.com/submission/getById

Query Parameters

idstringrequired

Unique submission identifier

Example:CY01-20251015-14

Response

application/json

MEA submission found and returned successfully

SubmissionJson

externalSourceIdstringrequired
creationDatestringrequired
insuredNamestringrequired
insuredNameConfidenceScorestringrequired
insuredAddressStreetstringrequired
insuredAddressStreetConfidenceScorestringrequired
insuredAddressCitystringrequired
insuredAddressCityConfidenceScorestringrequired
insuredAddressCountrystringrequired
insuredAddressCountryConfidenceScorestringrequired
insuredAddressStatestringrequired
insuredAddressStateConfidenceScorestringrequired
insuredAddressZipstringrequired
insuredAddressZipConfidenceScorestringrequired
brokerCompanystringrequired
brokerCompanyConfidenceScorestringrequired
brokerContactNamestringrequired
brokerContactNameConfidenceScorestringrequired
brokerPhoneNostringrequired
brokerPhoneNoConfidenceScorestringrequired
brokerEmailstringrequired
brokerEmailConfidenceScorestringrequired
brokerAddressStreetstring
brokerAddressStreetConfidenceScorestring
brokerAddressCitystring
brokerAddressCityConfidenceScorestring
brokerAddressCountrystring
brokerAddressCountryConfidenceScorestring
brokerAddressCountryIsoCodestring
brokerAddressStatestring
brokerAddressStateConfidenceScorestring
brokerAddressZipstring
brokerAddressZipConfidenceScorestring
licenseNumberstring
underwriterstringrequired
underwriterConfidenceScorestringrequired
underwriterTitlestringrequired
underwriterTitleConfidenceScorestringrequired
underwriterEmailstringrequired
underwriterEmailConfidenceScorestringrequired
mobilestring
currencystringrequired
currencyConfidenceScorestringrequired
activityEffectiveDatestringrequired
activityEffectiveDateConfidenceScorestringrequired
activityExpiryDatestringrequired
activityExpiryDateConfidenceScorestringrequired
limitOfLiabilitystringrequired
limitOfLiabilityConfidenceScorestringrequired
partOfstring
partOfConfidenceScorestring
excessstringrequired
excessConfidenceScorestringrequired
premiumstringrequired
premiumConfidenceScorestringrequired
lineSizestring
commissionstring
commissionConfidenceScorestring
followedPolicyInsurerstring
followedPolicyInsurerConfidenceScorestring
followedPolicyFormstring
followedPolicyFormConfidenceScorestring
followedPolicyPolicyNumberstring
followedPolicyPolicyNumberConfidenceScorestring
followedPolicyLimitOfLiabilitystring
followedPolicyLimitOfLiabilityConfidenceScorestring
followedPolicyRetentionstring
followedPolicyRetentionConfidenceScorestring
noticeOfClaimstring
noticeOfClaimConfidenceScorestring
coveragestring
coverageConfidenceScorestring
directOrAssumedstringrequired
directOrAssumedConfidenceScorestringrequired
reassuredstring
reassuredConfidenceScorestring
mosaicOccupationstringrequired
mosaicOccupationConfidenceScorestringrequired
mopstringrequired
mopConfidenceScorestringrequired
territorystringrequired
territoryConfidenceScorestringrequired
revTurnoverstringrequired
revTurnoverConfidenceScorestringrequired
noOfEmployeesstringrequired
noOfEmployeesConfidenceScorestringrequired
webSitestringrequired
webSiteConfidenceScorestringrequired
noOfPIIRecordsstringrequired
noOfPIIRecordsConfidenceScorestringrequired
typeOfPeriodstringrequired
typeOfPeriodConfidenceScorestringrequired
globalRiskstringrequired
globalRiskConfidenceScorestringrequired
surplusLineBrokerNamestringrequired
surplusLineBrokerNameConfidenceScorestringrequired
surplusLinesBrokerAddressstringrequired
surplusLinesBrokerAddressConfidenceScorestringrequired
surplusLineBrokerNostringrequired
surplusLineBrokerNoConfidenceScorestringrequired
surplusLineBrokerStateNumberstringrequired
surplusLineBrokerStateNumberConfidenceScorestringrequired
retroActiveDatestringrequired
retroActiveDateConfidenceScorestringrequired
invoiceNumberstringrequired
typeOfCyberRequeststringrequired
uwsignatureKeystringrequired
get/submission/getById
 
application/json

Global Submission

Starts the TridentGlobalSubmission Step Function. The base step runs synchronously and its policyNo / policyKey / policyActivityKey are returned in the response. The full, quote, and bind steps continue in the background; poll /submission/global/{policyNo}/status for their outcome.

Processing Time: Base step 35-40 seconds (synchronous), full + quote + bind steps run asynchronously.

post
https://trident-api.connecttrident.com/submission/global

Body

application/json

Flat payload covering the base, full, quote, and bind downstream submissions. Each section in sections carries an agreement object plus arrays of coverage, deduction, and codeSplit lines.

GlobalSubmissionRequest

Flat, duplicate-free payload for the global submission endpoint. Fields enforced by the orchestrator’s own bean-validation (@NotBlank/@NotEmpty) plus the downstream /submission/full full-validation group are listed under required.

insuredCompanyNamestringrequired

Required by the orchestrator for the Step Function execution name; not forwarded to the base/full policy node

Example:Veritas Capital

insuredIdinteger

Wrapped downstream as insured.insureContacts.id

Example:2000887

producerCompanyNamestringrequired

Required by the orchestrator; the producer is forwarded by id

Example:ENTERPRISE BROKERS kkarmark

producerIdinteger

Wrapped downstream as producer.id

Example:2000556

effectiveDatestring(date)required

Example:2024-01-01

expiryDatestring(date)required

Example:2025-01-01

currencyCodestringrequired

Wrapped downstream as policy.currency.id

Example:9

productstringrequired

Wrapped downstream as policy.product.description

Example:Cyber

territorystringrequired

Wrapped downstream as policy.territory.id

Example:17

directAssumedstring

Wrapped downstream as directAssumed.id

Example:1

typeOfBillingstring

Wrapped downstream as typeOfBilling.id

Example:1

divisionstring

Wrapped downstream as division.id

Example:8

officestring

Wrapped downstream as office.description

Example:Head Office Canada

mopstring

Wrapped downstream as mop.id

Example:3

typeOfPlacementstring

Wrapped downstream as typeOfPlacementBespoke.id

Example:1

writtenLineinteger

Example:100

underwriterNamestringrequired

Wrapped downstream as underWriterDetails.description

Example:Desai, stavan

policyOriginationSourcestringrequired

Wrapped downstream as policyOriginationSource.id

Example:2

insuredRevenueintegerrequired

Serialized as insuredRevenueTurnover in the full payload

Example:0

riskRegulatoryLocationstringrequired

Wrapped downstream as riskRegulatoryLoctn.id

Example:17

insuredDomicileCountrystringrequired

Wrapped downstream as insuredDomicileCountry.description

Example:Australia

insuredDomicileStatestringrequired

Wrapped downstream as insuredDomicileState.description

Example:New South Wales

periodTBAstringrequired

Downstream FullCyberSubmissionRequest.periodTBA is regex-validated YES|NO

Allowed values:YESNO

Example:NO

usClassificationstringrequired

Wrapped downstream as uSClassification.id

Example:6

lloydsIndustrialSectorstringrequired

Wrapped downstream as lloydsIndustrialSector.id

Example:5

mosaicOccupationstringrequired

Wrapped downstream as mosaicOccupation.id for base/full; sent as a plain string to the quote/bind steps

Example:198

sanctionCheckCompletestringrequired

Downstream submissionSanctionCheckComplete is regex-validated YES|NO

Allowed values:YESNO

Example:YES

possibleClashIdentifiedstringrequired

Wrapped downstream as possibleClashIdentified.code (regex-validated YES|NO)

Allowed values:YESNO

Example:NO

clashResponsestring

Wrapped downstream as clashResponse.code

Example:[ "" ]

sbfClassstringrequired

Wrapped downstream as sBFClass.id

Example:4

isThirdPartyCapacityDeployedstringrequired

Wrapped downstream as isThirdPartyCapacityDeployed.id

Example:2

signedLinenumber(double)required

Example:100

ourRolestringrequired

Wrapped downstream as ourRole.id

Example:1

claimsAgreementPartystringrequired

Wrapped downstream as claimsAgreementParty.id

Example:2

stampUnderwriterstringrequired

Wrapped downstream as stampUnderwriter.description

Example:Desai, stavan

producingUnderwriterstringrequired

Wrapped downstream as producingUnderwriter.description

Example:Desai, stavan

revTurnoverinteger(int64)required

Serialized as revTurnover in the full payload

Example:10

majorPerilstringrequired

Wrapped downstream as majorPeril.id for base/full; sent as a plain string to the quote/bind steps

Example:11

umrstringrequired

Example:B1234567890

sectionsarray[object]required

One quote section. coverage, deduction, codeSplit are arrays so a section may carry multiple lines.

Show Child Parameters
productTemplateSectionToAddstring

Example:Directors and Officers

bindProbabilitystring

Example:100%

bindTerritorystring

Territory sent ONLY to the bind step (distinct from the shared territory)

Example:USA

obligorstring

Example:Test Obligor

prebindSanctionCheckCompleteboolean

Example:true

bindCodeSplitsarray[object]

Code split information

Show Child Parameters

Response

application/json

Base step succeeded; full, quote, and bind are running asynchronously

GlobalSubmissionResponse

Minimal response returned after the base Step Function completes.

submissionIdstring(uuid)

Correlation id for tracing the background full + quote executions in logs

Example:9b3f7c1c-1f0a-4e2d-9d7c-2e3a8b4c6d2e

policyNostring

Policy number produced by the base submission step

Example:Q0038456

policyKeystring

Policy key produced by the base submission step, propagated to the async steps

Example:20894

policyActivityKeystring

Policy activity key produced by the base submission step

Example:45632

statusstring

ACCEPTED means full + quote are running in background; FAILED means the base step failed

Allowed values:ACCEPTEDFAILED

Example:ACCEPTED

messagestring

Human-readable message

Example:Base submission succeeded. Full, quote and bind steps are running asynchronously.

post/submission/global

Body

{ "insuredCompanyName": "Veritas Capital", "insuredId": 2000887, "producerCompanyName": "ENTERPRISE BROKERS kkarmark", "producerId": 2000556, "effectiveDate": "2024-01-01", "expiryDate": "2025-01-01", "currencyCode": "9", "product": "Cyber", "territory": "17", "directAssumed": "1", "typeOfBilling": "1", "division": "8", "office": "Head Office Canada", "mop": "3", "typeOfPlacement": "1", "writtenLine": 100, "underwriterName": "Desai, stavan", "policyOriginationSource": "2", "insuredRevenue": 0, "riskRegulatoryLocation": "17", "insuredDomicileCountry": "Australia", "insuredDomicileState": "New South Wales", "periodTBA": "NO", "usClassification": "6", "lloydsIndustrialSector": "5", "mosaicOccupation": "198", "sanctionCheckComplete": "YES", "possibleClashIdentified": "NO", "clashResponse": "", "sbfClass": "4", "isThirdPartyCapacityDeployed": "2", "signedLine": 100, "ourRole": "1", "claimsAgreementParty": "2", "stampUnderwriter": "Desai, stavan", "producingUnderwriter": "Desai, stavan", "revTurnover": 10, "majorPeril": "11", "umr": "B1234567890", "sections": [ { "agreement": { "gELR": 50, "agreement": "AGR0000159", "agreementActivity": "AGR0000159-22-01", "agreementSection": "1", "agreementLimit": 1000, "solvencyIIClass": "ZX", "aggregateLimit": 1000 }, "coverage": [ { "premium": 15000, "limitOccurrence": 100, "coverageLimit": 500000, "limitAggregate": 100, "ratedPremium": 15000 }, { "premium": 15000, "limitOccurrence": 100, "coverageLimit": 500000, "limitAggregate": 100, "ratedPremium": 15000 } ], "deduction": [ { "deductionCode": "BK", "deductionRate": 20 } ], "codeSplit": [ { "regulatoryCode": "E2", "codeSplitPercent": 100, "gELR": 50 } ] }, { "agreement": { "gELR": 50, "agreement": "AGR0000159", "agreementActivity": "AGR0000159-22-01", "agreementSection": "1", "agreementLimit": 1000, "solvencyIIClass": "ZX", "aggregateLimit": 1000 }, "coverage": [ { "premium": 15000, "limitOccurrence": 100, "coverageLimit": 500000, "limitAggregate": 100, "ratedPremium": 15000 } ], "codeSplit": [ { "regulatoryCode": "E2", "codeSplitPercent": 100, "gELR": 50 } ] }, { "agreement": { "gELR": 50, "agreement": "AGR0000159", "agreementActivity": "AGR0000159-22-01", "agreementSection": "1", "agreementLimit": 1000, "solvencyIIClass": "ZX", "aggregateLimit": 1000 }, "coverage": [ { "premium": 15000, "limitOccurrence": 100, "coverageLimit": 500000, "limitAggregate": 100, "ratedPremium": 15000 } ], "codeSplit": [ { "regulatoryCode": "E2", "codeSplitPercent": 100, "gELR": 50 } ] }, { "agreement": { "gELR": 50, "agreement": "AGR0000159", "agreementActivity": "AGR0000159-22-01", "agreementSection": "1", "agreementLimit": 1000, "solvencyIIClass": "ZX", "aggregateLimit": 1000 }, "coverage": [ { "premium": 15000, "limitOccurrence": 100, "coverageLimit": 500000, "limitAggregate": 100, "ratedPremium": 15000 } ], "codeSplit": [ { "regulatoryCode": "E2", "codeSplitPercent": 100, "gELR": 50 } ] } ], "productTemplateSectionToAdd": "Directors and Officers", "bindProbability": "100%", "bindTerritory": "USA", "obligor": "Test Obligor", "prebindSanctionCheckComplete": true }
 
application/json