Catalogue. 88 operations.
88 of them work. Page 2 of 5. Each needs a bearer token with its scope. All operations.
Operations
POST/api/v1/catalogue/variants/{sku}/deletecatalogue.delete-variantcatalogue.write
GET/api/v1/catalogue/fieldscatalogue.fieldscatalogue.read
GET/api/v1/catalogue/images/{name}/historycatalogue.image-historycatalogue.read
GET/api/v1/catalogue/products/{slug}/imagescatalogue.imagescatalogue.read
POST/api/v1/catalogue/importscatalogue.importcatalogue.write
POST/api/v1/catalogue/imports/previewcatalogue.import-previewcatalogue.write
GET/api/v1/catalogue/mediacatalogue.mediacatalogue.read
Parameters
filterquery | stringall (or left out) for every image; unplaced for the images on no product. |
limitquery | integerThe most images in the page: 1 to 200; 50 when left out. |
afterquery | stringThe cursor of the page: the next of the page before; the first page when left out. The images follow it. |
Answer
Errors: 401, 403, 405, 422, 429
curl -X GET -H "Authorization: Bearer $TOKEN" https://yourshop.example/api/v1/catalogue/media
POST/api/v1/catalogue/review/{slug}/open-againcatalogue.open-againcatalogue.write
GET/api/v1/catalogue/products/{slug}/option-picturescatalogue.option-picturescatalogue.read
POST/api/v1/catalogue/categories/ordercatalogue.order-categoriescatalogue.write
POST/api/v1/catalogue/products/{slug}/images/ordercatalogue.order-imagescatalogue.write
Parameters
slugpath | string |
slugpath | string |
Idempotency-Keyheader | stringSee common parameters |
Request body
Answer
array of ImageUpload
Errors: 401, 403, 404, 405, 409, 413, 422, 429
curl -X POST -H "Authorization: Bearer $TOKEN" https://yourshop.example/api/v1/catalogue/products/{slug}/images/order
GET/api/v1/catalogue/picture-settingscatalogue.picture-settingscatalogue.read
GET/api/v1/catalogue/pictures/to-reviewcatalogue.pictures-to-reviewcatalogue.read
Parameters
limitquery | integerThe most pictures in the page: 1 to 200; 50 when left out. |
afterquery | stringThe cursor of the page: the next of the page before; the first page when left out. The pictures follow it. |
Answer
Errors: 401, 403, 405, 422, 429
curl -X GET -H "Authorization: Bearer $TOKEN" https://yourshop.example/api/v1/catalogue/pictures/to-review
POST/api/v1/catalogue/collection-rules/previewcatalogue.preview-collection-rulescatalogue.read
GET/api/v1/catalogue/variants/{sku}/price-changescatalogue.price-changescatalogue.read
GET/api/v1/catalogue/productscatalogue.productscatalogue.read
Read a page at a time: give limit (1 to 500; 100 when none is given) and after, the Next-Cursor of the page before. Follow the Link, rel next, to the rest.
Parameters
limitquery | integerThe most products in the page: 1 to 500; 100 when the call gives no limit. The Next-Cursor and Link headers name the next page. |
afterquery | stringSee common parameters |
Answer
array of Product
Errors: 400, 401, 403, 405, 422, 429
curl -X GET -H "Authorization: Bearer $TOKEN" https://yourshop.example/api/v1/catalogue/products
GET/api/v1/catalogue/products-by-slugcatalogue.products-by-slugcatalogue.read
POST/api/v1/catalogue/review/{slug}/retirecatalogue.propose-retirecatalogue.write
POST/api/v1/catalogue/products/{slug}/publishcatalogue.publishcatalogue.write
POST/api/v1/catalogue/collections/{slug}/publishcatalogue.publish-collectioncatalogue.write
Schemas 47
Category
Category is a category of the store's tree as the owner sees it: its name, its slug, its parent's slug ("" for a root), its description in the safe Markdown subset, its position among its siblings (0 for none), and its trail, the names from the root down to it, such as "Braais / Accessories", which tells two categories of one name apart.
descriptionrequired | string |
enquiry_mail_torequired | string |
enquiry_onlyrequired | boolean |
namerequired | string |
parentrequired | string |
positionrequired | integer |
slugrequired | string |
trailrequired | string |
CategoryOrderRequest
CategoryOrderRequest is the order of the categories under one parent: the parent's slug, "" for the roots, and the slugs of its children, first to last: exactly those, each once.
categoriesrequired | array of string |
parentrequired | string |
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 |
Collection
Collection is a collection as the owner sees it: its title, its slug, its description in the safe Markdown subset, whether buyers see it, and its products by slug, in the owner's order.
descriptionrequired | string |
dynamicrequired | boolean |
product_countrequired | integer |
productsrequired | array of string |
publishedrequired | boolean |
revisionrequired | integer |
rules | CollectionRules |
rules_saved_at | string (date-time) |
rules_saved_by | string |
rules_text | string |
slugrequired | string |
titlerequired | string |
CollectionChange
CollectionChange is a collection as an operation left it, and whether the operation changed it.
changedrequired | boolean |
collectionrequired | Collection |
CollectionCondition
CollectionCondition is one condition: its kind, and the arguments of that kind, the others left out. Kinds: category (a category's slug, and the categories below it), price (Min, Max, either one may be left out), on_sale, in_stock, new_within (Days, from 1 to 365) and option (Option, an option's name, and Value, one of its values, in any case) and field (Field, a custom product field's key, and either Value, a choice or yes/no value of it, or Lo and Hi, the lowest and the highest of a number or a date, as the field writes them, either one may be left out). A price is text with exactly two decimals, VAT-inclusive as the owner enters it.
category | string |
days | integer |
field | string |
hi | string |
kindrequired | string |
lo | string |
max | string |
min | string |
option | string |
value | string |
CollectionPreview
CollectionPreview is what rules would hold now: how many products, and the slugs of the first 24, in the rules' sort.
countrequired | integer |
productsrequired | array of string |
CollectionRules
CollectionRules are a dynamic collection's rules: how the conditions combine, all or any; the conditions; and the sort of its products, one of newest, price_asc, price_desc, title and featured. From contract version 6.
conditionsrequired | array of CollectionCondition |
matchrequired | string |
sortrequired | 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 |
Deletion
Deletion is what a delete deleted: the slug of the category, the collection or the content page that is gone, or the name of the image.
deletedrequired | 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 |
FieldDefinition
FieldDefinition is one field: the key a theme and a filter name it by, which never changes; the label a buyer reads; its type (text, number, yes_no, choice or date); its scope (product or variant); where it is shown (page, listings, both or hidden); whether it is filterable; its position; a number's unit; a choice field's choices and whether it holds several; how many products or variants hold a value of it; and who saved it and when.
choices | array of string |
countrequired | integer |
filterablerequired | boolean |
keyrequired | string |
labelrequired | string |
multiple | boolean |
positionrequired | integer |
saved_at | string (date-time) |
saved_byrequired | string |
scoperequired | string |
shownrequired | string |
typerequired | string |
unit | string |
ImageOrderRequest
ImageOrderRequest is the order of a product's images: the names of every image it has, each once, the first its lead image.
namesrequired | array of string |
ImageUpload
ImageUpload is a product's image: as its upload left it, and as catalogue.images reads it.
altrequired | string |
copy_failure | string |
heightrequired | integer |
namerequired | string |
positionrequired | integer |
processingrequired | boolean |
productrequired | string |
thumbnailrequired | string |
widthrequired | integer |
ImportDraft
ImportDraft is a description imported as a draft.
sourcesrequired | array of string |
ImportOutcome
ImportOutcome is one product's outcome: "created" with the state it landed in, or "refused" with why. A refused row changes nothing.
code | string |
indexrequired | integer |
outcomerequired | string |
slugrequired | string |
state | string |
words | string |
ImportPicture
ImportPicture is a picture of an imported product: from a picture source the store registers (engine/ext), by its name and its free-text reference; its state "pending" (when left out) or "approved", which needs the approve right as State does.
main | boolean |
sourcerequired | string |
source_refrequired | string |
state | string |
variant | string |
ImportProduct
ImportProduct is one product of an import.
category | string |
classes | array of string |
descriptionrequired | string |
draft | ImportDraft |
merged_from | array of string |
options | array of string |
pictures | array of ImportPicture |
questions | array of ImportQuestion |
short_description | string |
slug | string |
titlerequired | string |
variantsrequired | array of ImportVariant |
ImportQuestion
ImportQuestion is an open question put on an imported product (ASI-2.4).
choicesrequired | array of string |
right | string |
textrequired | string |
ImportVariant
ImportVariant is a variant of an imported product.
digital | boolean |
height_mm | integer |
length_mm | integer |
option_values | array of string |
pricerequired | string |
skurequired | string |
weight_grams | integer |
width_mm | integer |
MediaImage
MediaImage is an image of the media library. From version 6.
altrequired | string |
bytesrequired | integer |
file_namerequired | string |
heightrequired | integer |
namerequired | string |
productsrequired | array of MediaProduct |
srcrequired | string |
uploaded_atrequired | string (date-time) |
widthrequired | integer |
MediaPage
MediaPage is a page of the media library, as catalogue.media reads it: its images, newest first, and Next, the cursor of the page after it, to give as after; "" on the last page. From version 6.
imagesrequired | array of MediaImage |
nextrequired | string |
MediaProduct
MediaProduct is a product that shows an image of the library.
slugrequired | string |
titlerequired | 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 |
PictureReviewEntry
PictureReviewEntry is a review of a picture: its state, note, who and the checklist lines ticked.
actorrequired | string |
atrequired | string (date-time) |
checksrequired | array of string |
noterequired | string |
staterequired | string |
PictureSettings
PictureSettings are the settings the screens of the review read (ASI-3.9b, ASI-3.9c, ASI-3.11): whether the store reviews its uploads, the lines of its checklist, the months a version that is no longer shown is kept, and the importers and picture tools a fork registered (none until it does).
checklistrequired | array of string |
importersrequired | array of PictureSource |
keep_monthsrequired | integer |
reviewrequired | boolean |
toolsrequired | array of PictureSource |
PictureSource
PictureSource is an importer or a picture tool: its kind, which the operations name, and its label for a screen.
kindrequired | string |
labelrequired | string |
PictureToReview
PictureToReview is a picture that waits for review: a version of a picture, or a picture itself in a store that reviews its uploads, and the product that shows it.
categoryrequired | string |
numberrequired | integer |
product_slugrequired | string |
product_titlerequired | string |
versionrequired | PictureVersion |
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 |
PicturesToReview
PicturesToReview is a page of the pictures that wait for review (ASI-3.8), oldest first: Count is the number waiting in all, and Next the cursor to give as after for the page after this one, "" on the last. From version 6, additive.
countrequired | integer |
itemsrequired | array of PictureToReview |
nextrequired | string |
PriceChange
PriceChange is one change to a variant's price, sale price or compare-at price: Field is price, sale_price or compare_at; Before and After the value it had and has, null for none (a first price has none before, a sale taken away none after); for a sale set, SaleStartsAt and SaleEndsAt the window it was given; Actor who made the change, such as user:owner, integration:id, cli or engine, and At when.
PriceChanges
PriceChanges is a variant's log of price changes, newest first. From contract version 6.
changesrequired | array of PriceChange |
skurequired | 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 |
ProductFields
ProductFields are the definitions of the custom product fields, in the owner's order, at the revision each write must send back (0 while the owner never saved one).
fieldsrequired | array of FieldDefinition |
revisionrequired | integer |
ProductImportRequest
ProductImportRequest is an import of products (ASI-2.13). The preview writes nothing and answers what the import would do.
productsrequired | array of ImportProduct |
state | string |
ProductImportResult
ProductImportResult is what an import did, or a preview would do, row by row (46i).
createdrequired | integer |
refusedrequired | integer |
rowsrequired | array of ImportOutcome |
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 |
ProductsBySlug
ProductsBySlug is the products at the slugs asked, in the order asked, and the slugs asked that are no product, in the order asked; an empty list for none. From version 6.
productsrequired | array of Product |
unknownrequired | array of string |
ProposeRetireRequest
ProposeRetireRequest proposes to retire the product (ASI-2.12).
keep_page | boolean |
noterequired | string |
targetrequired | 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 |
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) |
SeenRequest
SeenRequest is the body of an approval act that takes nothing but Seen.
seenrequired | 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 |
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 |
Made from engine/internal/openapi/openapi.json at commit 6c4cbd921. The contract-only operations come from the engine’s stub file, engine/internal/ops.