Endpoints
Five endpoints cover everything partners have asked for so far. If you need something else, tell us.
GET/v1/catalog
Lists every piece currently offered to trade partners, newest first. Supports simple paging.
category | Optional. One of coasters, planters, jewelry, decor. |
page | Optional. Page number, starting at 1. 50 items per page. |
{
"items": [
{
"sku": "PC-CST-014",
"name": "River slate coaster set (4)",
"category": "coasters",
"wholesale_price": 2400,
"retail_price": 4800,
"currency": "USD"
}
],
"page": 1,
"has_more": true
}
GET/v1/catalog/{sku}
Full details for one piece: dimensions, weight, finish, care notes and image file names from the media library.
GET/v1/stock
Current stock count per SKU. Updated after each packing session, usually twice a day. Handmade pieces sell out, so please refresh before showing “in stock” to customers.
{ "updated_at": "2026-10-24T15:10:00Z",
"stock": { "PC-CST-014": 18, "PC-PLN-007": 0, "PC-JWL-031": 5 } }
POST/v1/orders
Creates a restock order. Send an Idempotency-Key header so a retried request never creates a second order.
POST /v1/orders
Idempotency-Key: 3f1c9a52-shop-0427
{
"reference": "SHOP-0427",
"lines": [
{ "sku": "PC-CST-014", "qty": 6 },
{ "sku": "PC-JWL-031", "qty": 2 }
]
}
GET/v1/orders/{id}
Order status: received, confirmed, packing, shipped or cancelled, plus a tracking number once shipped.