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

# Policy Lifecycle

> Binding quotes and managing policies through the Cover Whale API

# Policy Lifecycle

Once a submission is quoted, you can bind it through the API to create an active policy. This guide covers the binding process and what happens after.

## Binding a Quote

To bind a quoted submission, submit a `PUT` request to `/bind/{displayId}` with coverage selections, binding method, and shipping details.

### Prerequisites

* The submission must be in **Quoted** status
* You must select which coverage lines to include
* An effective date must be provided

### Bind Request

```bash theme={null}
curl -X PUT https://api.coverwhale.dev/v1/bind/2261310 \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "AccessToken: YOUR_TOKEN" \
  -d '{
    "coverage": {
      "includeAL": "Y",
      "includeAPD": "Y",
      "includeMTC": "Y",
      "includeTGL": "Y",
      "includeNTL": "Y",
      "brokerFeeAL": 10,
      "brokerFeeAPD": 10,
      "brokerFeeMTC": 10,
      "brokerFeeTGL": 10,
      "brokerFeeNTL": 10,
      "optInCWFinancing": "Y",
      "electTRIA": "N",
      "effectiveDate": "03/01/2026"
    },
    "bindingMethod": {
      "signFirst": "N",
      "retailAgentEmail": "agent@example.com",
      "insuredEmail": "insured@example.com",
      "insuredFullName": "John Doe",
      "electronicSignature": "Y"
    },
    "shippingAddress": {
      "dashcam_shipping_address": "insured",
      "street": "4310 W Jefferson Blvd",
      "city": "Los Angeles",
      "state": "CA",
      "zip": "90016",
      "county": "Los Angeles"
    }
  }'
```

A successful bind request returns:

```json theme={null}
{
  "status": "success"
}
```

The submission status then moves to **Request to Bind** while underwriting finalizes the policy.

## Coverage Selection

At bind time, you choose which coverage lines to include. Set each to `"Y"` to include or omit to exclude:

| Field        | Coverage                   |
| ------------ | -------------------------- |
| `includeAL`  | Auto Liability             |
| `includeAPD` | Auto Physical Damage       |
| `includeMTC` | Motor Truck Cargo          |
| `includeTGL` | Truckers General Liability |
| `includeNTL` | Non-Trucking Liability     |

## Broker Fees

Each coverage line accepts a broker service fee (numeric value):

* `brokerFeeAL`, `brokerFeeAPD`, `brokerFeeMTC`, `brokerFeeTGL`, `brokerFeeNTL`

## Financing

Set `optInCWFinancing` to `"Y"` to use Cover Whale's premium financing option. When opted in, the payment type is automatically set to Cover Whale financing.

## TRIA Coverage

Set `electTRIA` to `"Y"` to elect Terrorism Risk Insurance Act coverage, or `"N"` to decline.

## Electronic Signature

The `bindingMethod` object controls how the policy documents are signed:

| Field                 | Description                                                 |
| --------------------- | ----------------------------------------------------------- |
| `signFirst`           | `"Y"` if the insured must sign before the policy is bound   |
| `electronicSignature` | `"Y"` to use electronic signature (instant bind method)     |
| `insuredEmail`        | Email address for the insured to receive signature requests |
| `insuredFullName`     | Full name of the insured for signature                      |
| `retailAgentEmail`    | Email of the retail agent                                   |

## Dashcam Shipping

Cover Whale may ship dashcams as part of the policy. The `shippingAddress` object specifies where to send them:

* Set `dashcam_shipping_address` to `"insured"` to ship to the insured's address on file
* Provide `street`, `city`, `state`, `zip`, and `county` for a custom shipping address

## What Happens After Binding

Once a bind request is successfully submitted:

1. The submission status changes to **Request to Bind**
2. Cover Whale's underwriting team reviews and approves the bind
3. Policy numbers are assigned for each coverage line
4. Policy documents are generated
5. The submission status changes to **Bound**
6. The agent and insured receive confirmation emails

## Error Handling

The bind endpoint returns `404` if:

* The submission is not in **Quoted** status
* Required fields are missing or invalid
* The submission cannot be found

```json theme={null}
{
  "status": "failed",
  "error": "Submission status must be quoted"
}
```

## Post-Bind Operations

After a policy is bound, additional lifecycle operations are available:

| Operation      | Endpoint                  | Description                                                  |
| -------------- | ------------------------- | ------------------------------------------------------------ |
| Endorsement    | `POST .../endorsement`    | Modify an active policy ([full guide](/guides/endorsements)) |
| Cancel Request | `POST .../cancel-request` | Initiate cancellation                                        |
| Cancel Approve | `POST .../cancel-approve` | Approve pending cancellation                                 |
| Cancel Execute | `POST .../cancel`         | Execute the cancellation                                     |
| Reinstatement  | `POST .../reinstatement`  | Reinstate a cancelled policy                                 |
| Non-Renewal    | `POST .../non-renewal`    | Mark policy for non-renewal                                  |
| Decline        | `POST .../decline`        | Decline a submission                                         |

See the [Policy Lifecycle](/api-reference/policy-lifecycle/create-endorsement) section in the API Reference for full endpoint documentation.

## Related Endpoints

* [Bind a Quoted Submission](/api-reference/binding/bind-a-quoted-submission) — Full bind endpoint schema
* [Get Submission Status](/api-reference/submissions/get-submission-status) — Check submission status after binding
* [Create Endorsement](/api-reference/policy-lifecycle/create-endorsement) — Modify a bound policy
