Skip to content

Item

Type: schema

TypeScript Definition

typescript
Item: {{
            product_id: string;
            variant_id: string | null;
            sku: string;
            slug: string;
            product_name: string;
            variant_name: string | null;
            /**
             * @example physical
             * @enum {string}
             */
            product_type: "physical" | "digital" | "bundle";
            short_description: string | null;
            active: boolean;
            stock_available: boolean;
            /** @description Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion. */
            backorder?: boolean;
            on_subscription: boolean;
            on_promotion: boolean;
            category_ids: string[];
            tags: string[] | null;
            reviews_count: number;
            reviews_rating_sum: number | null;
            attributes: components["schemas"]["ProductAttribute"][];
            images: components["schemas"]["ProductImage"][];
            pricing: components["schemas"]["ProductPricing"];
            promotion: components["schemas"]["ProductPromotion"];
            subscription: components["schemas"]["ProductSubscription"][];
            associated_options: components["schemas"]["AssociatedOption"] | null;
            shipping?: components["schemas"]["ProductShipping"];
            inventory?: components["schemas"]["LotBatchDetail"][];
        };
        /** JuspayCardPayload */
}

Component References

ReferenceResolves To
components["schemas"]["ProductAttribute"]ProductAttribute
components["schemas"]["ProductImage"]ProductImage
components["schemas"]["ProductPricing"]ProductPricing
components["schemas"]["ProductPromotion"]ProductPromotion
components["schemas"]["ProductSubscription"]ProductSubscription
components["schemas"]["AssociatedOption"]AssociatedOption
components["schemas"]["ProductShipping"]ProductShipping
components["schemas"]["LotBatchDetail"]LotBatchDetail

OpenAPI Schema

json
{
  "title": "SKU",
  "type": "object",
  "externalDocs": {
    "url": "https://llm-docs.commercengine.io/storefront/schemas/Item",
    "description": "API reference for the Item schema"
  },
  "required": [
    "product_id",
    "variant_id",
    "sku",
    "slug",
    "product_name",
    "variant_name",
    "product_type",
    "short_description",
    "active",
    "stock_available",
    "on_subscription",
    "on_promotion",
    "category_ids",
    "tags",
    "reviews_count",
    "reviews_rating_sum",
    "attributes",
    "images",
    "pricing",
    "promotion",
    "subscription",
    "associated_options"
  ],
  "properties": {
    "product_id": {
      "type": "string"
    },
    "variant_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "sku": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "product_name": {
      "type": "string"
    },
    "variant_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "product_type": {
      "type": "string",
      "enum": [
        "physical",
        "digital",
        "bundle"
      ],
      "examples": [
        "physical"
      ]
    },
    "short_description": {
      "type": [
        "string",
        "null"
      ]
    },
    "active": {
      "type": "boolean"
    },
    "stock_available": {
      "type": "boolean"
    },
    "backorder": {
      "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
      "type": "boolean"
    },
    "on_subscription": {
      "type": "boolean"
    },
    "on_promotion": {
      "type": "boolean"
    },
    "category_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tags": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "reviews_count": {
      "type": "integer"
    },
    "reviews_rating_sum": {
      "type": [
        "number",
        "null"
      ]
    },
    "attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProductAttribute"
      }
    },
    "images": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProductImage"
      }
    },
    "pricing": {
      "$ref": "#/components/schemas/ProductPricing"
    },
    "promotion": {
      "$ref": "#/components/schemas/ProductPromotion"
    },
    "subscription": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProductSubscription"
      }
    },
    "associated_options": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/AssociatedOption",
          "description": "Used when `variant_id` is not null."
        },
        {
          "type": "null",
          "description": "Null when `variant_id` is null."
        }
      ]
    },
    "shipping": {
      "$ref": "#/components/schemas/ProductShipping"
    },
    "inventory": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LotBatchDetail"
      }
    }
  },
  "examples": []
}

Auto-generated from OpenAPI spec and TypeScript definitions

Last updated: