QuipteamsREST API
v123 endpointsStable

quipteams REST API

Programmatic access to quotes, assets, employees, device actions, kits, webhooks, and the shared product catalog.

Base URL

https://api.quipteams.com

Auth

Bearer token via Authorization header

Format

JSON responses, cursor pagination

Authentication

All requests require a Bearer token. Create an API key from your company settings.

bash
curl "https://api.quipteams.com/api/v1/quotes" \
  -H "Authorization: Bearer qk_live_a1b2c3d4e5f6..."
Keep your keys secret. API keys are shown once at creation and cannot be retrieved later. Revoke compromised keys immediately.

Key format

text
qk_live_a1b2c3d4e5f6...   # Production
qk_test_a1b2c3d4e5f6...   # Test

Rate limiting

Every API key has a per-minute request budget. These headers are included in every response.

HeaderDescription
X-RateLimit-LimitMax requests allowed in the current window
X-RateLimit-RemainingRequests left in the current window
X-RateLimit-ResetUnix timestamp (ms) when the window resets
Retry-AfterSeconds to wait before retrying (only on 429)

Pagination

List endpoints use cursor-based pagination. Pass the cursor from the previous response to get the next page.

javascript
// First page
const res = await fetch("https://api.quipteams.com/api/v1/quotes?limit=10", {
  headers: { Authorization: "Bearer YOUR_API_KEY" },
}).then((r) => r.json());

// Next page
const nextPage = await fetch(
  `https://api.quipteams.com/api/v1/quotes?limit=10&cursor=${res.meta.next_cursor}`,
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
).then((r) => r.json());

Errors

All errors return a consistent JSON structure with a code, message, and optional details.

json
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Missing or invalid Authorization header",
    "details": null
  }
}
CodeStatusDescription
UNAUTHORIZED401Missing, invalid, expired, or revoked API key.
FORBIDDEN403Valid API key but lacks the required scope, or API access is disabled for the company.
NOT_FOUND404The requested resource does not exist, or it belongs to a different company.
VALIDATION_ERROR400Invalid query parameters. The details field may contain specifics.
CONFLICT409The request conflicts with current state (e.g. device already has an active action).
RATE_LIMITED429Too many requests. Check the Retry-After header and X-RateLimit-* headers.
INTERNAL_ERROR500Unexpected server error. Contact support if this persists.

Quotes

5 endpointsquotes:read

Manage hardware procurement quotes. Quotes contain items, recipients, and alternatives.

Assets

1 endpointassets:read

Query the company's hardware asset inventory (holding assets).

Device Actions

4 endpointsdevice_actions:read

Track device lifecycle actions such as retrievals, transfers, wipes, and deployments.

Devices

1 endpointassets:write

Add devices to your company's inventory (holding assets). Once added, you can create device actions using the serial number via POST /api/v1/device-actions.

Products & Kits

4 endpoints

Browse the global product catalog and reusable kit templates used when creating quotes.

Webhooks

6 endpointswebhooks:manage

Subscribe to real-time event notifications via HTTP callbacks. When events occur (tracking added, deliveries, status changes), quipteams sends a signed POST request to your endpoint.

Employees

2 endpointsemployees:read

Query employee records synced from your HRIS. Employees are read-only via the API.