Search
K
UAT APIs

Base Shell To Full Submission

Adds underwriting and classification data to an existing draft submission — Step 2 of the submission lifecycle (Base → Full → Quote).

Pass the policyKey and policyActivityKey returned by POST /policies/submission/base as query parameters: ?policyKey={policyKey}&policyActivityKey={policyActivityKey}.

Required fields

underWriter, mosaicOccupation, sectionIdentifier (optional at Step 1, required here).

Conditional fields

referenceType — required when the submission’s producing entity (derived from division) is MSSL or MEEA (Mosaic Asta Europe).

Optional fields

umr, revTurnover (insured’s annual revenue/turnover), producingUnderwriter (defaults to underWriter when omitted), lloydsIndustrialSector (overrides the automatic derivation when supplied), sBFClass.

Re-submittable Step 1 fields

insured, producer, policy, directAssumed, typeOfBilling, division, writtenLine, policyDescription, class, producingCompany, marketSource may be re-supplied here — required only when calling /policies/submission/full standalone without a prior /policies/submission/base call.

Derived server-side (not part of the contract)

office, mop, and typeOfPlacementBespoke are never supplied by the caller.

Lookup objects

Reference fields are restricted per field: producer, mosaicOccupation, underWriter, producingUnderwriter, lloydsIndustrialSector, sBFClass, policy.product, directAssumed, typeOfBilling, division, producingCompany, marketSource, and insured.insureContacts accept id only; policy.currency, policy.territory, and class accept code only; sectionIdentifier accepts id only (1 = C&C, 2 = Non C&C) and referenceType accepts id only (1 = EEA, 2 = Non-EEA, 3 = Both).

Response timing

The call typically completes within 40–60 seconds.

post
https://apinonprod.mosaicinsurance.com/submission/full

Query Parameters

policyKeystringrequired

policyKey returned by Step 1 (/policies/submission/base)

Example:20793

policyActivityKeystringrequired

policyActivityKey returned by Step 1 (/policies/submission/base)

Example:45632

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

Full submission payload. Required: underWriter, mosaicOccupation, sectionIdentifier. Conditional: referenceType. All other fields are optional.

FullCyberSubmissionRequest

Full submission payload — Step 2 of the submission lifecycle (Base → Full → Quote). Extends the Step 1 fields (all optional here, required only when calling this endpoint standalone without a prior /policies/submission/base call) with underwriting data. Required: underWriter, mosaicOccupation, sectionIdentifier. Conditional: referenceType (required when the producing entity, derived from division, is MSSL or MEEA). office, mop, and typeOfPlacementBespoke are NOT part of the contract — derived server-side.

insuredobject

Optional. Already on the DRAFT from Step 1; supply only when calling Full standalone.

Show Child Parameters
producerobject

Optional. Already on the DRAFT from Step 1. id only.

* Additional properties are NOT allowed.
Show Child Parameters
policyobject

Optional. Already on the DRAFT from Step 1. Use the top-level policyDescription field for a free-text description.

Show Child Parameters
directAssumedobject

Optional. id only.

* Additional properties are NOT allowed.
Show Child Parameters
typeOfBillingobject

Optional. id only.

* Additional properties are NOT allowed.
Show Child Parameters
divisionobject

Optional. id only.

* Additional properties are NOT allowed.
Show Child Parameters
writtenLineinteger(int32)

Optional. Written line percentage (e.g. 100).

>= 1

Example:100

policyDescriptionstring

Optional. Free-text policy description. Defaulted/derived server-side when omitted.

Example:Cyber primary 2026 renewal

classobject

Optional. Risk class — code only (e.g. { "code": "CY" }).

* Additional properties are NOT allowed.
Show Child Parameters
producingCompanyobject

Optional. Producing company — id only. Required when division is Mosaic Asta Europe.

* Additional properties are NOT allowed.
Show Child Parameters
marketSourceobject

Optional. Market source — id only.

* Additional properties are NOT allowed.
Show Child Parameters
sectionIdentifierobjectrequired

Required. Section identifier — id only (1 = C&C, 2 = Non C&C).

* Additional properties are NOT allowed.
Show Child Parameters
referenceTypeobject

Conditional. Reference type — id only (1 = EEA, 2 = Non-EEA, 3 = Both). Required when the producing entity (derived from division) is MSSL or MEEA.

* Additional properties are NOT allowed.
Show Child Parameters
underWriterobjectrequired

Required. Underwriter — id only (e.g. { "id": "8842" }).

* Additional properties are NOT allowed.
Show Child Parameters
mosaicOccupationobjectrequired

Required. Mosaic occupation — id only (e.g. { "id": "198" }).

* Additional properties are NOT allowed.
Show Child Parameters
umrstring

Optional. Unique Market Reference.

Example:B1234567890

revTurnoverinteger(int32)

Optional. Insured’s annual revenue or turnover amount.

