API Reference · v1

TradeQuote API

Build integrations on top of TradeQuote. Authenticated REST endpoints over HTTPS, JSON in and out, and idempotent writes.

Authentication

POST/v1/auth/session
Create a session token.
{
  "email": "owen@northwind.co",
  "password": "•••••••"
}
DELETE/v1/auth/session Bearer token
Revoke the current session.
{ "ok": true }

Customers

GET/v1/customers Bearer token
List customers in the active tenant.
{
  "data": [{ "id": "c1", "fullName": "Marie Jensen", "email": "marie@example.com" }],
  "page": { "next": null, "limit": 25 }
}
POST/v1/customers Bearer token
Create a customer.
{ "fullName": "Hans Olsen", "email": "hans@olsen.dk", "phone": "+45 11 22 33 44" }
PATCH/v1/customers/{id} Bearer token
Update a customer.
{ "id": "c_42", "updatedAt": "..." }
DELETE/v1/customers/{id} Bearer token
Delete a customer.
{ "ok": true }

Quotations

GET/v1/quotations Bearer token
List quotations with filters.
{ "data": [{ "id": "q_1", "status": "Sent", "total": 27750 }] }
POST/v1/quotations Bearer token
Create a quotation.
{
  "customerId": "c1",
  "title": "Bathroom retiling",
  "items": [{ "description": "Tiles", "qty": 14, "unitPrice": 980 }],
  "taxRate": 25
}
POST/v1/quotations/{id}/send Bearer token
Send a quotation to the customer.
{ "id": "q_99", "status": "Sent" }
POST/v1/quotations/{id}/duplicate Bearer token
Duplicate to a new draft.
{ "id": "q_100", "status": "Draft" }
GET/v1/quotations/{id}/pdf Bearer token
Download a generated PDF.
binary application/pdf

Webhooks

POST/v1/webhooks Bearer token
Register a webhook for quotation events.
{ "url": "https://example.com/hook", "events": ["quotation.accepted", "quotation.rejected"] }