Squarespace · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Squarespace Products API
26 actions
26 updates
phrasing
extends
openapi/squarespace-products-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Squarespace's API. It is a proposal applied on top of the contract, not a document Squarespace publishes.
What the actions change
x-apievangelist-phrasing
Targets 26 · first 16 shown; the file carries all of them
$.info
$.paths['/v2/commerce/products'].get
$.paths['/v2/commerce/products'].post
$.paths['/v2/commerce/products/{productIdCsvs}'].get
$.paths['/v2/commerce/products/{productId}'].post
$.paths['/v2/commerce/products/{productId}'].delete
$.paths['/v2/commerce/products/{productId}/images'].post
$.paths['/v2/commerce/products/{productId}/images/{imageId}'].post
$.paths['/v2/commerce/products/{productId}/images/{imageId}'].delete
$.paths['/v2/commerce/products/{productId}/images/{imageId}/order'].post
$.paths['/v2/commerce/products/{productId}/images/{imageId}/status'].get
$.paths['/v2/commerce/products/{productId}/variants'].post
$.paths['/v2/commerce/products/{productId}/variants/{variantId}'].post
$.paths['/v2/commerce/products/{productId}/variants/{variantId}'].delete
$.paths['/v2/commerce/products/{productId}/variants/{variantId}/image'].post
$.paths['/commerce/products'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Squarespace Products API
version: 1.0.0
extends: openapi/squarespace-products-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 25
- target: $.paths['/v2/commerce/products'].get
update:
x-apievangelist-phrasing:
intent: List and search products (v2)
effect: read
questions:
- How do I list all products of one type with the v2 products API?
- Can I search v2 products by keyword or by when they were last modified?
instructions:
- text: List v2 products of type {type}.
slots:
type: query.type
- text: Search v2 products for {query}.
slots:
query: query.query
- text: List v2 products modified between {modifiedAfter} and {modifiedBefore}.
slots:
modifiedAfter: query.modifiedAfter
modifiedBefore: query.modifiedBefore
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products'].post
update:
x-apievangelist-phrasing:
intent: Create a product (v2)
effect: write
questions:
- How do I add a new product to my store with the v2 products API?
- Does v2 product creation set up the right subresources for each product type?
instructions:
- text: Create a new product through the v2 products endpoint.
- text: Create a v2 product, sending user agent {user_agent}.
slots:
user_agent: header.User-Agent
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productIdCsvs}'].get
update:
x-apievangelist-phrasing:
intent: Get specific products by ID (v2)
effect: read
questions:
- How do I fetch a handful of products, with variants and images, by ID on v2?
- How many products can one v2 by-ID request return?
instructions:
- text: Get v2 products {productIdCsvs}.
slots:
productIdCsvs: path.productIdCsvs
- text: Show variants and images for v2 products {productIdCsvs}.
slots:
productIdCsvs: path.productIdCsvs
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}'].post
update:
x-apievangelist-phrasing:
intent: Update a product's details (v2)
effect: write
questions:
- How do I hide a product from my storefront with the v2 API?
- Can I change a product's URL slug or SEO data on v2 without resending everything?
instructions:
- text: Rename v2 product {productId} to {name}.
slots:
productId: path.productId
name: requestBody.name
- text: Set v2 product {productId} visibility to {isVisible}.
slots:
productId: path.productId
isVisible: requestBody.isVisible
- text: Update the SEO data of v2 product {productId} to {seoData}.
slots:
productId: path.productId
seoData: requestBody.seoData
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a product (v2)
effect: destructive
questions:
- How do I delete a product with the v2 products API?
- Can I remove a discontinued product from the v2 catalog by its ID?
instructions:
- text: Delete v2 product {productId}.
slots:
productId: path.productId
- text: Remove product {productId} from the catalog via v2.
slots:
productId: path.productId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/images'].post
update:
x-apievangelist-phrasing:
intent: Upload a product image (v2)
effect: write
questions:
- How do I upload a photo for a product with the v2 API?
- Does uploading a v2 product image make it the featured image?
instructions:
- text: Upload an image to v2 product {productId}.
slots:
productId: path.productId
- text: Add a new photo file to product {productId} using v2.
slots:
productId: path.productId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/images/{imageId}'].post
update:
x-apievangelist-phrasing:
intent: Update a product image's alt text (v2)
effect: write
questions:
- How do I change the alt text on a product image with v2?
- What can I edit on an existing v2 product image besides alt text?
instructions:
- text: Set the alt text of image {imageId} on v2 product {productId} to {altText}.
slots:
imageId: path.imageId
productId: path.productId
altText: requestBody.altText
- text: Update v2 image {imageId} of product {productId} with alt text {altText}.
slots:
imageId: path.imageId
productId: path.productId
altText: requestBody.altText
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/images/{imageId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a product image (v2)
effect: destructive
questions:
- How do I delete one image from a product with the v2 API?
- Can I remove an outdated photo from a v2 product listing?
instructions:
- text: Delete image {imageId} from v2 product {productId}.
slots:
imageId: path.imageId
productId: path.productId
- text: Remove photo {imageId} on product {productId} using v2.
slots:
imageId: path.imageId
productId: path.productId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/images/{imageId}/order'].post
update:
x-apievangelist-phrasing:
intent: Move one product image after another (v2)
effect: write
questions:
- How do I move a single product image to sit after another image on v2?
- Can I change where one image appears on the product details page?
instructions:
- text: Move image {imageId} of v2 product {productId} to after image {afterImageId}.
slots:
imageId: path.imageId
productId: path.productId
afterImageId: requestBody.afterImageId
- text: Reposition v2 image {imageId} on product {productId} behind {afterImageId}.
slots:
imageId: path.imageId
productId: path.productId
afterImageId: requestBody.afterImageId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/images/{imageId}/status'].get
update:
x-apievangelist-phrasing:
intent: Check an uploaded image's processing status
effect: read
questions:
- Is my uploaded product image still processing, ready, or in error?
- How do I know when a newly uploaded product image is ready to use?
instructions:
- text: Check the processing status of image {imageId} on product {productId}.
slots:
imageId: path.imageId
productId: path.productId
- text: Tell me whether upload {imageId} for product {productId} finished processing.
slots:
imageId: path.imageId
productId: path.productId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/variants'].post
update:
x-apievangelist-phrasing:
intent: Add a variant to a product (v2)
effect: write
questions:
- How do I add a new size or color variant to a product with v2?
- Can I set a GTIN or MPN when creating a v2 variant?
- Why does creating a variant fail for a physical product with no attributes?
instructions:
- text: Add a v2 variant with SKU {sku} and pricing {pricing} to product {productId}.
slots:
sku: requestBody.sku
pricing: requestBody.pricing
productId: path.productId
- text: Create v2 variant {sku} on product {productId} priced {pricing} with attributes {attributes} and GTIN {gtin}.
slots:
sku: requestBody.sku
productId: path.productId
pricing: requestBody.pricing
attributes: requestBody.attributes
gtin: requestBody.gtin
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/variants/{variantId}'].post
update:
x-apievangelist-phrasing:
intent: Update a product variant (v2)
effect: write
questions:
- How do I change the price of one variant with the v2 API?
- Can I update a v2 variant's shipping measurements?
instructions:
- text: Set pricing of v2 variant {variantId} on product {productId} to {pricing}.
slots:
variantId: path.variantId
productId: path.productId
pricing: requestBody.pricing
- text: Change the SKU of v2 variant {variantId} of product {productId} to {sku}.
slots:
variantId: path.variantId
productId: path.productId
sku: requestBody.sku
- text: Update shipping measurements of v2 variant {variantId} on {productId} to {shippingMeasurements}.
slots:
variantId: path.variantId
productId: path.productId
shippingMeasurements: requestBody.shippingMeasurements
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/variants/{variantId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a product variant
effect: destructive
questions:
- How do I remove a variant I no longer sell from a product?
- Can I delete one variant without deleting the whole product?
instructions:
- text: Delete variant {variantId} from product {productId}.
slots:
variantId: path.variantId
productId: path.productId
- text: Remove the variant {variantId} of product {productId}.
slots:
variantId: path.variantId
productId: path.productId
method: generated
generated: '2026-10-01'
- target: $.paths['/v2/commerce/products/{productId}/variants/{variantId}/image'].post
update:
x-apievangelist-phrasing:
intent: Assign an image to a variant
effect: write
questions:
- How do I show a specific photo when a shopper picks a variant?
- Can I clear the image linked to a variant?
instructions:
- text: Assign image {imageId} to variant {variantId} of product {productId}.
slots:
imageId: requestBody.imageId
variantId: path.variantId
productId: path.productId
- text: Link variant {variantId} on product {productId} to photo {imageId}.
slots:
variantId: path.variantId
productId: path.productId
imageId: requestBody.imageId
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products'].get
update:
x-apievangelist-phrasing:
intent: List products (unversioned)
effect: read
questions:
- What products are in my catalog, via the unversioned products path?
- Can the unversioned product listing be filtered by product type?
instructions:
- text: Retrieve unversioned products of type {type}.
slots:
type: query.type
- text: Continue the unversioned product listing from cursor {cursor}.
slots:
cursor: query.cursor
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products'].post
update:
x-apievangelist-phrasing:
intent: Create a product with variants (unversioned)
effect: write
questions:
- Can I create a gift card or digital download product via the unversioned path?
- What must an unversioned product creation request include besides the name?
instructions:
- text: Create an unversioned {type} product named {name} with variants {variants}.
slots:
type: requestBody.type
name: requestBody.name
variants: requestBody.variants
- text: Add product {name} of type {type} with variants {variants} and visibility {isVisible}.
slots:
name: requestBody.name
type: requestBody.type
variants: requestBody.variants
isVisible: requestBody.isVisible
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productIds}'].get
update:
x-apievangelist-phrasing:
intent: Get specific products by ID (unversioned)
effect: read
questions:
- How do I retrieve up to 50 products by ID without the v2 prefix?
- Can I get full variant and image data for specific products via the unversioned path?
instructions:
- text: Retrieve unversioned products {productIds}.
slots:
productIds: path.productIds
- text: Pull full product data for IDs {productIds} from the unversioned endpoint.
slots:
productIds: path.productIds
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productIds}'].post
update:
x-apievangelist-phrasing:
intent: Update a product (unversioned)
effect: write
questions:
- How do I change a product's tags via the unversioned path?
- Can I update just the description of a product without the v2 prefix?
instructions:
- text: Set the tags on unversioned product {productIds} to {tags}.
slots:
productIds: path.productIds
tags: requestBody.tags
- text: Update the description of product {productIds} to {description} via the unversioned endpoint.
slots:
productIds: path.productIds
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productIds}'].delete
update:
x-apievangelist-phrasing:
intent: Permanently delete a product (unversioned)
effect: destructive
questions:
- Does deleting a product through the unversioned path also remove its variants and images?
- Can I undo a product deletion made without the v2 prefix?
instructions:
- text: Permanently delete unversioned product {productIds}.
slots:
productIds: path.productIds
- text: Delete product {productIds} with all its variants and images using the unversioned endpoint.
slots:
productIds: path.productIds
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/variants'].post
update:
x-apievangelist-phrasing:
intent: Add a variant (unversioned)
effect: write
questions:
- How do I add a variant with its own stock tracking via the unversioned path?
- Can I create a variant without the v2 prefix?
instructions:
- text: Add an unversioned variant {sku} priced {pricing} to product {productId}.
slots:
sku: requestBody.sku
pricing: requestBody.pricing
productId: path.productId
- text: Create variant {sku} on product {productId} at {pricing} with stock settings {stock}, unversioned.
slots:
sku: requestBody.sku
productId: path.productId
pricing: requestBody.pricing
stock: requestBody.stock
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/variants/{variantId}'].post
update:
x-apievangelist-phrasing:
intent: Update a variant's price, SKU or stock (unversioned)
effect: write
questions:
- How do I change a variant's stock tracking settings via the unversioned path?
- Can I edit a variant's option values without the v2 prefix?
instructions:
- text: Update stock settings of unversioned variant {variantId} on product {productId} to {stock}.
slots:
variantId: path.variantId
productId: path.productId
stock: requestBody.stock
- text: Change option values of variant {variantId} on product {productId} to {attributes}, unversioned.
slots:
variantId: path.variantId
productId: path.productId
attributes: requestBody.attributes
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/images'].post
update:
x-apievangelist-phrasing:
intent: Add a product image from a URL (unversioned)
effect: write
questions:
- Can I add a product image by pointing at a public image URL?
- How do I set alt text while uploading an image via the unversioned path?
instructions:
- text: Upload the image at {url} to product {productId}.
slots:
url: requestBody.url
productId: path.productId
- text: Add image {url} to product {productId} with alt text {altText}, unversioned.
slots:
url: requestBody.url
productId: path.productId
altText: requestBody.altText
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/images/{imageId}'].post
update:
x-apievangelist-phrasing:
intent: Edit a product image's alt text (unversioned)
effect: write
questions:
- How do I fix the accessibility alt text on a product image via the unversioned path?
- Can I replace the actual image file of an existing product image?
instructions:
- text: Change unversioned image {imageId} on product {productId} to alt text {altText}.
slots:
imageId: path.imageId
productId: path.productId
altText: requestBody.altText
- text: Edit the alt text of product {productId} image {imageId} to read {altText} without the v2 prefix.
slots:
productId: path.productId
imageId: path.imageId
altText: requestBody.altText
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/images/{imageId}'].delete
update:
x-apievangelist-phrasing:
intent: Permanently remove a product image (unversioned)
effect: destructive
questions:
- How do I permanently remove an image from a product via the unversioned path?
- Is deleting a product image without the v2 prefix reversible?
instructions:
- text: Permanently remove unversioned image {imageId} from product {productId}.
slots:
imageId: path.imageId
productId: path.productId
- text: Delete product {productId}'s image {imageId} via the unversioned endpoint.
slots:
productId: path.productId
imageId: path.imageId
method: generated
generated: '2026-10-01'
- target: $.paths['/commerce/products/{productId}/images/reorder'].post
update:
x-apievangelist-phrasing:
intent: Set the full display order of product images
effect: write
questions:
- How do I reorder all of a product's images in one request?
- Which image becomes the primary product image when I set a new order?
instructions:
- text: Reorder the images of product {productId} as {imageIds}.
slots:
productId: path.productId
imageIds: requestBody.imageIds
- text: Make product {productId}'s image order {imageIds}, first one as primary.
slots:
productId: path.productId
imageIds: requestBody.imageIds
method: generated
generated: '2026-10-01'