Skip to content

One product with all its offers

GET
/v1/catalog/item/{upc}
curl --request GET \
--url https://api.oldsteelarsenal.com/v1/catalog/item/example \
--header 'x-client-id: <x-client-id>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>'

Single-product read with HTTP caching: the response carries a weak ETag derived from the item’s highest offer change_seq and Cache-Control: private, max-age=60; send If-None-Match to get a free 304 while nothing changed. Scope: catalog:read.

upc
required
Upc
string
x-client-id
Any of:
string
x-timestamp
Any of:
string
x-signature
Any of:
string

Successful Response

Media typeapplication/json
ItemResponse
object
best_offer
Any of:
OfferFull
object
caliber
required
Caliber
string
cost
required
Cost
number
department
required
Department
string
discontinued
required
Discontinued
boolean
distributor
required
Distributor
string
dropship_blocked
required
Dropship Blocked
boolean
ffl_required
required
Ffl Required
boolean
image_name
required
Image Name
string
image_url
required
Image Url
string
image_url_hires
required
Image Url Hires
string
long_description
required
Long Description
string
manufacturer
required
Manufacturer
string
map
required
Map
number
map_policy
Map Policy

Manufacturer price-policy mark when the distributor ships one (ss: ‘M’ = enforceable MAP, ‘U’ = suggested MSRP, ‘’ = no policy — render ‘’ as ‘no policy’, never as MAP $0). Always ‘’ for rsr.

string
""
mfg_number
required
Mfg Number
string
model
required
Model
string
msrp
required
Msrp
number
product_class
required
Product Class

Handgun / Long Gun / Other Firearm / Ammunition / Accessory, from this distributor’s own department code — the one class table; a client keeps none of its own.

string
prop65
required
Prop65
boolean
qty
required
Qty
integer
ships_ground_only
required
Ships Ground Only
boolean
short_description
required
Short Description
string
signature_required
required
Signature Required
boolean
sku
required
Sku
string
status_flag
required
Status Flag
string
upc
required
Any of:
string
vendor_approval_required
required
Vendor Approval Required
boolean
weight_lb
required
Weight Lb
number
offers
required
Offers
Array<object>
OfferFull
object
caliber
required
Caliber
string
cost
required
Cost
number
department
required
Department
string
discontinued
required
Discontinued
boolean
distributor
required
Distributor
string
dropship_blocked
required
Dropship Blocked
boolean
ffl_required
required
Ffl Required
boolean
image_name
required
Image Name
string
image_url
required
Image Url
string
image_url_hires
required
Image Url Hires
string
long_description
required
Long Description
string
manufacturer
required
Manufacturer
string
map
required
Map
number
map_policy
Map Policy

Manufacturer price-policy mark when the distributor ships one (ss: ‘M’ = enforceable MAP, ‘U’ = suggested MSRP, ‘’ = no policy — render ‘’ as ‘no policy’, never as MAP $0). Always ‘’ for rsr.

string
""
mfg_number
required
Mfg Number
string
model
required
Model
string
msrp
required
Msrp
number
product_class
required
Product Class

Handgun / Long Gun / Other Firearm / Ammunition / Accessory, from this distributor’s own department code — the one class table; a client keeps none of its own.

string
prop65
required
Prop65
boolean
qty
required
Qty
integer
ships_ground_only
required
Ships Ground Only
boolean
short_description
required
Short Description
string
signature_required
required
Signature Required
boolean
sku
required
Sku
string
status_flag
required
Status Flag
string
upc
required
Any of:
string
vendor_approval_required
required
Vendor Approval Required
boolean
weight_lb
required
Weight Lb
number
product
required
ProductOut
object
content_locked
required
Content Locked
boolean
content_optimized
Content Optimized

Any optimized field is set.

boolean
content_source
required
Content Source
string
description
required
Description

The product title: the optimized one when set, else the distributor’s (original.description).

string
ffl_required
required
Ffl Required
boolean
image_url
required
Image Url
string
long_description
Long Description

The long description: the optimized one when set, else the distributor’s (original.long_description).

string
""
manufacturer
required
Manufacturer

The brand’s name: every feed spelling of one brand (e.g. ‘Holosun Technologies’) is served as it.

string
meta_description
Meta Description

Optimized search result snippet; empty when none.

string
""
model
required
Model
string
original
Any of:
OriginalCopy
object
description
required
Description

The distributor’s title (the merged short description), whatever is served.

string
long_description
required
Long Description

The distributor’s long copy (the best offer in merge order that has any; the content bench’s own when locked).

string
short_description
Short Description

Optimized short description; empty when none (distributors have no such field).

string
""
upc
required
Upc
string
Example
{
"best_offer": {
"map_policy": ""
},
"offers": [
{
"map_policy": ""
}
],
"product": {
"content_optimized": false,
"long_description": "",
"meta_description": "",
"short_description": ""
}
}

Not modified (If-None-Match matched)

Unknown UPC

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"
}
]
}