> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Group related quotes under a single submission

A submission groups related quotes for a single applicant. It serves as the entry point for new business, renewals, endorsements, cancellations, and reinstatements.

## Key Concepts

* **Submission** — a container that groups one or more quotes. Each submission has a type that describes its purpose.
* **Submission types** — `newBusiness`, `renewal`, `endorsement`, `cancellation`, `reinstatement`
* **Quote association** — quotes are linked to a submission via `submissionId` when creating the quote. The `submissionQuotes` join field on the submission response contains the linked quote IDs.

## API Endpoints

| Method | Endpoint                         | Description                                         |
| ------ | -------------------------------- | --------------------------------------------------- |
| POST   | `/v1/submissions`                | Create a submission                                 |
| GET    | `/v1/submissions`                | List submissions (filterable by type, status, text) |
| GET    | `/v1/submissions/{submissionId}` | Get a submission                                    |
| PUT    | `/v1/submissions/{submissionId}` | Update a submission                                 |
| DELETE | `/v1/submissions/{submissionId}` | Soft-delete a submission                            |
| GET    | `/v1/submissions/configuration`  | Get available fields schema                         |

## Data Model

Submissions use `fieldModelV1Data` — a flat JSON object where keys are field reference IDs. System-managed fields include:

| Field                      | Description                                                    |
| -------------------------- | -------------------------------------------------------------- |
| `submissionNumber`         | Auto-generated submission number                               |
| `submissionType`           | Submission type (required on create)                           |
| `submissionStatus`         | Current status (defaults to `inProgress`)                      |
| `submissionName`           | Display name                                                   |
| `submissionPrimaryInsured` | Primary insured name (set from first quote's primary exposure) |
| `submissionBoundDate`      | Date when the submission's quote was bound                     |
| `submissionQuotes`         | Array of linked quote IDs (populated via join field)           |

Use the [Configuration endpoint](#) to discover all available fields including custom fields defined in the onboarding spreadsheet.

## Workflow

1. **Create a submission** — specify the `submissionType` and any custom fields
2. **Create quotes** under the submission using `POST /v1/quotes` with the `submissionId` field
3. **Iterate on quotes** — update, rate, and refine
4. **Bind the accepted quote** — converts to a policy via the [Policy Transaction API](/api-v1-reference/policies/overview). The submission status is automatically updated to `boundToPolicy`.

## Permissions

| Operation                | Permission                  |
| ------------------------ | --------------------------- |
| List, Get, Configuration | `company.submission:read`   |
| Create                   | `company.submission:create` |
| Update                   | `company.quote:update`      |
| Delete                   | `company.quote:delete`      |

<Note>
  Update and Delete currently use `company.quote:update` and `company.quote:delete` permissions because dedicated `company.submission:update` and `company.submission:delete` permissions have not been created yet.
</Note>

## Related Resources

* [Quotes API](/api-v1-reference/quotes/overview) — create and manage quotes within a submission
* [Policy API](/api-v1-reference/policies/overview) — bind quotes to create policies
