Skip to content

QuotWay API and webhooks

Read time: 4 minutes. Who it's for: Developers, agencies and operations teams connecting QuotWay to an ERP, CRM, headless storefront, data warehouse or automation tool.

⚠️ The QuotWay API and webhooks require the Enterprise plan ($199/month). A store on an active 14-day trial has full access, so you can build and test before you subscribe. See Plans, trial, and billing.

What is the QuotWay API?

The QuotWay API is a REST API that lets your own systems read and create B2B quotes in a QuotWay store. Webhooks are its push half: QuotWay sends a signed HTTPS request to your endpoint every time something happens to a quote. Together they let a quote flow into the rest of your stack without anyone copying numbers between screens.

  • Base URL: https://api.quotway.com
  • Current version: v1 in the URL · 2026-10-01 in the QuotWay-Version response header
  • Format: JSON in and out. Money is a decimal string ("1250.00") next to an ISO currency code; timestamps are ISO-8601 in UTC.
  • Authentication: a per-store API key sent as Authorization: Bearer qw_live_…
  • Errors: RFC 9457 problem details with a stable code on every error.
  • Machine-readable spec: OpenAPI 3.1 at https://api.quotway.com/openapi.json - import it into Postman, Insomnia or a code generator.

What can I build with it?

You want to… Use
Sync every quote into an ERP, CRM or warehouse GET /v1/quotes with an updated_at watermark, plus webhooks for real-time changes
React the moment a buyer accepts, counters or declines Webhooks - 25 event types
Recover anything your webhook endpoint missed GET /v1/events - the last 30 days, in order
Send quote requests from a headless or custom storefront POST /v1/quotes
Post a message to the buyer, or leave an internal note POST /v1/quotes/{id}/messages
Send a proposal your team has already priced POST /v1/quotes/{id}/send-proposal
List and download a quote's Proposal, Confirmation or Pro-forma PDFs GET /v1/quotes/{id}/documents, then GET /v1/documents/{id}
Pull pipeline and conversion metrics into a BI tool GET /v1/analytics/summary

What the API deliberately does not do

Pricing stays with your team. The API can create a quote request and send a proposal that a person has already priced and saved in QuotWay, but it cannot set or change prices, accept or decline on the buyer's behalf, edit lines, or convert a quote to a draft order. Every commercial decision still happens in QuotWay, under your approval policies and price floor.

Buyer personal data is opt-in. A quote returned by the API carries the buyer's name, email, phone, addresses and free-text answers only when the key has the read_customer_data scope, and webhook payloads never carry them. See the quote object.

Endpoints at a glance

Method Path Scope
GET /v1/ping any valid key
GET /v1/quotes read_quotes
POST /v1/quotes write_quotes
GET /v1/quotes/{id} read_quotes
GET /v1/quotes/{id}/events read_quotes
GET /v1/quotes/{id}/documents read_quotes
POST /v1/quotes/{id}/messages write_quotes
POST /v1/quotes/{id}/send-proposal write_quotes
GET /v1/events read_quotes
GET /v1/documents/{id} read_quotes + read_customer_data
GET /v1/analytics/summary read_analytics
GET /v1/webhooks manage_webhooks
POST /v1/webhooks manage_webhooks
GET /v1/webhooks/{id} manage_webhooks
DELETE /v1/webhooks/{id} manage_webhooks

The full request and response schemas are in the API reference.

Guides in this section

Use of the API and webhooks is governed by the QuotWay API Terms of Use, which add to the Terms of Service.

In this section

API quickstartCreate a QuotWay API key, check it with /v1/ping, list your quotes and create a quote request - in about ten minutes.5 minutes readAPI authentication, keys and scopesHow QuotWay API keys work: live and test keys, the five scopes, IP allowlists, expiry, rolling a key without downtime, and revoking one.7 minutes readAPI errorsEvery error code the QuotWay API returns - HTTP status, what it means and what to do - with the RFC 9457 problem-details format.9 minutes readAPI rate limitsQuotWay API rate limits: 120 requests per minute per key and 300 per store, the X-RateLimit headers, and how to handle 429 with Retry-After.3 minutes readAPI pagination and filteringHow QuotWay API lists paginate: the list envelope, opaque cursors for quotes, starting_after for events, filters, and a safe incremental-sync recipe.5 minutes readIdempotent requestsRetry QuotWay API POSTs safely with the Idempotency-Key header: replays, 24-hour window, and the 409 and 422 cases.4 minutes readThe quote objectEvery field on a quote returned by the QuotWay API - status, lines, totals, headline, still_open vs accepted, and buyer data behind read_customer_data.10 minutes readCreate quotes through the APICreate quote requests over the QuotWay API from a headless storefront or an ERP - lines, buyer, custom fields, eligibility and idempotency.8 minutes readPost messages and send proposalsPost messages to the buyer and send a proposal your team already priced, over the QuotWay API - staged proposals, price floors and approvals.6 minutes readEvents feedRead every published QuotWay quote event from the last 30 days with GET /v1/events - the ordered audit feed and the recovery path for missed webhooks.4 minutes readDocuments (PDFs)List and download a quote's PDFs over the QuotWay API - proposals, confirmations and pro-formas - and the scope each call needs.2 minutes readAnalytics summaryPull QuotWay quote metrics - volume, accepted and converted value, pipeline and response times - by day, week or month from the API.3 minutes readWebhooksSigned webhooks for 25 QuotWay quote events: payloads, Standard Webhooks signatures, retries, auto-disable and the events feed. Enterprise plan.14 minutes readAPI versioning and changelogHow the QuotWay API is versioned - v1 in the URL, the 2026-10-01 QuotWay-Version header, what counts as a compatible change - and the API changelog.3 minutes readAPI referenceThe complete QuotWay REST API reference - every endpoint, parameter, request body and response schema - generated from the OpenAPI 3.1 specification.Reference read

Still need a hand? The team is happy to help.

We’d like to set analytics cookies to understand how the site is used. They’re not required — declining changes nothing about how the site works, and you can change your mind any time on our privacy page.