---
title: quotes.sign | Doing Work API
description: Sign a quote after accepting electronic signing. Hosted page only.
url: https://doingwork.work/docs/reference/quotes-sign/
---

# quotes.sign

Sign a quote after accepting electronic signing. Hosted page only.

|  |  |
|---|---|
| Who | Hosted page only (a person does it in the browser) |
| REST | `POST /v1/quotes/sign` |
| MCP tool | Not an MCP tool |
| Writes | yes, send an Idempotency-Key |
| Area | [Quotes (unlimited)](https://doingwork.work/docs/reference/#quotes-unlimited) |

## When to use it

Never call it. The customer signs on the hosted page after agreeing to sign electronically.

## What to tell the owner

Your customer signs on their phone. In Idaho, quotes over $2,000 show the state disclosure and they acknowledge it.

## Input

| Field | Type | Required |
|---|---|---|
| `t` | string | yes |
| `document_hash` | string | yes |
| `esign_consent` | string (one of yes) | yes |
| `disclosure_ack` | string (one of yes) | no |
| `option` | string | no |
| `optional_lines` | string | no |

## Example

```http
POST https://doingwork.work/v1/quotes/sign
content-type: application/json
Idempotency-Key: 3f1c...

{
  "t": "...",
  "document_hash": "...",
  "esign_consent": "yes"
}
```

## Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are `{code, message, status}`.

## Errors

| Code | Status | What to do |
|---|---|---|
| `human_only` | 403 | This step happens on a hosted page the person opens themselves. Send them the link; don't try another route. |
| `consent_required` | 400 | A person must tick a consent box on a hosted page (for example e-sign). Send them the link. |
| `disclosure_ack_required` | 400 | The customer must acknowledge the Idaho disclosure on the hosted signing page. |
| `invalid_link` | 400 | The link was used, expired, or replaced by a newer one. Get a new link. |
| `invalid_input`, `invalid_token`, `rate_limited` |  | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |
