Search
K
UAT APIs

Contact Liaisons

Returns all contact liaisons (broker contacts) registered under the specified producer. This is a read-only lookup — no data is created or modified.

Each item in the response contains contactliaisonkey, contactkey, contact, liaisonRole, contactLiaisonReference, firstName, lastName, and email.

get
https://apinonprod.mosaicinsurance.com/lookup/liaison

Query Parameters

producerContactKeystringrequired

XFI contact key of the producer (broker company).

Example:2000556

pageinteger

Page number, 1-based. Defaults to 1.

Default:1

>= 1

Example:1

pageSizeinteger

Number of results per page. Defaults to 25. Maximum 100.

Default:25

>= 1<= 100

Example:25

Headers

X-Origination-Sourcestringrequired

Identifies the calling system or channel that originated this request. Used for traceability and auditing across the platform.

Example:S01x

X-Audit-UserIdstringrequired

Identifier of the end user on whose behalf this request is made, recorded for audit trail purposes.

Example:jsmith

Response

application/json

Contact liaisons retrieved successfully.

A single contact liaison entry for a producer.

contactliaisonkeyinteger

XFI contact liaison key.

Example:2596

contactkeyinteger

XFI contact key of the producer.

Example:2000556

contactstring

Producer company name.

Example:Lockton Companies, LLC

liaisonRolestring

Role of the liaison (e.g. Broker Contact).

Example:Broker Contact

contactLiaisonReferencestring

Display name (LastName, FirstName).

Example:Ahn, Paul

firstNamestring

Example:Paul

lastNamestring

Example:Ahn

emailstring

Example:pahn@lockton.com

get/lookup/liaison
 
application/json

Policy

Create, retrieve, and search policies across the lifecycle.

Issue Policy

Runs the complete Mosaic submission pipeline (Shell → Full → Quote → Bind) in a single request, orchestrated by an internal state machine.

You send one payload — the platform handles all lifecycle stages internally. There is no need to make separate calls for shell, full, quote, or bind.

The shell step runs synchronously and returns policyNo, policyKey, and policyActivityKey in the response. The full, quote, and bind steps continue asynchronously — poll GET /policies/orchestrate/{policyNo}/stepStatus to track progress.

Payload structure

Block Purpose Required?
fullRequest Shell (account / policy / producer) + Full (underwriting) data Yes
quoteRequest Pricing, sections, coverages, lines (includes bind-time & FON attributes per section/line) Recommended
bindRequest Policy-level bind data (insured enrichment, sanction check, surplus broker, FON activity) Recommended

Response timing

The shell step typically completes within 35–40 seconds. Full, quote, and bind steps complete asynchronously.

post
https://apinonprod.mosaicinsurance.com/policy/issue

Headers

X-Origination-Sourcestringrequired

Identifies the calling system or channel that originated this request. Used for traceability and auditing across the platform.

Example:S01x

X-Audit-UserIdstringrequired

Identifier of the end user on whose behalf this request is made, recorded for audit trail purposes.

Example:jsmith

Body

application/json

Container carrying the submission bodies for the TridentGlobalSubmission state machine: fullRequest (required; includes shell+full data), quoteRequest (quote + merged section-level bind attributes, optional), and bindRequest (policy-level bind, no sections, optional). Each object is forwarded verbatim to its matching step — use the same JSON the standalone endpoints accept.

IssuePolicyRequest

Single-call submission payload. Combines Shell + Full + Quote + Bind data so external consumers send everything once — the platform executes each stage internally in sequence.

fullRequest is required and carries the insured/policy/producer identifiers (shell) plus underwriting enrichment (full). quoteRequest carries all pricing, section, and line data, including bind-time attributes for each section and line. bindRequest carries the policy-level bind attributes that are not tied to a specific section or line.

fullRequestobjectrequired

Required. Shell (Step 1) and Full (Step 2) data combined.

Required fields: underWriter (id), revTurnover.

Required shell fields (first submission): insured, producer, policy (effectiveDate, expiryDate, currency, product, territory), directAssumed, typeOfBilling, division, writtenLine, sectionIdentifier, referenceType, typeOfPlacementBespoke.

Optional fields: producingUnderwriter (id), producingCompany (id), lloydsIndustrialSector (id).

