← Guides

Request a price we don't have

Try it on a test key

curl -s -X POST "https://api.wellwardhealth.com/v1/price-requests" \
  -H "Authorization: Bearer $WELLWARD_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"service":"colonoscopy","zip":"00030"}'

When coverage is none (or thin partial), ask us to gather a price: POST /v1/price-requests with a service (or a free-text query) and a location (zip, or lat/lng). We contact providers; it is not instant.

When you hear back

expected_by is the next business day, or the one after for imaging, surgery and endoscopy. Every request stands on its own, with its own date. Follow it with GET /v1/price-requests/{id} or the request.completed webhook.

| state | Means | |---|---| | queued | received, not started — you can still cancel | | in_progress | we are contacting providers | | completed | done; outcome is price_obtained (with price_ids) or no_price_obtained | | expired | we could not finish in time | | cancelled | you cancelled it |

What is billed

A request is billed only when outcome is price_obtained — a new price for that service, near your location and quoted on or after the day you asked, was published while it was open. It is not billed if we obtain no quote, or if the only quote is outside the reasonable band of prices for that service in that market or comparable markets. The price then becomes available to everyone, and later Reads of it are billed as Reads. Rates: the pricing page.

Refusals

  • 409 coverage_exists — we already have full coverage there. Send max_age_days (at least 30) if you need fresher quotes.
  • 422 unsupported_service — a service we cannot gather.
  • 402 payment_required — a live key on card billing with no card; 402 spend_cap_reached — your spending cap is reached.

Idempotency

Idempotency-Key is required. Send a fresh value per request; for 24 hours, a retry with the same key and body returns the original response instead of creating a second request (the same key with a different body is 409 idempotency_conflict).

In test mode

A test key's request never reaches our team: 30 seconds after creation it plays out its test_scenario (default complete_with_price, for the twelve test services) — see Test mode.

API reference · Dashboard · Questions: hello@wellwardhealth.com