The LetBuyy API is a REST API with JSON responses. Every LetBuyy store has a unique site_id and can be accessed programmatically via API keys scoped to specific capabilities.
Authentication
The API uses Bearer token authentication. Generate an API key from Settings → Developer → API Keys in your Merchant Control Plane. Keys are scoped: read-only, read-write, or admin.
curl -X GET \
https://api.letbuyy.com/v1/products \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Site-ID: your_site_id"Core Endpoints
| Resource | Endpoint | Methods |
|---|---|---|
| Products | /v1/products | GET, POST, PUT, DELETE |
| Orders | /v1/orders | GET, PUT |
| Customers | /v1/customers | GET, POST, PUT |
| Inventory | /v1/inventory | GET, PUT |
| Collections | /v1/collections | GET, POST, PUT, DELETE |
Rate Limits
- Standard: 100 requests per second per site
- Burst: 250 requests in any 5-second window
- Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
- 429 response when exceeded — implement exponential backoff
Pagination
GET /v1/products?limit=50&cursor=eyJpZCI6MTIzfQ
// Response
{
"data": [...],
"pagination": {
"next_cursor": "eyJpZCI6MTczfQ",
"has_more": true
}
}Idempotency Keys
For POST requests that create resources (orders, products), send an Idempotency-Key header. If the same key is used within 24 hours, the API returns the original response instead of creating a duplicate.
Errors
- 400 Bad Request: Invalid parameters — check the error.field in the response
- 401 Unauthorized: Invalid or expired API key
- 403 Forbidden: Correct key but insufficient scope
- 404 Not Found: Resource doesn't exist for this site_id
- 429 Too Many Requests: Rate limit exceeded
- 500 Internal Server Error: LetBuyy error — retry with backoff