>= 0

Example:0

producingUnderwriterobject

Optional. Producing underwriter — id only. Defaults to the submission underwriter when omitted.

* Additional properties are NOT allowed.
Show Child Parameters
lloydsIndustrialSectorobject

Optional. Lloyd’s industrial sector — id only. When supplied, takes precedence over the server’s automatic derivation.

* Additional properties are NOT allowed.
Show Child Parameters
sBFClassobject

Optional. sBFClass — id only.

* Additional properties are NOT allowed.
Show Child Parameters

Response

application/json

Full submission created successfully.

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

quoteNostring | null

Quote number assigned when the submission reaches quote stage.

Example:Q0021748

post/submission/full

Body

{ "insured": { "insureContacts": { "id": "2089372" } }, "producer": { "id": "2000556" }, "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" }, "lloydsIndustrialSector": { "id": "10" }, "sBFClass": { "id": "7" }, "revTurnover": 10000 }
 
application/json

Complete Submission

Creates a complete policy submission in a single call. Supports all lines of business.

This endpoint accepts all required fields (insured, producer, policy, underwriting data, etc.) in one request body.

Required fields

insured, producer, policy (effectiveDate, expiryDate, currency, product, territory), directAssumed, typeOfBilling, division, writtenLine, sectionIdentifier, referenceType, typeOfPlacementBespoke, underWriter, mosaicOccupation, revTurnover.

Conditional fields

referenceType — required when the submission’s producing entity (derived from division) is MSSL or MEEA.
producingCompany — required when division is Mosaic Asta Europe.

Optional fields

producingUnderwriter, lloydsIndustrialSector, sBFClass, policyDescription, class, marketSource, umr.

Derived server-side (not part of the contract)

office, mop, and typeOfPlacementBespoke derivations are handled server-side.

Response timing

The call typically completes within 40–60 seconds.

post
https://apinonprod.mosaicinsurance.com/submission/complete

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

Policy creation payload. Supports all lines of business. Required: insured, producer, policy, directAssumed, typeOfBilling, division, writtenLine, sectionIdentifier, referenceType, typeOfPlacementBespoke, underWriter, mosaicOccupation, revTurnover.

FullRequest

Combines Shell (Step 1) and Full (Step 2) submission data.

Required: underWriter (id), revTurnover.

Shell fields (insured, producer, policy, directAssumed, typeOfBilling, division, writtenLine, sectionIdentifier, referenceType, typeOfPlacementBespoke, class) are required on first submission and optional on subsequent re-submissions (already on the draft).

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

Per-line fields (ourRole, signedLinePercentage) are set via lines[] in quoteRequest.

underWriterobjectrequired

Required. Underwriter who submitted the risk request — id only. Must be the underwriter with authority to write the business. Source: underwriter’s email or document.

* Additional properties are NOT allowed.
Show Child Parameters
mosaicOccupationobjectrequired

Required. Mosaic occupation — id only. Required for all LOBs. Source: insured occupation lookup.

* Additional properties are NOT allowed.
Show Child Parameters
producingCompanyobject

Conditional. Producing company — id only. Required when division is Mosaic Asta Europe (MAE).

* Additional properties are NOT allowed.
Show Child Parameters
lloydsIndustrialSectorobject

Conditional. Lloyd’s Industrial Sector override — id only. Required for all LOBs. When supplied, takes precedence over the server’s automatic derivation (UC8). Leave blank to allow automatic derivation.

* Additional properties are NOT allowed.
Show Child Parameters
revTurnoverinteger(int32)required

Required. Insured’s annual revenue or turnover (numeric). Required for CY, FI, PL and Casualty LOBs. Source: booking sheet or Tyche rater. Update if a more accurate figure is available at quote stage.

>= 0

Example:0

insuredobjectrequired

Required. Insured details — use insureContacts.id for an existing contact, or supply companyName + domicile fields for a new insured.

Show Child Parameters
producerobjectrequired

Required. Producer (broker) reference. Supply id (producer id only). Optionally include a contactliaison block to attach, create, or update the broker contact liaison recorded on the policy (see ContactLiaisonSubmission).

Show Child Parameters
policyobjectrequired

Required. Policy node (dates, currency, product, territory).

Show Child Parameters
directAssumedobjectrequired

Required. Business type — id only (Direct or Assumed).

* Additional properties are NOT allowed.
Show Child Parameters
typeOfBillingobjectrequired

Required. id only.

* Additional properties are NOT allowed.
Show Child Parameters
divisionobjectrequired

Required. id only.

* Additional properties are NOT allowed.
Show Child Parameters
writtenLineinteger(int32)required

Written line percentage (numeric, e.g. 100). Default to 100 if not specified by the underwriter. If provided, enter the value from the underwriter’s email or document. For Agency Share %, enter the agency percentage here. Can be updated at any stage.

>= 1

Example:100

