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

# Estimates

> Non-binding prices and actionable intake

`POST /v1/estimates` accepts `pack_id` and `factors`; `dry_run: true` remains compatible. Discover required fields and enum values from `GET /v1/packs`. Canonical packs are `tattoo/custom` and `medspa/laser-removal`.

Never send customer phone/email, including nested values. Keep image bytes client-side. Responses describe integer-minor-unit price ranges, sessions, candidate fixtures, assumptions and a deposit preview. Estimates never charge, reserve an appointment or earn a partner bounty.

HTTP 422 returns `missing_fields` and `suggested_user_questions`. Ask that clarifying set, then retry with answers. Preserve `requires_escalation` and any `continue_url`; do not treat escalation as an approved quote. Unsure goals, PMU and multiple tattoos may require consultation.

[Quotes and holds](https://docs.quote.dev/quotes-and-holds.md) are a separate explicitly authorized operation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.