> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.duuo.cooperators.ca/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.duuo.cooperators.ca/_mcp/server.

# Field Definitions

This section documents all fields supported in the Prefill Data Transfer API payload — their types, whether they are required, accepted formats, and their business meaning.

## Person & Common Fields

These fields describe the customer and configure the quote journey behavior.

| Field         | UI            | Type    | Required | Description                                                                                 | Format / Validation                                                        |
| ------------- | ------------- | ------- | -------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `firstName`   | First Name    | string  | No       | Customer’s legal first name. Prefills the “First Name” field in RQB.                        | Max 100 characters. Letters, hyphens, apostrophes.                         |
| `lastName`    | Last Name     | string  | No       | Customer’s legal last name. Prefills the “Last Name” field in RQB.                          | Max 100 characters. Letters, hyphens, apostrophes.                         |
| `dateOfBirth` | Date of Birth | string  | No       | Customer’s date of birth. Prefills the DOB field in RQB.                                    | ISO 8601: `YYYY-MM-DD` (e.g. 1988-04-15).                                  |
| `phone`       | Phone         | string  | No       | Primary contact phone number.                                                               | E.164 format (e.g. `+15195551234`). RQB validates on field interaction.    |
| `email`       | Email         | string  | No       | Primary contact email address.                                                              | Valid email (e.g. `user@example.com`). RQB validates on field interaction. |
| `language`    | Language      | string  | YES      | Preferred language for the quote journey. Controls language of the Co‑operators experience. | Enum: `en` or `fr`.                                                        |
| `product`     | Product       | string  | YES      | Target insurance product.                                                                   | Enum: `a` (Auto) or `h` (Home). Invalid values return 400.                 |
| `isPrefill`   | Is Prefill    | boolean | YES      | Flags this payload as a Prefill submission. Must always be true.                            | `true`                                                                     |
| `referrer`    | Referrer      | string  | YES      | Partner channel identifier for analytics and routing.                                       | Free text or URL (e.g. Abc.ca).                                            |
| `partner`     | Partner       | string  | No (MVP) | Human-readable partner name or code. Used for display and reporting.                        | Partner-specific values.                                                   |

## Address Object

The Customer address is submitted as a structured nested object under the address key.

| Field        | **UI**      | Type   | Required | Description                                          | Format / Validation                                    |
| ------------ | ----------- | ------ | -------- | ---------------------------------------------------- | ------------------------------------------------------ |
| `unitNumber` | Unit Number | string | No       | Unit, apartment, or suite number.                    | Free text.                                             |
| `street`     | Street      | string | No       | Full civic address including street number and name. | Free text. Align to Canada Post format where possible. |
| `city`       | City        | string | No       | City or municipality.                                | Standard text.                                         |
| `state`      | State       | string | No       | Province or territory code.                          | Two-letter code (e.g. `ON`, `QC`, `BC`).               |
| `postalCode` | Postal Code | string | No       | Canadian postal code.                                | Format: `A1A 1A1`.                                     |
| `country`    | Country     | string | No       | Country code.                                        | ISO 3166-1 alpha-2 (e.g. `CA`).                        |

Behaviour: Address data is stored in the Temporary Prefill Data Model and written into the RQB cache when the quote journey launches. Address validation runs only when the customer interacts with address fields in the quote UI, not at submission time.

## Vehicles Array

The payload supports a list of vehicles. The first vehicle in the array is used to prefill vehicle fields in the RQB Auto product journey. Future capability will support multiple vehicles.

| Field   | **UI** | Type   | Required | Description                     | Format / Validation                                                   |
| ------- | ------ | ------ | -------- | ------------------------------- | --------------------------------------------------------------------- |
| `vin`   | Vin    | string | No       | Vehicle Identification Number.  | 17-character alphanumeric string. RQB validates on field interaction. |
| `make`  | Make   | string | No       | Vehicle manufacturer (make).    | Free text. Align to RQB lookup values where possible.                 |
| `model` | Model  | string | No       | Vehicle model name and trim.    | Free text.                                                            |
| `year`  | Year   | string | No       | Model year as a 4-digit string. | `YYYY` (e.g. `2023`).                                                 |

Behavior: Vehicle data is stored in the Prefill model and transferred to the RQB cache when the journey starts. VIN decoding and all vehicle field validations are handled by RQB during the customer’s interaction, not at the time of the API call.

## Field-Level Notes

Optional fields and warnings: Optional fields that are missing are silently accepted. Optional fields that are present but malformed (e.g. incorrect date format, VIN length mismatch) generate a warning in the response but do not block the submission.

Required field failures: Missing or invalid required fields (language, product, isPrefill, referrer) result in a 400 Bad Request response. The array in the response will identify which field caused the failure.

Customer editability: All prefilled data is displayed as editable in the RQB journey. The customer may review, update, or clear any field. Prefilled values are starting points, not locked inputs.