Using the QuoteCrest API
Connect your own application or ERP to QuoteCrest with the REST API — quotes, clients, payments, AI generation, and accounting sync.
Overview
On the Business plan, QuoteCrest exposes a full REST API so your own software — an ERP, a CRM, a field-service app — can drive quoting directly. Everything the app can do is available: quotes and line items, clients, the item library, tax rates, terms templates, payments, PDF rendering, the AI quote builder, and accounting sync triggers.
The complete, always-current endpoint reference lives at quotecrest.com/api-docs.
Getting access
- Make sure your team is on the Business plan (Settings → Billing). API calls from Free or Pro teams return
403 plan_required. - Go to Settings → Developers and click Register application.
- Give it a name, your redirect URI (HTTPS, or localhost during development), and the scopes you need:
readfor read access,writeto create and update. - Copy the Client Secret when it's shown — it appears exactly once. The Client ID stays visible on the application page.
Authenticating
The API uses OAuth 2.0 Authorization Code with PKCE — no API keys. Your app sends a user to /oauth/authorize, they approve the requested scopes, and you exchange the returned code (plus your PKCE verifier) at /oauth/token for an access token.
- Access tokens last 2 hours; use the refresh token to get a new pair.
- Refresh tokens rotate on every use — always store the newest pair.
- Each token is bound to one team: the team of the user who authorized it.
Send the token on every request:
Authorization: Bearer YOUR_ACCESS_TOKEN
Start with GET /api/v1/me — it returns the authorized team, its quote defaults, and your token's scopes.
What you can build
- Quote automation — create clients and quotes (
POST /api/v1/quotes), add line items in bulk, send or publish, and download the PDF. Team defaults (terms, expiry, payment terms, pricing mode) apply automatically. - AI quoting —
POST /api/v1/ai_quotesturns a plain-language job description into a complete draft quote using your item library. - Payment tracking — poll quote
status/payment_statusor list/api/v1/paymentsfor amounts, fees, and net payouts. - Accounting — check connection status at
GET /api/v1/integrationsand trigger a QuickBooks or Xero catalog pull withPOST /api/v1/integrations/{provider}/sync.
For a full walkthrough with example requests, read our two-part guide: setting up your workspace and connecting your app to the API.
Limits and errors
- General API traffic is rate-limited per IP; AI generation is limited to 10 requests per minute per team. A
429response means back off and retry. 401— expired or revoked token (refresh and retry).402 insufficient_credits— the team's AI credit balance is used up.422— validation errors, with details in the body.
Revoke a connected application anytime from Settings → Developers, or as an end user from your authorized-applications page — its tokens stop working immediately.