Catalogue. 88 operations.
88 of them work. Page 4 of 5. Each needs a bearer token with its scope. All operations.
Operations
POST/api/v1/catalogue/images/{name}/notecatalogue.set-image-notecatalogue.write
POST/api/v1/catalogue/products/{slug}/linkscatalogue.set-linkscatalogue.write
POST/api/v1/catalogue/products/{slug}/made-to-ordercatalogue.set-made-to-ordercatalogue.write
POST/api/v1/catalogue/products/{slug}/option-picturescatalogue.set-option-picturescatalogue.write
Parameters
slugpath | string |
slugpath | string |
Idempotency-Keyheader | stringSee common parameters |
Request body
Answer
array of OptionPictures
Errors: 401, 403, 404, 405, 409, 413, 422, 429
curl -X POST -H "Authorization: Bearer $TOKEN" https://yourshop.example/api/v1/catalogue/products/{slug}/option-pictures
POST/api/v1/catalogue/products/{slug}/optionscatalogue.set-optionscatalogue.write
POST/api/v1/catalogue/variants/{sku}/pricecatalogue.set-pricecatalogue.write
POST/api/v1/catalogue/review/{slug}/classescatalogue.set-product-classescatalogue.write
POST/api/v1/catalogue/products/{slug}/fieldscatalogue.set-product-fieldscatalogue.write
POST/api/v1/catalogue/products/{slug}/retiredcatalogue.set-retiredcatalogue.write
POST/api/v1/catalogue/review-settingcatalogue.set-reviewstore.write
POST/api/v1/catalogue/review-classescatalogue.set-review-classescatalogue.write
POST/api/v1/catalogue/variants/{sku}/salecatalogue.set-salecatalogue.write
POST/api/v1/catalogue/products/{slug}/slugcatalogue.set-slugcatalogue.write
POST/api/v1/catalogue/variants/{sku}/stockcatalogue.set-stockcatalogue.write
POST/api/v1/catalogue/variants/{sku}/detailscatalogue.set-variant-detailscatalogue.write
POST/api/v1/catalogue/variants/{sku}/fieldscatalogue.set-variant-fieldscatalogue.write
POST/api/v1/catalogue/variants/{sku}/imagescatalogue.set-variant-imagescatalogue.write
GET/api/v1/catalogue/stock-alertscatalogue.stock-alert-countscatalogue.read
GET/api/v1/catalogue/stock-levelscatalogue.stock-levelscatalogue.read
POST/api/v1/catalogue/products/{slug}/unpublishcatalogue.unpublishcatalogue.write
Schemas 38
ChoiceField
ChoiceField is a question a product asks the buyer for each cart line: a free text, or one value of a list. Its Key never changes after an order uses it.
helprequired | string |
keyrequired | string |
kindrequired | string |
labelrequired | string |
linesrequired | integer |
max_lengthrequired | integer |
optionalrequired | boolean |
valuesrequired | array of string |
Combo
Combo is a combo variant as the operations show it: whether it sells at the sum of its parts' prices, and its parts in order. From version 6.
partsrequired | array of ComboPartRequest |
sumrequired | boolean |
ComboPartRequest
ComboPartRequest is a part of a combo: the SKU of a variant of the store that is no combo itself, once in a combo, and how many of it one combo holds, from 1 to 99.
quantityrequired | integer |
skurequired | string |
Dimensions
Dimensions are a variant's size in whole millimetres: all three 0 for none, or each from 1 to 10 000.
height_mmrequired | integer |
length_mmrequired | integer |
width_mmrequired | integer |
FieldValue
FieldValue is the value of a field in a request: a text, a number, a bool or a list of them, as JSON writes them, read as the list of texts the field judges: a number as it is written, true and false as yes and no; null, none.
array of string or string or number or boolean or null
FieldValuesRequest
FieldValuesRequest sets the values of fields for the product or the variant its path names: each by the field's key, null to unset it.
valuesrequired | map of FieldValue |
LinksRequest
LinksRequest is one of a product's lists of other products, its kind (related, upsells or cross_sells) and the products' slugs, in order.
kindrequired | string |
productsrequired | array of string |
MadeToOrderRequest
MadeToOrderRequest makes the variants of a product made to order, or not. SKU names one variant; "" sets every variant of the product. ProductionDays is 1 to 365 and is needed when MadeToOrder is true; Supplier is a supplier's key, or "" when the store makes it itself. A variant that tracks stock, a digital variant, a gift card, a combo or a part of one is Refused, and so is a supplier that is none or archived.
made_to_orderrequired | boolean |
production_daysrequired | integer |
skurequired | string |
supplierrequired | string |
Money
Money is an amount: in minor units of its ISO 4217 currency, and as the store displays it.
currencyrequired | string |
displayrequired | string |
minorrequired | integer |
OptionPictures
OptionPictures is the list of pictures of one value of one option of a product (ASI-3.5, C14): the names of the product's own pictures, in order. A variant with none of its own shows the list of the first of its option values that has one, else its product's pictures. Additive, from version 6.
imagesrequired | array of string |
optionrequired | string |
valuerequired | string |
OptionPicturesRequest
OptionPicturesRequest sets the list of pictures of one value of one option of a product; no names take the list away.
imagesrequired | array of string |
optionrequired | string |
valuerequired | string |
OptionsRequest
OptionsRequest is a product's options and its variants' values of them: its option names, in order, none for a product with one live variant; and every variant of the product, archived ones included, each once, with its value of each option, by the option's name.
optionsrequired | array of string |
variantsrequired | array of VariantOptions |
PictureNoteRequest
PictureNoteRequest is the free text the owner keeps on a picture, for any purpose.
noterequired | string |
PictureVersion
PictureVersion is a picture, or an edited version of one, with its review state (ASI-3.1 to ASI-3.6). A version has Of, the name of the original it is a version of; an original has Of "" and Shown, the name of the version it shows, "" when it shows itself. Additive, from version 6.
altrequired | string |
digestrequired | string |
heightrequired | integer |
heldrequired | boolean |
hold_reasonrequired | string |
largerequired | string |
made_byrequired | string |
namerequired | string |
noterequired | string |
ofrequired | string |
shownrequired | string |
sourcerequired | string |
source_refrequired | string |
staterequired | string |
thumbnailrequired | string |
uploaded_atrequired | string (date-time) |
widthrequired | integer |
PriceRequest
PriceRequest is a variant's new price, as the owner enters it.
pricerequired | string |
Product
Product is a product of the catalogue, with every variant.
card_titlerequired | string |
categoriesrequired | array of string |
categoryrequired | string |
choicesrequired | array of ChoiceField |
choices_allowedrequired | boolean |
choices_refused | string |
country_of_originrequired | string |
cross_sellsrequired | array of string |
descriptionrequired | string |
enquiry_moderequired | string |
enquiry_onlyrequired | boolean |
enquiry_show_pricerequired | boolean |
featured_positionrequired | integer |
fieldsrequired | map of array of string |
hs_coderequired | string |
meta_descriptionrequired | string |
meta_titlerequired | string |
optionsrequired | array of string |
relatedrequired | array of string |
retired | ProductRetirement |
ships_freerequired | boolean |
short_descriptionrequired | string |
slugrequired | string |
titlerequired | string |
unpublished_at | string (date-time) |
updated | string (date-time) |
upsellsrequired | array of string |
variantsrequired | array of Variant |
ProductChange
ProductChange is a product as an operation left it, and whether the operation changed it.
changedrequired | boolean |
productrequired | Product |
ProductClassesRequest
ProductClassesRequest sets the review classes a product is of, by key (none for none); a key the store has not is Invalid.
classesrequired | array of string |
ProductRetirement
ProductRetirement is how a product left the shop (PR-4): At, when it was retired; ReplacedBy, the slug of the product that replaces it, "" for none; KeepPage, whether its address keeps a page that says it is no longer sold.
atrequired | string (date-time) |
keep_pagerequired | boolean |
replaced_byrequired | string |
ReviewActResult
ReviewActResult is the product after an act: its state and look-again flag, whether it is published, and, after an approval, the next product of the list ("" for none).
look_againrequired | boolean |
nextrequired | string |
publishedrequired | boolean |
slugrequired | string |
staterequired | string |
ReviewClass
ReviewClass is a review class of the store's (ASI-2.3): its key, and the label and the badge's words the store writes.
approvers | array of string |
badgerequired | string |
block_claims | array of string |
keyrequired | string |
labelrequired | string |
ReviewClasses
ReviewClasses are the store's review classes, in its order.
classesrequired | array of ReviewClass |
ReviewClassesRequest
ReviewClassesRequest replaces the store's review classes whole. A key is 1 to 40 of a-z, 0-9 and "-"; Label and Badge are the store's own words. A class a product still holds cannot be left out (Invalid, naming it).
classesrequired | array of ReviewClass |
ReviewSetting
ReviewSetting is the store's catalogue.review and what turning it on would move (ASI-2.1, 46h).
onrequired | boolean |
productsrequired | integer |
publishedrequired | integer |
turn_on_secondsrequired | integer |
Sale
Sale is a variant's sale price and its window: the price it sells at from Start, inclusive, to End, exclusive.
endrequired | string (date-time) |
pricerequired | Money |
startrequired | string (date-time) |
SaleRequest
SaleRequest is a variant's sale as the owner enters it: its price, text with exactly two decimals, and its start and end, each a date such as 2026-10-01 or a date and time such as 2026-10-01T08:00 in store.timezone, the end after the start.
endrequired | string |
pricerequired | string |
startrequired | string |
SetRetiredRequest
SetRetiredRequest changes the retirement of a retired product (PR-4): ReplacedBy, the slug of the product that replaces it, "" for none (a product retired too is followed to the first on sale, at most 5 steps; the product itself is refused); KeepPage, whether its page is kept.
keep_pagerequired | boolean |
replaced_byrequired | string |
SetReviewRequest
SetReviewRequest turns the review on or off. Turning it on needs Existing (Invalid without it); turning it off keeps every record.
existing | string |
onrequired | boolean |
SlugRequest
SlugRequest is the slug a product moves to.
torequired | string |
StockAlertCount
StockAlertCount is the demand for back-in-stock alerts of one variant: it holds no address.
option_valuesrequired | array of string |
productrequired | string |
sentrequired | integer |
skurequired | string |
waitingrequired | integer |
StockRequest
StockRequest is a variant's new stock count, and the count the caller saw, which the store must still hold for the set to be made. The body must carry both: the API door refuses one without either. Location names the stock location whose level is set; none (or main) is the location main. Expected and Count are then that location's.
countrequired | integer |
expectedrequired | integer |
location | string |
Variant
Variant is a variant of a product.
allow_backorderrequired | boolean |
archived_at | string (date-time) |
combo | Combo |
compare_at | Money |
digitalrequired | boolean |
dimensions | Dimensions |
dispatch_byrequired | string |
fieldsrequired | map of array of string |
filerequired | VariantFile |
imagesrequired | array of string |
low_stock_threshold | integer |
made_to_orderrequired | boolean |
option_valuesrequired | array of string |
pricerequired | Money |
production_daysrequired | integer |
sale | Sale |
ships_alonerequired | boolean |
skurequired | string |
stockrequired | integer |
supplierrequired | string |
tax_classrequired | string |
track_stockrequired | boolean |
weight_gramsrequired | integer |
VariantChange
VariantChange is a variant as an operation left it, and whether the operation changed it.
changedrequired | boolean |
variantrequired | Variant |
VariantDetailsRequest
VariantDetailsRequest is the details of a variant the owner sets: each one given is set, and each left out stays as it is.
allow_backorder | boolean |
digital | boolean |
dimensions | Dimensions |
low_stock_threshold | integer |
ships_alone | boolean |
store_threshold | boolean |
tax_class | string |
track_stock | boolean |
weight_grams | integer |
VariantFile
VariantFile is a digital variant's file: its name as a download is saved, its size in bytes, its SHA-256 in lower-case hex, and when and by whom it was uploaded. From contract version 6.
digestrequired | string |
namerequired | string |
sizerequired | integer |
uploaded_atrequired | string (date-time) |
uploaded_byrequired | string |
VariantImagesRequest
VariantImagesRequest is the images a variant shows: names of images of its own product, each once, in order; none clears them, and the variant then shows its product's.
namesrequired | array of string |
VariantOptions
VariantOptions are one variant's values of its product's options, by the option's name.
optionsrequired | map of string |
skurequired | string |
VariantStock
VariantStock is a variant that runs low: its SKU, its product's slug and title, its option values, its stock level (low_stock, out_of_stock or backorder) and its available stock.
availablerequired | integer |
levelrequired | string |
option_valuesrequired | array of string |
productrequired | string |
skurequired | string |
titlerequired | string |
Made from engine/internal/openapi/openapi.json at commit 6c4cbd921. The contract-only operations come from the engine’s stub file, engine/internal/ops.