Quote requests from AI agents
A plain format for asking a business for a price: the same fields a person fills in on a quote form, sent as JSON. It is Kavel's draft. It may change, and it is not an industry standard.
Principles
- A request is not an order. Sending one commits nobody to anything. A person at the supplier decides the price and terms and replies.
- Agents say so. Set
"agent": truewhen an AI agent sends a request for a person. The supplier is told. - The person approves first. An agent should show the person the exact request and get their approval before sending it.
- Plain fields. Description, quantity and unit cover most requests. Everything else is optional.
Where to send it
Each supplier with a free Kavel quote page has an address like https://getkavel.com/q/<id> for people, and https://getkavel.com/api/q/<id> for software:
GET /api/q/<id>returns who the page belongs to (company and website), so you can check before sending.POST /api/q/<id>withContent-Type: application/jsonsends the request.
AI assistants can do the same through Kavel's MCP server (tools get_quote_page and request_quote).
Fields
| Field | Required | What it is |
|---|---|---|
email | Yes | The buyer's email address. The supplier replies here directly. |
items | Yes | 1 to 50 lines, each with description (required), spec (size, grade, colour or part number), quantity (a number where possible) and unit. |
name, company | No | Who is asking. |
agent | No | true when an AI agent sends it for a person. |
deliverTo, neededBy, replyBy | No | Town or postcode, and dates (YYYY-MM-DD is clearest). |
paymentTerms, notes | No | Terms asked for, and anything else the supplier should know. |
Machine-readable: JSON Schema · OpenAPI.
Example
POST https://getkavel.com/api/q/<id>
Content-Type: application/json
{"email": "buyer@example.com", "name": "Sam", "company": "Example Ltd", "agent": true,
"items": [{"description": "Hex bolt M8 x 40mm", "spec": "stainless A2", "quantity": 400, "unit": "pcs"}],
"deliverTo": "Leeds", "neededBy": "2026-11-14"}
Replies
- 200
{"ok": true, ...}: sent to the supplier by email. They reply to the buyer directly, in the usual way. - 400: a field is missing or invalid; the
errorsays which. - 404: no active quote page with that id.
- 429: too many requests (each page takes up to 30 a day, and each sender up to 6 an hour).
What the supplier receives
An email listing every line, the delivery details and the buyer's address as reply-to, with the same request attached as a block of JSON that tools such as QuoteDesk read without AI. Kavel does not keep a copy of the request.
Limits
- It does not prove who sent a request. Suppliers should treat each one as they would an email from someone new.
- It does not carry prices, payment details or binding commitments.
- Formal procurement standards, such as the Request For Quotation document in OASIS UBL, go much further. This format is deliberately small, and its fields map onto them.
Draft 0.1, October 2026. Written with AI. Suggestions: support@getkavel.com.