Printago API
GET /v1/customizer/configs/{configId}/shopify-publication

Get customizer Shopify publication state

Current Shopify publishing state for a config: the publication row (if any), the connected integration, discovered product candidates matching the config's SKU, and ready-to-use storefront / theme-editor URLs.

Requires: customizer.manage

Path Parameters

configId required
string
The customizer config ID

Response Schema

CustomizerPublicationState
directUrlrequirednullable
string
Storefront URL for the direct-to-customizer page (app proxy).
integrationrequirednullable
object
integrationIdrequired
string
shoprequired
string
shopNamerequired
string
productCandidatesrequired
object[]
handlerequired
string
productIdrequired
string
statusrequired
string
titlerequired
string
publicationrequirednullable
object
Shopify publishing state for a customizer config on one integration. Embed mode writes the `printago.sku_id` product metafield the theme app extension block reads; direct mode exposes the app-proxy customizer URL as a standalone storefront page.
configIdrequired
string
pattern: ^[a-z0-9]{24}$
createdAtrequired
string
format: date-time
idrequired
string
pattern: ^[a-z0-9]{24}$
integrationIdrequired
string
pattern: ^[a-z0-9]{24}$
lastErrorrequirednullable
string
metafieldSetAtrequirednullable
string
format: date-time
moderequired
"embed_product_page" | "direct_page"
embed_product_pagedirect_page
shopifyProductHandlerequirednullable
string
shopifyProductIdrequirednullable
string
statusrequired
"published" | "unpublished" | "error"
publishedunpublishederror
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
updatedAtrequired
string
format: date-time
skuCoderequirednullable
string
skuIdrequirednullable
string
pattern: ^[a-z0-9]{24}$
themeEditorUrlrequirednullable
string
Theme-editor deep link that pre-adds the customizer block.

Example Response

200 OK — application/json
{
  "publication": {
    "configId": "string",
    "integrationId": "string",
    "mode": "embed_product_page",
    "shopifyProductId": "string",
    "shopifyProductHandle": "string",
    "status": "published",
    "metafieldSetAt": "2025-01-15T12:00:00.000Z",
    "lastError": "string",
    "id": "string",
    "storeId": "string",
    "createdAt": "2025-01-15T12:00:00.000Z",
    "updatedAt": "2025-01-15T12:00:00.000Z"
  },
  "integration": {
    "integrationId": "string",
    "shop": "string",
    "shopName": "string"
  },
  "skuId": "string",
  "skuCode": "string",
  "productCandidates": [
    {
      "productId": "string",
      "title": "string",
      "handle": "string",
      "status": "string"
    }
  ],
  "directUrl": "string",
  "themeEditorUrl": "string"
}