Per-line fields (ourRole, signedLinePercentage) belong in quoteRequest.lines[].

Show Child Parameters
quoteRequestobject

Quote, FON, and bind attributes at the section and line level.

Required quote fields: sections (array, at least one), summaryCurrency (code), typeOfCyberClauseStatus (id), uSClassification (id).

Each entry in sections[] carries coverage lines, deductions, deductibles, reinstatements, regulatory coding, and bind-time attributes (instalmentbasis, paymentDays, premiumBasis, typeofClaimBasis).

Each entry in lines[] represents an agency line and carries submission fields (underWriter, typeOfBilling, division, writtenLine, producingCompany, sBFClass), quote fields (ourRole, signedLinePercentage, producingUnderwriter, lloydsPlatform, bureauLead, isThirdPartyCapacityDeployed), FON fields (brokerOrderPercent, signedOrderPercent, policyLineReference), and bind fields (claimsAgreementParty, defenseCostsCovered, leaderPercent, leaderReference, actualDateWritten, dateSigned, policyLineReferenceOverride). Syndicate lines and derived fields (originating division/office, global-risk cross-reference, inclusive line) are handled by Trident.

Show Child Parameters
bindRequestobject

Policy-level bind attributes —

Key required fields: prebindSanctionCheckComplete.

Supply insured for bind-time enrichment (occupation, mailing address, TINs). Supply surplusBroker when risk premium originates from the United States. Supply fon for FON activity attributes (CY LOB only).

claimsAgreementParty is a per-line attribute — supply it on each entry in quoteRequest.lines[], not here.

Section/line attributes (premiumBasis, typeofClaimBasis, instalmentbasis, leaderPercent, etc.) are carried in quoteRequest — not repeated here.

Show Child Parameters

Response

application/json

Base step succeeded; the full step is 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 the full step is running in background; FAILED means the base step failed

Allowed values:ACCEPTEDFAILED

Example:ACCEPTED

messagestring

Human-readable message

Example:Base submission succeeded. The full step is running asynchronously.

post/policy/issue

Body

