Skip to main content

Stock

GET /stock

Returns current stock availability for products in your price list, at your assigned warehouse. Each element of the response array is one stock entry (one SKU at one warehouse).

Authentication

Required. Bearer token from /auth/token.

Request

No query parameters, path parameters, or request body. The response is scoped to your customer record automatically.

Example

GET /stock HTTP/1.1
Host: api.kiss.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json

Response

200 OK with a JSON array. Each element conforms to the Stock Entry model.

Example response

[
{
"SKU": "DRAC001",
"StockLocation": "UK01",
"AvailableQTY": 432,
"NextAvailableETA": "2026-06-15"
},
{
"SKU": "FANG001",
"StockLocation": "UK01",
"AvailableQTY": 0,
"NextAvailableETA": null
}
]

Field meanings

FieldMeaning
SKUThe product code.
StockLocationThe warehouse code. Same value for every row — this is your assigned warehouse.
AvailableQTYQuantity available to order right now.
NextAvailableETAExpected next-availability date in YYYY-MM-DD format. null when no date is known.

Filtering behaviour

Server-side filters are applied automatically:

  • Warehouse scoping. Only stock at your assigned warehouse is returned. If you order from multiple Kiss warehouses, contact your account manager about adding the others to your account.
  • Price-list scoping. Only SKUs that exist in your price list are returned. This means stock entries always have a matching row in /products.

Pagination

This endpoint does not paginate. All eligible rows are returned in a single response.

Status codes

StatusCause
200Success.
401Missing, malformed, or expired bearer token.
404Your customer record could not be found. Body: { "error": "Customer not found." }
429Rate limited — see Rate limits.

When stock data is refreshed

Stock figures reflect the current state of Kiss's warehouse system at the moment of the request. There is no caching layer on the API side — each request returns the latest values.

That said, the underlying warehouse system itself updates on a cycle. Polling every minute won't give you faster updates than polling every fifteen — and will eat into your rate-limit quota for no benefit. Most customers find that polling every 15 to 30 minutes is the right trade-off.