Products are what the store sells: physical items with weight and delivery, digital downloads, and items with options (size, colour) that change the price. A product sits in a product/ category, can be filtered by grouping/ collections, and can show a page built in the editor below its details.
Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.
36 endpoints in 4 parts: Product, Digital Content, Inventory, AI builder.
Returns one digital product, found by its URL slug.
Needs the token of a signed-in user.
The digital product's URL slug, as in its address on the site.
Returns the Product object.
curl -X GET 'http://watch-collection.max-media.io/digital-product/{url}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Export products.
Needs a site admin token.
Returns the Product object.
curl -X GET 'http://watch-collection.max-media.io/export-products?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}curl -X GET 'http://watch-collection.max-media.io/get-import-template?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
Import products custom.
Needs a site admin token.
curl -X POST 'http://watch-collection.max-media.io/import-products-custom?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"parent_collection": "6543210fedcba98765432100",
"picture": "6543210fedcba98765432100",
"about_page": "6543210fedcba98765432100",
"match_to_option": false,
"is_color": false,
"color": "#3557c4",
"position": 1,
"items": [
"6543210fedcba98765432101"
],
"thumbnail": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}Import products shopify.
Needs a site admin token.
curl -X POST 'http://watch-collection.max-media.io/import-products-shopify?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"parent_collection": "6543210fedcba98765432100",
"picture": "6543210fedcba98765432100",
"about_page": "6543210fedcba98765432100",
"match_to_option": false,
"is_color": false,
"color": "#3557c4",
"position": 1,
"items": [
"6543210fedcba98765432101"
],
"thumbnail": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}Import products squarespace.
Needs a site admin token.
curl -X POST 'http://watch-collection.max-media.io/import-products-squarespace?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"parent_collection": "6543210fedcba98765432100",
"picture": "6543210fedcba98765432100",
"about_page": "6543210fedcba98765432100",
"match_to_option": false,
"is_color": false,
"color": "#3557c4",
"position": 1,
"items": [
"6543210fedcba98765432101"
],
"thumbnail": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}Import products wix.
Needs a site admin token.
curl -X POST 'http://watch-collection.max-media.io/import-products-wix?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"parent_collection": "6543210fedcba98765432100",
"picture": "6543210fedcba98765432100",
"about_page": "6543210fedcba98765432100",
"match_to_option": false,
"is_color": false,
"color": "#3557c4",
"position": 1,
"items": [
"6543210fedcba98765432101"
],
"thumbnail": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}Like or unlike a product.
Needs the token of a signed-in user.
The ID of the product.
Returns the Product object.
curl -X PATCH 'http://watch-collection.max-media.io/product-likes/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Find a product by its address.
Works without a token; with a user token the answer is personal.
The product's URL slug, as in its address on the site.
curl -X GET 'http://watch-collection.max-media.io/product-redirect/{url}?ionic=true'{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Save or unsave a product.
Needs the token of a signed-in user.
The ID of the product.
Returns the Product object.
curl -X PATCH 'http://watch-collection.max-media.io/product-saves/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Returns the site's products, newest first unless a sort is given.
Needs a signed-in user whose plan grants access.
true: only products that are published; false: only those that are not.
Only products with this completed.
The order of the results.
Only products with a price of at least this.
Only products with a price of at most this.
Only results in this collection.
Only products with this origin address.
How many results to skip - for paging.
Only products with this where.
Only products with this rating.
Returns a list of Product objects.
curl -X GET 'http://watch-collection.max-media.io/products?ionic=true&published=...&completed=...&sortBy=...' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}
]Create new product.
Needs the token of a signed-in user.
Name of the product, required.
The product's on behalf of.
Returns the Product object.
curl -X POST 'http://watch-collection.max-media.io/products?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "name": "...", "on_behalf_of": "..." }'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Deletes the product. This cannot be undone.
Needs the token of a signed-in user.
The product's delete ids.
Returns an empty answer on success.
curl -X DELETE 'http://watch-collection.max-media.io/products-multiple/{delete_ids}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Changes the fields sent; the others stay as they are.
Needs the token of a signed-in user.
The product's patch ids.
Reference to the Collection model, it is the store where product is grouped.
References to the Collection model, they act as filters.
The product's updates.
Returns the Product object.
curl -X PATCH 'http://watch-collection.max-media.io/products-multiple/{patch_ids}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "collection_id": "...", "grouping": "...", "updates": "..." }'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Returns the site's products, newest first unless a sort is given.
Needs the token of a signed-in user.
The product's product ids.
Returns a list of Product objects.
curl -X GET 'http://watch-collection.max-media.io/products-multiple/{product_ids}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'[
{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}
]Update Product by id.
Needs the token of a signed-in user.
The ID of the product.
The product's converted price.
The product's product options.
Returns the Product object.
curl -X PATCH 'http://watch-collection.max-media.io/products/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "convertedPrice": "...", "product_options": "..." }'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Delete Product record by id.
Needs the token of a signed-in user.
The ID of the product.
Returns an empty answer on success.
curl -X DELETE 'http://watch-collection.max-media.io/products/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns one product, found by its ID.
Public - no token needed.
The ID of the product.
Returns the Product object.
curl -X GET 'http://watch-collection.max-media.io/products/{id}/media?ionic=true'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Creates a product from the fields sent.
Needs the token of a signed-in user.
The ID of the product.
curl -X POST 'http://watch-collection.max-media.io/products/{id}/media?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Deletes the product. This cannot be undone.
Needs the token of a signed-in user.
The ID of the product.
The product's media id.
Returns an empty answer on success.
curl -X DELETE 'http://watch-collection.max-media.io/products/{id}/media/{media_id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns one product, found by its URL slug.
Works without a token; with a user token the answer is personal.
The product's URL slug, as in its address on the site.
Only products with this session id.
Returns the Product object.
curl -X GET 'http://watch-collection.max-media.io/products/{url}?ionic=true&sessionId=...'{
"name": "Example",
"url": "example-item",
"static_url": "example-item",
"ribbon": "example",
"striked": "example",
"price": 49.9,
"description": "Text shown on the site.",
"product_informations": [
{
"name": "Example",
"description": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
],
"product_options": [
{
"name": "Example",
"options": [],
"informations": [],
"_id": "6543210fedcba98765432100"
}
],
"published": true,
"available_for_purchase": true,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"grouping": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"qty": 1,
"origin_address": "example",
"selected": false,
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"about_page": "6543210fedcba98765432100",
"is_digital": false,
"secondary_cta": {
"show": false,
"title": "Example",
"webUrl": "example",
"appUrl": "example"
},
"attached_priceplans": {
"name": "Example",
"priceplans": "example"
}
}Returns the digital content.
Needs a site admin token.
Returns the DigitalContent object.
curl -X GET 'http://watch-collection.max-media.io/digital-content?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"type": "example",
"file": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Create new digital_content.
Needs a site admin token.
The digital content's body.
Returns the DigitalContent object.
curl -X POST 'http://watch-collection.max-media.io/digital-content?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "body": "..." }'{
"name": "Example",
"type": "example",
"file": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns one digital content file, found by its ID.
Needs the token of a signed-in user.
The ID of the digital content file.
curl -X GET 'http://watch-collection.max-media.io/digital-content-file/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"type": "example",
"file": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns one digital content, found by its ID.
Needs a site admin token.
The ID of the digital content.
Returns the DigitalContent object.
curl -X GET 'http://watch-collection.max-media.io/digital-content/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"type": "example",
"file": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Update DigitalContent by id.
Needs a site admin token.
The ID of the digital content.
Returns the DigitalContent object.
curl -X PATCH 'http://watch-collection.max-media.io/digital-content/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"type": "example",
"file": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Delete DigitalContent record by id.
Needs a site admin token.
The ID of the digital content.
Returns an empty answer on success.
curl -X DELETE 'http://watch-collection.max-media.io/digital-content/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns the inventory.
Needs a site admin token.
Returns the Inventory object.
curl -X GET 'http://watch-collection.max-media.io/inventory?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"product": "6543210fedcba98765432100",
"option": "example",
"quantity": 0,
"sku": "example",
"track": false,
"trackSku": false,
"name": {},
"media": {},
"category": {},
"price": {},
"status": {},
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Create new inventory.
Needs a site admin token.
curl -X POST 'http://watch-collection.max-media.io/inventory?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
Returns one inventory, found by its ID.
Public - no token needed.
The ID of the inventory.
Returns the Inventory object.
curl -X GET 'http://watch-collection.max-media.io/inventory/{id}?ionic=true'{
"product": "6543210fedcba98765432100",
"option": "example",
"quantity": 0,
"sku": "example",
"track": false,
"trackSku": false,
"name": {},
"media": {},
"category": {},
"price": {},
"status": {},
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Update Inventory by id.
Needs a site admin token.
The ID of the inventory.
The inventory's quantity.
Whether the inventory is track.
The inventory's sku.
Returns the Inventory object.
curl -X PATCH 'http://watch-collection.max-media.io/inventory/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "quantity": "...", "track": "...", "sku": "..." }'{
"product": "6543210fedcba98765432100",
"option": "example",
"quantity": 0,
"sku": "example",
"track": false,
"trackSku": false,
"name": {},
"media": {},
"category": {},
"price": {},
"status": {},
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Delete Inventory record by id.
Needs a site admin token.
The ID of the inventory.
Returns an empty answer on success.
curl -X DELETE 'http://watch-collection.max-media.io/inventory/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns one inventory, found by its ID.
Public - no token needed.
The inventory's product id.
The inventory's option.
Returns the Inventory object.
curl -X GET 'http://watch-collection.max-media.io/inventory/{product_id}/{option}?ionic=true'{
"product": "6543210fedcba98765432100",
"option": "example",
"quantity": 0,
"sku": "example",
"track": false,
"trackSku": false,
"name": {},
"media": {},
"category": {},
"price": {},
"status": {},
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Create a product from a prompt, written by the AI builder.
Needs the token of a signed-in user.
What the AI should do with the product, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The ID of the product to change.
curl -X POST 'http://watch-collection.max-media.io/create-new-product?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'{
"chat_id": "6543210fedcba98765432100",
"role": "user",
"text": "Text shown on the site.",
"target_url": "example-item",
"action": "RESPONSE",
"options": [
"example"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gemini_uri": "example",
"gemini_interaction_id": "example",
"_id": "6543210fedcba98765432100"
}
],
"products": [
"6543210fedcba98765432101"
],
"services": [
"6543210fedcba98765432101"
],
"blogposts": [
"6543210fedcba98765432101"
],
"programs": [
"6543210fedcba98765432101"
],
"suggestions": [
{
"text": "Text shown on the site.",
"route": "example",
"item_id": "6543210fedcba98765432100",
"medias": [],
"picture": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"is_system": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": {
"object": "example",
"object_type": "example",
"edit_summary": "example",
"edit_diff": "example",
"undo_record": "example",
"hero_animation_offer": "example",
"preview_state": "example",
"pending_credit_cost": 0,
"target_restore": "example",
"media_request": "example",
"item_request": "example",
"reference_request": "example"
}
}Use it to create one new product record from scratch or a prompt.
Needs the token of a signed-in user.
What the AI should do with the product, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
curl -X POST 'http://watch-collection.max-media.io/generate-product?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "..." }'Use it to edit or update existing product or add a filter to the product.
Needs the token of a signed-in user.
What the AI should do with the product, in plain words - any language.
The current product, as JSON - the AI changes it and returns the result.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
The ID of the product to change.
The product's item ids.
curl -X POST 'http://watch-collection.max-media.io/modify-product?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'