{ "fullRequest": { "insured": { "companyName": "Veritas Capital Test 3", "domicileCountry": { "code": "USA" }, "domicileState": { "code": "NJ" }, "mailingAddress1": "1123 Cedar Street", "mailingAddressCity": "Green Bay", "email": "noemail@example.com", "zipCode": "75039" }, "producer": { "id": "2000556", "contactliaison": { "firstName": "John", "lastName": "Smith", "state": { "code": "UT" }, "city": { "description": "Green Bay" }, "region": { "description": "GBR" }, "email": "john.smith@broker.com", "phoneNo": "+1-212-555-0100", "faxNo": "+1-212-555-0101" } }, "policy": { "effectiveDate": "2026-01-15", "expiryDate": "2027-01-15", "currency": { "code": "USD" }, "product": { "id": "4" }, "territory": { "code": "GBR" } }, "directAssumed": { "id": "1" }, "typeOfBilling": { "id": "1" }, "division": { "id": "2" }, "writtenLine": 100, "sectionIdentifier": { "id": "1" }, "referenceType": { "id": "2" }, "class": { "code": "CY" }, "producingCompany": { "id": "2" }, "typeOfPlacementBespoke": { "id": "1" }, "underWriter": { "id": "2001685" }, "producingUnderwriter": { "id": "2001685" }, "mosaicOccupation": { "id": "792" }, "revTurnover": 50000, "lloydsIndustrialSector": { "id": "10" }, "sBFClass": { "id": "7" }, "policyDescription": "UAT Test" }, "quoteRequest": { "summaryCurrency": { "code": "USD" }, "typeOfCyberClauseStatus": { "id": "1" }, "uSClassification": { "id": "3" }, "uMR": "B1234CYB2026020", "noOfEmployees": 150, "noOfPIIRecords": 300000, "productTemplateSectionToAdd": "Directors and Officers", "bindProbability": { "id": 5 }, "sections": [ { "description": "Cyber Liability Third Party", "gELR": 50, "typeOfLayer": { "id": "1" }, "solvencyIIClass": { "id": "13" }, "typeOfLimitBasis": { "id": "82" }, "excess": 0, "100%Limit": 1000000, "aggregateLimit": 1000000, "agreement": { "agreement": "AGR0000202", "agreementActivity": "AGR0000202-23-09", "agreementSection": "1" }, "coverage": [ { "code": "SPL", "limitCurrency": { "code": "USD" }, "limitOccurrence": 500000, "limitAggregate": 500000, "premium": 15000, "premiumSplit%": 50, "premiumCurrency": { "code": "USD" }, "settlementCcy": { "code": "USD" }, "premiumBasis": { "id": "1" }, "typeofClaimBasis": { "id": "3" } } ], "deduction": [ { "deduction": { "id": "3" }, "deductionRate": 30, "typeOfDeductionPayable": { "id": "1" }, "amountOfPremium": 50 }, { "deduction": { "id": "53" }, "deductionRate": 20, "typeOfDeductionPayable": { "id": "2" }, "amountOfPremium": 50 } ], "deductible": { "typeOfDeductible": { "id": "24" }, "deductibleBasis": { "id": "10" }, "allRiskDeductible": 1 }, "conditions": [ { "typeOfClause": { "id": "1" }, "clauseCode": "LSW 3001", "clauseTitle": "Cyber affirmation clause", "clauseNo": 2 } ], "reinstatements": { "reinstatementsApplicable": true, "unlimitedReinstatements": false, "noOfReinstatements": 1, "availableReinstatements": 1, "proRata": true, "reinstatementPercent": 100 }, "regulatoryCoding": [ { "code": "1E", "codeSplitPc": 50, "overrideAgreementRiskCode": true } ], "marketSplit": [ { "careerPercent": 60, "carrier": { "code": "1609" }, "carrierReference": "MR-CYB-2026-001" }, { "careerPercent": 25, "carrier": { "code": "2010" }, "carrierReference": "MR-CYB-2026-002" }, { "careerPercent": 15, "carrier": { "code": "2610" }, "carrierReference": "MR-CYB-2026-002" } ], "riskAdjustedRateChange": 5, "instalmentbasis": { "id": "1" }, "paymentDays": 30 }, { "description": "Cyber Liability First Party", "gELR": 50, "typeOfLayer": { "id": "1" }, "solvencyIIClass": { "id": "13" }, "typeOfLimitBasis": { "id": "84" }, "excess": 1000000, "100%Limit": 1000000, "aggregateLimit": 1000000, "agreement": { "agreement": "AGR0000202", "agreementActivity": "AGR0000202-23-09", "agreementSection": "1" }, "coverage": [ { "code": "BRC", "limitCurrency": { "code": "USD" }, "limitOccurrence": 500000, "limitAggregate": 500000, "premium": 15000, "premiumSplit%": 50, "premiumCurrency": { "code": "USD" }, "settlementCcy": { "code": "USD" }, "premiumBasis": { "id": "1" }, "typeofClaimBasis": { "id": "5" } }, { "code": "NBI", "limitCurrency": { "code": "USD" }, "limitOccurrence": 500000, "limitAggregate": 500000, "premium": 15000, "premiumSplit%": 50, "premiumCurrency": { "code": "USD" }, "settlementCcy": { "code": "USD" }, "premiumBasis": { "id": "1" }, "typeofClaimBasis": { "id": "5" }, "waitingPeriodAmount": 25000, "waitingPeriodMeasurement": { "id": 14 }, "waitingPeriodTime": 12 } ], "deduction": [ { "deduction": { "id": "3" }, "deductionRate": 30, "typeOfDeductionPayable": { "id": "1" }, "amountOfPremium": 60 }, { "deduction": { "id": "53" }, "deductionRate": 20, "typeOfDeductionPayable": { "id": "2" }, "amountOfPremium": 40 } ], "deductible": { "typeOfDeductible": { "id": "25" }, "deductibleBasis": { "id": "10" }, "allRiskDeductible": 1 }, "conditions": [ { "typeOfClause": { "id": "1" }, "clauseCode": "CW3", "clauseTitle": "Type 3 Cyber War Clause", "clauseNo": 2 } ], "reinstatements": { "reinstatementsApplicable": true, "unlimitedReinstatements": false, "noOfReinstatements": 1, "availableReinstatements": 1, "proRata": true, "reinstatementPercent": 80 }, "regulatoryCoding": [ { "code": "1E", "codeSplitPc": 50, "overrideAgreementRiskCode": true } ], "marketSplit": [ { "careerPercent": 60, "carrier": { "code": "1609" }, "carrierReference": "MR-CYB-2026-001" }, { "careerPercent": 25, "carrier": { "code": "2010" }, "carrierReference": "MR-CYB-2026-002" }, { "careerPercent": 15, "carrier": { "code": "2610" }, "carrierReference": "MR-CYB-2026-002" } ], "riskAdjustedRateChange": 5, "instalmentbasis": { "id": "1" }, "paymentDays": 30 }, { "description": "Electronic Fraud", "gELR": 50, "typeOfLayer": { "id": "1" }, "solvencyIIClass": { "id": "13" }, "typeOfLimitBasis": { "id": "17" }, "excess": 0, "100%Limit": 1000000, "aggregateLimit": 1000000, "agreement": { "agreement": "AGR0000202", "agreementActivity": "AGR0000202-23-09", "agreementSection": "1" }, "coverage": [ { "code": "FFT", "limitCurrency": { "code": "USD" }, "limitOccurrence": 500000, "limitAggregate": 500000, "premium": 15000, "premiumSplit%": 50, "premiumCurrency": { "code": "USD" }, "settlementCcy": { "code": "USD" }, "premiumBasis": { "id": "1" }, "typeofClaimBasis": { "id": "4" } } ], "deduction": [ { "deduction": { "id": "3" }, "deductionRate": 30, "typeOfDeductionPayable": { "id": "1" }, "amountOfPremium": 50 }, { "deduction": { "id": "53" }, "deductionRate": 20, "typeOfDeductionPayable": { "id": "2" }, "amountOfPremium": 50 } ], "deductible": { "typeOfDeductible": { "id": "24" }, "deductibleBasis": { "id": "1" }, "allRiskDeductible": 1 }, "conditions": [ { "typeOfClause": { "id": "1" }, "clauseCode": "CW3", "clauseCondition": "Type 3 Cyber War Clause", "clauseNo": 2 } ], "reinstatements": { "reinstatementsApplicable": true, "unlimitedReinstatements": false, "noOfReinstatements": 1, "availableReinstatements": 1, "proRata": true, "reinstatementPercent": 100 }, "regulatoryCoding": [ { "code": "1E", "codeSplitPc": 50, "overrideAgreementRiskCode": true } ], "marketSplit": [ { "careerPercent": 60, "carrier": { "code": "1609" }, "carrierReference": "MR-CYB-2026-001" }, { "careerPercent": 25, "carrier": { "code": "2010" }, "carrierReference": "MR-CYB-2026-002" }, { "careerPercent": 15, "carrier": { "code": "2610" }, "carrierReference": "MR-CYB-2026-002" } ], "riskAdjustedRateChange": 5, "instalmentbasis": { "id": "1" }, "paymentDays": 30 }, { "description": "TRIA", "gELR": 50, "typeOfLayer": { "id": "1" }, "solvencyIIClass": { "id": "13" }, "typeOfLimitBasis": { "id": "84" }, "excess": 0, "100%Limit": 1000000, "aggregateLimit": 1000000, "agreement": { "agreement": "AGR0000202", "agreementActivity": "AGR0000202-23-09", "agreementSection": "1" }, "coverage": [ { "code": "TRI", "limitCurrency": { "code": "USD" }, "limitOccurrence": 500000, "limitAggregate": 500000, "premium": 15000, "premiumSplit%": 50, "premiumCurrency": { "code": "USD" }, "settlementCcy": { "code": "USD" }, "premiumBasis": { "id": "1" }, "typeofClaimBasis": { "id": "3" } } ], "deduction": [ { "deduction": { "id": "3" }, "deductionRate": 30, "typeOfDeductionPayable": { "id": "1" }, "amountOfPremium": 50 }, { "deduction": { "id": "53" }, "deductionRate": 20, "typeOfDeductionPayable": { "id": "2" }, "amountOfPremium": 50 } ], "deductible": { "typeOfDeductible": { "id": "25" }, "deductibleBasis": { "id": "10" }, "allRiskDeductible": 1 }, "conditions": [ { "typeOfClause": { "id": "1" }, "clauseCode": "LSW 3001", "clauseCondition": "Cyber affirmation clause", "clauseNo": 2 } ], "reinstatements": { "reinstatementsApplicable": true, "unlimitedReinstatements": false, "noOfReinstatements": 1, "availableReinstatements": 1, "proRata": true, "reinstatementPercent": 100 }, "regulatoryCoding": [ { "code": "1E", "codeSplitPc": 50, "overrideAgreementRiskCode": true } ], "marketSplit": [ { "careerPercent": 60, "carrier": { "code": "1609" }, "carrierReference": "MR-CYB-2026-001" }, { "careerPercent": 25, "carrier": { "code": "2010" }, "carrierReference": "MR-CYB-2026-002" }, { "careerPercent": 15, "carrier": { "code": "2610" }, "carrierReference": "MR-CYB-2026-002" } ], "riskAdjustedRateChange": 5, "instalmentbasis": { "id": "1" }, "paymentDays": 30 } ], "lines": [ { "underWriter": { "id": "2001685" }, "typeOfBilling": { "id": "1" }, "division": { "id": "2" }, "writtenLine": 100, "sBFClass": { "id": "7" }, "producingUnderwriter": { "id": "2001685" }, "ourRole": { "id": "1" }, "bureauLead": { "id": "1" }, "leadingInsurer": { "id": "1" }, "lloydsPlatform": { "id": "1" }, "isThirdPartyCapacityDeployed": true, "syndicateCapitalManagement": { "code": "ACR" }, "signedLinePercentage": 100, "claimsAgreementParty": true, "defenseCostsCovered": { "id": "1" }, "actualDateWritten": "2026-02-15", "dateSigned": "2026-02-15", "policyLineReferenceOverride": "PCY1051126AA" } ] }, "bindRequest": { "prebindSanctionCheckComplete": true, "obligor": { "id": "2055225" }, "territory": { "code": "USA" }, "typeofRIBasis": { "id": "1" }, "tailEffectiveDate": "2026-01-01", "priorPending": "2026-01-01", "priorActs": true, "retroactiveDate": "2026-01-01", "insured": { "occupationSource": { "id": "5" }, "occupation": { "code": "541211" }, "issuanceAddressSameAsInsured": true, "policyholderType": { "id": "2" }, "assetsUnderManagement": "5000000", "assetSize": 100000, "mailingAddressTo": "Test", "mailingAddress1": "1123 Cedar Street", "mailingAddress2": "1123 Cedar Street", "mailingAddressCity": "Green Bay", "mailingAddressState ": { "code": "472" }, "mailingAddressPostCode": "75039", "canadianBusinessNumber": "123456789RC0001", "taxIdPortugal": "501964843", "taxIdItaly": "12345678901", "taxIdSpain": "B12345678", "fein": "12-3456789", "webSite": "www.test.com" }, "surplusBroker": { "id": "2005760", "typeOfAdmitted": { "id": "2" }, "brokerLicense": "SL-CA-12345", "producerHomeState": { "code": "CA" }, "slaNumber": "AB123-26-00001" }, "fon": { "fonDate": "2026-01-01", "jurisdictionCountry": { "code": "USA" }, "jurisdictionState": { "code": "NJ" }, "riskRegulatoryLocation": { "code": "USA" } }, "programs": [ { "programKey": { "id": "10" } }, { "programKey": { "id": "11" } } ], "peerReviewRequest": { "checkedBy": { "id": 545 }, "checkedDate": "2026-09-10" } } }
 
application/json

Submission Data Extraction

Extract submission data for use in other systems.

Retrive Submission By Date

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://apinonprod.mosaicinsurance.com/ai/submissionbydate

Query Parameters

classOfBusinessstringrequired

Class of business type. Accepted values: cyber, PL01, FI01.

Allowed values:cyberPL01FI01

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

Headers

X-Origination-Sourcestringrequired

Identifies the calling system or channel that originated this request. Used for traceability and auditing across the platform.

Example:S01x

X-Audit-UserIdstringrequired

Identifier of the end user on whose behalf this request is made, recorded for audit trail purposes.

Example:jsmith

Response

application/json

Submissions list retrieved successfully

brokerCompanystringrequired
creationDatestringrequired
underwriterstring
activityExpiryDatestring | null
activityEffectiveDatestring | null
submissionIdstringrequired
insuredstringrequired
get/ai/submissionbydate
 
application/json