01.software Docs

getProductDetailCatalog

Use the SDK for application integration. This read-only reference covers Commerce, Customer Auth, Membership and Events.

All HTTP operations
GET
/api/products/detail/catalog

Exactly one truthy slug or id; see ProductDetailQuery. Publishable-key-safe catalog omits stock/reservedStock/totalInventory.

Authorization

publishableKey
headerX-Publishable-Key<token>

Tenant publishable key for authentication (sent via X-Publishable-Key header)

Query Parameters

slug?string
id?string
locale?string
Value in"ko""en""all"
fallbackLocale?string
Value in"ko""en""none""false"
market?string
Length1 <= length

Response Body

Actual shaped success body

application/json
  1. response
product*
variants*array<>
options*array<>
brand*||
categories*array<>
tags*array<>
images*array<>
videos*array<>
featuredImage?string|number|||
priceRange?
compareAtPriceRange?
availableForSale?boolean|null
selectedOrFirstAvailableVariant?|string|number||

Examples may be generated from schemas; they are illustrative, not recorded successful API calls. Example snippets may omit required authentication headers.

Example Request
curl -X GET 'https://api.01.software/api/products/detail/catalog'
Example Response
{  "product": {    "id": "string",    "slug": "string",    "title": "string",    "subtitle": "string",    "description": "string",    "content": null,    "publishedAt": "string",    "status": "string",    "totalVariants": 0,    "hasUnlimitedVariant": true,    "hasOnlyDefaultVariant": true  },  "variants": [    {      "id": "string",      "optionKey": "string",      "title": "string",      "displayName": "string",      "sku": "string",      "price": 0,      "compareAtPrice": 0,      "resolvedPrice": {        "amount": 0,        "compareAtPrice": 0,        "currency": "string",        "marketId": "string",        "source": "fixed"      },      "isUnlimited": true,      "inventoryPolicy": "deny",      "isActive": true,      "thumbnail": "string",      "images": [        "string"      ],      "media": {        "primaryImage": "string",        "images": [          "string"        ],        "source": "variant_media_selected"      },      "optionValues": [        {          "optionId": "string",          "optionSlug": "string",          "valueId": "string",          "valueSlug": "string",          "value": "string"        }      ],      "availableForSale": true    }  ],  "options": [    {      "id": "string",      "title": "string",      "slug": "string",      "values": [        {          "id": "string",          "value": "string",          "slug": "string",          "swatch": {            "type": "color",            "color": "string",            "mediaItemId": null          }        }      ]    }  ],  "brand": {    "id": "string",    "name": "string",    "slug": "string",    "logo": null  },  "categories": [    {      "id": "string",      "title": "string",      "slug": "string"    }  ],  "tags": [    {      "id": "string",      "title": "string",      "slug": "string"    }  ],  "images": [    {      "id": "string",      "url": "string",      "alt": "string",      "width": 0,      "height": 0    }  ],  "videos": [    {      "id": "string",      "url": "string"    }  ],  "featuredImage": "string",  "priceRange": {    "minVariantPrice": {      "amount": 0    },    "maxVariantPrice": {      "amount": 0    },    "isPriceRange": true  },  "compareAtPriceRange": {    "minVariantPrice": {      "amount": 0    },    "maxVariantPrice": {      "amount": 0    }  },  "availableForSale": true,  "selectedOrFirstAvailableVariant": {    "id": "string",    "optionKey": "string",    "title": "string",    "displayName": "string",    "sku": "string",    "price": 0,    "compareAtPrice": 0,    "resolvedPrice": {      "amount": 0,      "compareAtPrice": 0,      "currency": "string",      "marketId": "string",      "source": "fixed"    },    "isUnlimited": true,    "inventoryPolicy": "deny",    "isActive": true,    "thumbnail": "string",    "images": [      "string"    ],    "media": {      "primaryImage": "string",      "images": [        "string"      ],      "source": "variant_media_selected"    },    "optionValues": [      {        "optionId": "string",        "optionSlug": "string",        "valueId": "string",        "valueSlug": "string",        "value": "string"      }    ],    "availableForSale": true  }}

Query schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "market": {
      "type": "string",
      "minLength": 1
    },
    "locale": {
      "type": "string",
      "enum": [
        "ko",
        "en",
        "all"
      ]
    },
    "fallbackLocale": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "ko",
            "en"
          ]
        },
        {
          "type": "string",
          "enum": [
            "none"
          ]
        },
        {
          "type": "string",
          "enum": [
            "false"
          ]
        },
        {
          "type": "boolean",
          "enum": [
            false
          ]
        }
      ]
    }
  },
  "oneOf": [
    {
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "minLength": 1
        },
        "id": {
          "type": "string",
          "enum": [
            ""
          ]
        }
      }
    },
    {
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "slug": {
          "type": "string",
          "enum": [
            ""
          ]
        }
      }
    }
  ],
  "description": "Exactly one truthy slug or id; empty alternate value is accepted. Fallback none/false normalizes to false. Unknown query fields are stripped."
}