policyDescriptionstring

Optional. Free-text policy description. Defaulted/derived server-side when omitted.

Example:Cyber primary 2026 renewal

sectionIdentifierobjectrequired

Required. Section identifier — id only (1 = C&C, 2 = Non C&C).

* Additional properties are NOT allowed.
Show Child Parameters
referenceTypeobjectrequired

Required. Reference type — id only (1 = EEA, 2 = Non-EEA, 3 = Both).

* Additional properties are NOT allowed.
Show Child Parameters
classobject

Optional. Risk class — code only (e.g. { "code": "CY" }).

* Additional properties are NOT allowed.
Show Child Parameters
typeOfPlacementBespokeobjectrequired

Required. Mosaic MOP / bespoke type of placement — id only.

* Additional properties are NOT allowed.
Show Child Parameters
producingUnderwriterobject

Optional. Producing underwriter — id only. The underwriter who produced this submission.

* Additional properties are NOT allowed.
Show Child Parameters
marketSourceobject

Optional. Market source — id only.

* Additional properties are NOT allowed.
Show Child Parameters

Response

application/json

Policy created successfully.

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

quoteNostring | null

Quote number assigned when the submission reaches quote stage.

Example:Q0021748

post/submission/complete

Body

{ "insured": { "companyName": "Veritas Capital Test 2", "domicileCountry": { "code": "USA" }, "domicileState": { "code": "NJ" }, "mailingAddress1": "1123 Cedar Street", "mailingAddressCity": "Green Bay", "email": "noemail@example.com", "zipCode": "75039" }, "producer": { "id": "2000556" }, "policy": { "effectiveDate": "2026-01-01", "expiryDate": "2027-01-01", "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" }
 
application/json

Decline Submission

Declines a submission. Moves the policy to Submission Declined status.

post
https://apinonprod.mosaicinsurance.com/submission/decline

Query Parameters

policyKeystringrequired

Policy key

policyActivityKeystringrequired

Policy activity key

declineReasonstring

Reason for declining submission

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

Policy declined successfully

string
post/submission/decline
 
application/json

Lookups

Look up contacts and allowed field values used across the platform.

Contacts

Returns XFI contacts filtered by the specified role code. Supports optional free-text filter on contact name/code and page-based pagination via the page/pageSize query parameters (internally translated to XFI’s _start/_num).

Response shape: the response returns total (XFI’s reported match count) and item (the array of matched contacts for this request). item entries are passed through from XFI’s summary object verbatim (not a fixed schema) so any new attribute XFI adds in future is available automatically without an API change; the properties listed below are the common ones.

Common role codes:

Code Role
USR Internal User (Underwriters)
ACC Account / Insured
PRD Producer / Broker
AGR Agreement Partner
OBG Obligor
REIND Reinsured
SCM Syndicate Capital Management
INS Insurer
COV Coverholder
DIV Division
SYN Syndicate
MBK Master Broker

All supported codes: INS, ATT, ACC, PRD, TAX, OTH, CLM, REIN, BCT, USR, EW, IA, EA, CA, AGR, PI, BINS, DIV, SYN, TCC, SRV, COV, LF, AUD, EXUSR, FRC, BA, SA, SOS, OFFTEAM, OBG, LG, RGA, INV, FIN, TAD, ENV, ITA, INA, BEN, ADO, ACF, UWC, BUY, SEL, TGT, PTF, REIND, SCM, PEB, MBK

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

Query Parameters

roleCodestringrequired

XFI role code to filter contacts by. See description for full list.

Allowed values:INSATTACCPRDTAXOTHCLMREINBCTUSREWIAEACAAGRPIBINSDIVSYNTCCSRVCOVLFAUDEXUSRFRCBASASOSOFFTEAMOBGLGRGAINVFINTADENVITAINABENADOACFUWCBUYSELTGTPTFREINDSCMPEBMBK

Example:USR

contactReferencestring

Optional partial match on contact name or code (e.g. “Enbridge Inc.”, “MSR”).

Example:Enbridge Inc.

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

Contacts retrieved successfully. Only ‘Active’ and ‘Not Approved’ broker information is pulled from XFI in the Lookup contact by roles endpoint response.

ContactFuzzySearchResponse

Response returned by the /lookup/contacts endpoint. Wraps XFI’s _count/_links.item[].summary payload as total/item.

totalinteger(int32)required

Total number of matching contacts reported by XFI (_count).

itemarray[object]required

A single contact entry returned by the /lookup/contacts endpoint, passed through from XFI’s summary object verbatim. Backing Java type is Map<String, Object> — keys are not fixed/known in advance (XFI may return any of contactKey, contactReference, code, roleCode, mainrole, email, mailingAddress1, mailingAddress2, mailingAddressCity, country, or others), so no fixed property list is declared here.

* Additional properties are allowed.
get/lookup/contacts
 
application/json