A valid request URL is required to generate request examples{
"confirmation_url": "<string>",
"change": "subscribe",
"applies": "immediately",
"trial_days": 123,
"app_subscription_id": "<string>",
"plan": {
"plan_id": "<string>",
"display_name": "<string>",
"products": [
"search"
],
"size": "s"
}
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Subscribe to, upgrade or downgrade to a plan (products + size)
Resolves the selection to a catalogue plan and creates a pending Shopify app subscription replacing the current one; returns the confirmation URL the merchant must open to approve it. Nothing is billed or changed until they approve, except that a downgrade to a plan without Merchandising deactivates the collections not in keep_collection_ids. Upgrades and lateral moves apply immediately (prorated), downgrades at the next billing cycle. See GET /settings/subscription/plans for what can be bought.
A valid request URL is required to generate request examples{
"confirmation_url": "<string>",
"change": "subscribe",
"applies": "immediately",
"trial_days": 123,
"app_subscription_id": "<string>",
"plan": {
"plan_id": "<string>",
"display_name": "<string>",
"products": [
"search"
],
"size": "s"
}
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>",
"code": "plan_not_found",
"active": 123,
"kept": 123,
"max": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Shopify App Bridge session token of the embedded Depict: Search & Merchandising app. The shop in the token determines the merchant; merchant_id parameters must belong to that shop.
Query Parameters
Lite merchant id, e.g. shopify-<shop id>.
Body
The paid products wanted (duplicates ignored). Never empty: DELETE /settings/subscription is the way to the free tier.
1search, recs, vm s, m, l EVERY_30_DAYS, ANNUAL Where Shopify sends the merchant after they approve or decline the charge.
Only read when the target plan lacks Merchandising: the collections that stay active (at most 3). Omitted = keep everything, allowed only when the active set already fits.
1^[^,]*$Superuser sessions only; a merchant session sending one is 403.
Show child attributes
Show child attributes
Response
The pending change and its confirmation URL.
Send the merchant here to approve the charge in Shopify.
subscribe, upgrade, downgrade, lateral immediately, next_billing_cycle Show child attributes
Show child attributes
Was this page helpful?

