Skip to content

Observed stockout risk, post-restock depletion, and cost declines

GET
/v1/catalog/inventory/signals
curl --request GET \
--url 'https://api.oldsteelarsenal.com/v1/catalog/inventory/signals?distributor=rsr&days=7&limit=25' \
--header 'x-client-id: <x-client-id>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>'

Distributor/SKU observations, not retail sales or market demand. Only continuous, fresh samples qualify. Stockout needs 24 hours of coverage and 6 in-stock hours; cover <=7 days. Fast depletion: >=50% of post-restock stock within 72 hours. Cost decline: >=5% and >=$1 since the window/segment start. Unknown distributors return empty lists. Scope: catalog:read.

distributor
Distributor
string
default: rsr /^[a-z0-9_]{1,32}$/
days
Days
integer
default: 7 >= 1 <= 30
limit
Limit
integer
default: 25 >= 1 <= 100
x-client-id
Any of:
string
x-timestamp
Any of:
string
x-signature
Any of:
string

Successful Response

Media typeapplication/json
InventorySignalsResponse
object
cost_drop
required
Cost Drop
Array<object>
InventorySignal
object
amount
required
Amount

Observed depletion units or cost decrease in USD; not sales.

number
current_value
required
Current Value
number
last_at
required
Last At
string format: date-time
name
required
Name
string
observed_hours
required
Observed Hours
number
reference_at
required
Reference At
string format: date-time
reference_value
required
Any of:
number
score
required
Score

Stockout: estimated cover days. Other lists: percent decline.

number
sku
required
Sku
string
upc
required
Any of:
string
distributor
required
Distributor
string
fast_depletion
required
Fast Depletion
Array<object>
InventorySignal
object
amount
required
Amount

Observed depletion units or cost decrease in USD; not sales.

number
current_value
required
Current Value
number
last_at
required
Last At
string format: date-time
name
required
Name
string
observed_hours
required
Observed Hours
number
reference_at
required
Reference At
string format: date-time
reference_value
required
Any of:
number
score
required
Score

Stockout: estimated cover days. Other lists: percent decline.

number
sku
required
Sku
string
upc
required
Any of:
string
observations
required
Observations
Array<object>
InventoryObservation
object
last_observed_at
required
Any of:
string format: date-time
metric
required
Metric
string
Allowed values: qty cost
sampled_count
required
Sampled Count
integer
started_at
required
Any of:
string format: date-time
state
required
State
string
Allowed values: never_sampled empty_sample stale fresh
server_time
required
Server Time
string format: date-time
stockout
required
Stockout
Array<object>
InventorySignal
object
amount
required
Amount

Observed depletion units or cost decrease in USD; not sales.

number
current_value
required
Current Value
number
last_at
required
Last At
string format: date-time
name
required
Name
string
observed_hours
required
Observed Hours
number
reference_at
required
Reference At
string format: date-time
reference_value
required
Any of:
number
score
required
Score

Stockout: estimated cover days. Other lists: percent decline.

number
sku
required
Sku
string
upc
required
Any of:
string
window_days
required
Window Days
integer
Example
{
"observations": [
{
"metric": "qty",
"state": "never_sampled"
}
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}