/api/v1/external/companies/{companyId}/entities/Submission. A submission groups related quotes for a single applicant and serves as the entry point for new business, renewals, endorsements, cancellations, and reinstatements. Like all FMV1 entities, the set of available fields is configured per company.
Key Concepts:
- The request body for create and update is a flat JSON object where keys are field
referenceIds (e.g.,submissionType,submissionName). - Responses use the generic entity envelope — all field values live inside a
fieldModelV1Dataobject, alongsideid,createdAt/createdBy,updatedAt/updatedBy, and resolvedcreatedByName/updatedByName. There is no top-levelcompanyId. - Updates use merge semantics — provided fields are merged onto the existing data, a key set to
nullclears that field, and omitted fields are left unchanged.PUTis accepted as an alias forPATCH. - Get returns the submission’s own data only — there is no cross-entity enrichment. Linked quotes are not embedded; query them separately.
Framework-Required Fields
These fields are required by the framework on create:| Field | Description |
|---|---|
submissionNumber | Submission number. Resolver-populated calculated value. |
submissionType | Submission type (e.g. new business, renewal, endorsement, cancellation, reinstatement) |
submissionStatus | Current status. Resolver-populated calculated value. |
referencedExposures | Flat list of referenced Exposure ids. Calculated Join field, recomputed on every write — see Referenced Exposures. |
submissionNumber, submissionStatus, and referencedExposures are resolver-populated calculated values, a create request only needs submissionType (plus any required custom fields). Discover the full set of available fields, including custom fields defined in the onboarding spreadsheet, via the Configuration endpoint.
Listing & Search
The unified list endpoint supports free-text search viafilterText, which matches against submissionNumber and submissionName. Pagination is zero-based pageNumber (default 0) with pageSize (default 51); sort via sortBy (any configured field, default createdAt) and sortDirection. The list response is { items: [...envelope...], hasMore, totalCount }.
Configuration
Configuration discovery uses the unified entity configuration endpoint. CallGET /api/v1/external/companies/{companyId}/entities/submission/configuration to retrieve a JSON Schema of the available submission fields for your company.
Workflow
- Create a submission — specify the
submissionTypeand any custom fields. - Create quotes under the submission, linking each quote to the submission.
- Iterate on quotes — update, rate, and refine.
- Create the policy from the accepted quote via the Policy Transaction API.
Permissions
| Operation | Permission |
|---|---|
| Get Configuration | company.submission:read |
| List / Get | company.submission:read |
| Create | company.submission:create |
| Update | company.submission:update |
| Delete | company.submission:delete |
Example Create Request
Example Response
createdAt and updatedAt are epoch-second integers, not ISO strings.
Related Resources
- Quotes API — create and manage quotes within a submission
- Policy API — create policies via the transaction model
