Create a quote
Quotes: Manage hardware procurement quotes. Quotes contain items, recipients, and alternatives.
Endpoint12 params
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
requester_email | string | yes | Email of the person requesting the quote |
requester_name | string | no | Name of the person requesting the quote |
po_number | string | no | Purchase order number |
notification_emails | string[] | no | Additional emails to notify about this quote |
items | object[] | yes | Array of items. Each item must use exactly one mode (catalog product or kit bundle) plus at least one recipient. |
Item mode: Catalog productpick one mode Use product_id from GET /api/v1/products. Recommended when ordering standard hardware. | |||
items[].product_id | UUID | yes | Product ID from the catalog. Auto-populates brand, model, and product_type. |
items[].configuration_id | UUID | no | Picks a specific configuration (cpu, ram, storage, etc.). Use the configurations array from GET /api/v1/products. |
items[].specification | object | no | Override auto-populated specs (e.g. keyboard_layout). Merged on top of configuration values. |
Item mode: Kit bundlepick one mode Use kit_id from GET /api/v1/kits. Orders all devices in the kit at once. | |||
items[].kit_id | UUID | yes | Kit ID. Expands into one quote item per device in the kit. |
| Common item fields These apply regardless of which mode you use. | |||
items[].quantity | integer | no | Quantity (default: 1) |
items[].comments | string | no | Additional comments for this item |
items[].recipients | object[] | yes | Array of recipients. Each requires name and country. |
javascript
const response = await fetch(`https://api.quipteams.com/api/v1/quotes`, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"requester_email": "jane@acme.com",
"requester_name": "Jane Smith",
"po_number": "PO-9981",
"notification_emails": [
"purchasing@acme.com"
],
"items": [
{
"product_id": "8f3d8998-6a80-4612-bda3-7f14af50c686",
"configuration_id": "d748b47f-b4de-4a02-8fc4-1d815923392c",
"quantity": 1,
"comments": "Need US keyboard layout",
"recipients": [
{
"name": "John Doe",
"email": "john@acme.com",
"country": "United States",
"phone_number": "+1-555-0100",
"address": "123 Main St, NYC"
}
]
}
]
}),
});
const { data } = await response.json();
console.log(data);Example — Catalog Product (recommended)
json
{
"requester_email": "jane@acme.com",
"requester_name": "Jane Smith",
"po_number": "PO-9981",
"notification_emails": [
"purchasing@acme.com"
],
"items": [
{
"product_id": "8f3d8998-6a80-4612-bda3-7f14af50c686",
"configuration_id": "d748b47f-b4de-4a02-8fc4-1d815923392c",
"quantity": 1,
"comments": "Need US keyboard layout",
"recipients": [
{
"name": "John Doe",
"email": "john@acme.com",
"country": "United States",
"phone_number": "+1-555-0100",
"address": "123 Main St, NYC"
}
]
}
]
}Example — Kit (entire device bundle)
json
{
"requester_email": "jane@acme.com",
"requester_name": "Jane Smith",
"items": [
{
"kit_id": "kit-uuid-001",
"quantity": 1,
"comments": "New hire starting April 1st",
"recipients": [
{
"name": "John Doe",
"email": "john@acme.com",
"country": "United States",
"address": "123 Main St, NYC"
}
]
}
]
}Response
json
{
"data": {
"order_id": "1741345200000",
"po_number": "PO-9981",
"status": "in_progress",
"status_timestamps": {
"in_progress": "2026-03-07T10:00:00.000Z"
},
"countries": [
"United States"
],
"requester": {
"email": "jane@acme.com",
"name": "Jane Smith"
},
"items": [
{
"id": "item-uuid-001",
"product_type": "Laptop",
"quantity": 1,
"status": "in_progress",
"price": null,
"specification": {
"brand": "Apple",
"model": "MacBook Air",
"os": null,
"cpu": "M4",
"ram": "16GB",
"storage": "512GB",
"screen_size": "13",
"keyboard_layout": "US"
},
"comments": "Need US keyboard layout",
"recipients": [
{
"id": "rec-uuid-001",
"name": "John Doe",
"email": "john@acme.com",
"country": "United States",
"status": "in_progress",
"status_timestamps": {
"in_progress": "2026-03-07T10:00:00.000Z"
},
"phone_number": "+1-555-0100",
"address": "123 Main St, NYC",
"storage": false,
"serial_number": null,
"tracking_code": null,
"tracking_link": null,
"invoice_number": null,
"hire_date": null
}
],
"alternatives": [],
"created_at": "2026-03-07T10:00:00.000Z"
}
],
"created_at": "2026-03-07T10:00:00.000Z",
"updated_at": "2026-03-07T10:00:00.000Z"
}
}