---
title: "Ensure Installed"
method: POST
path: "/api/v2/shopify/ensure-installed"
tags: ["shopify"]
---

# Ensure Installed

`POST /api/v2/shopify/ensure-installed`

Exchange session token for offline access token on first load.

Managed installation bypasses /install and /callback — Shopify handles
consent itself and loads application_url directly in the iframe. This
endpoint detects the missing store record and exchanges the session token
(JWT) for a non-expiring offline access token via Shopify's token exchange
API.

Idempotent: returns immediately if store record already exists.

## Response `200`

Successful Response

- object

---

[API](https://skmtc.net/curatedforyou/apis/curated-for-you-api.md) · [All operations](https://skmtc.net/curatedforyou/apis/curated-for-you-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/curatedforyou/curated-for-you-api/revisions/7cbc2a21dd49/schema)
