# product.info

> Bolt uses this endpoint to fetch product details, availability, and variant information from a merchant to display in Checkout Everywhere. You can pass either the `productID` or the `sku`; if both are present, Bolt defaults to `productID`.

Source: https://help.boltapp.com/api-reference/merchant-callback-reference/products/product-info

`GET /product_get`

## OpenAPI definition

This endpoint as it appears in the OpenAPI document, with every schema it references included.

```json
{
  "openapi": "3.2.0",
  "info": {
    "version": "1.0.0",
    "title": "Merchant Callback API Reference",
    "description": "## About\nThe Merchant Callback API is a general endpoint on your eCommerce server that Bolt calls to receive information necessary for operating the checkout process.\n\n**Note**: You must also reference the [Bolt API](/api-bolt) when building a custom cart integration.\n\n### URL Options\nYou can set the URL(s) for your Merchant Callback API in the [Bolt Merchant dashboard](https://merchant.boltapp.com).\n- **v1**: v1 endpoints are individualized and described in the subsections below with unique URLs (e.g., `/order_shipping_and_tax`)\n- **Universal**: The \"Universal API\" is one endpoint (instead of many) that handles all events described in this spec; the methods and payloads are identical, however you only need to use one URL.\n\nNeed more information? See our [Developer reference articles](/developers/references/) for **environment details**, **error codes**, and more.\n"
  },
  "servers": [
    {
      "url": "https://merchant-url.com/api"
    }
  ],
  "paths": {
    "/product_get": {
      "get": {
        "summary": "product.info",
        "operationId": "product.info",
        "description": "Bolt uses this endpoint to fetch product details, availability, and variant information from a merchant to display in Checkout Everywhere. You can pass either the `productID` or the `sku`; if both are present, Bolt defaults to `productID`.\n",
        "security": [
          {
            "ApiKeyAuth": [
              "X-API-Key"
            ]
          }
        ],
        "tags": [
          "Products"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/bolt_hmac_param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "event": {
                    "type": "string",
                    "enum": [
                      "product.info"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "This is a generic wrapper for the merchant's data. Open to see properties.",
                    "properties": {
                      "productID": {
                        "$ref": "#/components/schemas/product_id"
                      },
                      "sku": {
                        "$ref": "#/components/schemas/sku"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Item Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "event",
                    "status",
                    "data"
                  ],
                  "properties": {
                    "event": {
                      "type": "string",
                      "enum": [
                        "product.info"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "success"
                      ]
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "Current": {
                          "$ref": "#/components/schemas/product"
                        },
                        "Variants": {
                          "$ref": "#/components/schemas/variants"
                        },
                        "Parent": {
                          "$ref": "#/components/schemas/product"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Item Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "event",
                    "status"
                  ],
                  "properties": {
                    "event": {
                      "type": "string",
                      "enum": [
                        "product.info"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "failure"
                      ]
                    },
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "$ref": "#/components/schemas/code"
                        },
                        "message": {
                          "$ref": "#/components/schemas/message"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "bolt_hmac_param": {
        "in": "header",
        "name": "X-Bolt-Hmac-Sha256",
        "schema": {
          "type": "string"
        },
        "description": "Bolt sends a signed HMAC for hook verification"
      }
    },
    "schemas": {
      "product_id": {
        "type": "string",
        "description": "The product's unique id.",
        "examples": [
          "hat-123"
        ]
      },
      "sku": {
        "type": "string",
        "description": "The SKU identifier for this item or service.",
        "examples": [
          "SKU-11021"
        ]
      },
      "product": {
        "type": "object",
        "description": "A product.",
        "properties": {
          "BoltID": {
            "$ref": "#/components/schemas/bolt_product_id"
          },
          "Brand": {
            "$ref": "#/components/schemas/brand"
          },
          "Name": {
            "$ref": "#/components/schemas/product_name"
          },
          "Description": {
            "$ref": "#/components/schemas/description"
          },
          "Multimedia": {
            "type": "object",
            "description": "The media files associated to the product.",
            "properties": {
              "ImageURLs": {
                "$ref": "#/components/schemas/media_urls"
              },
              "VideoURLs": {
                "$ref": "#/components/schemas/media_videos"
              },
              "AudioSamples": {
                "$ref": "#/components/schemas/media_audios"
              }
            }
          },
          "Identifiers": {
            "$ref": "#/components/schemas/product_identifiers"
          },
          "Prices": {
            "$ref": "#/components/schemas/product_prices"
          },
          "IsVariantOf": {
            "$ref": "#/components/schemas/product_variant"
          },
          "Availability": {
            "$ref": "#/components/schemas/availability"
          },
          "AvailabilityCount": {
            "$ref": "#/components/schemas/availability_count"
          },
          "Properties": {
            "$ref": "#/components/schemas/product_properties"
          },
          "ItemType": {
            "$ref": "#/components/schemas/type"
          },
          "Taxable": {
            "$ref": "#/components/schemas/taxable"
          }
        }
      },
      "bolt_product_id": {
        "type": "string",
        "description": "Unique ID generated for a product via the products endpoint.",
        "examples": [
          "e2bb0e7e-5625-536f-8ad7-25a26537ee28"
        ]
      },
      "brand": {
        "type": "string",
        "description": "The name of a brand.",
        "examples": [
          "Bolt Swagstore"
        ]
      },
      "product_name": {
        "type": "integer",
        "description": "The product's readable name.",
        "examples": [
          "Pullover Hoodie-XS-Purple"
        ]
      },
      "description": {
        "type": "string",
        "description": "The product's description.",
        "examples": [
          "Very beautiful and chic."
        ]
      },
      "media_urls": {
        "type": "array",
        "description": "List of URLs",
        "items": {
          "$ref": "#/components/schemas/product_media_url"
        }
      },
      "product_media_url": {
        "type": "string",
        "description": "The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.",
        "examples": [
          "https//boltswagstore.com/image.png"
        ]
      },
      "media_videos": {
        "type": "array",
        "description": "List of URLs",
        "items": {
          "$ref": "#/components/schemas/product_media_video"
        }
      },
      "product_media_video": {
        "type": "string",
        "description": "The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.",
        "examples": [
          "https//boltswagstore.com/jurassic-park.mov"
        ]
      },
      "media_audios": {
        "type": "array",
        "description": "List of URLs",
        "items": {
          "$ref": "#/components/schemas/product_media_audio"
        }
      },
      "product_media_audio": {
        "type": "string",
        "description": "The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.",
        "examples": [
          "https//boltswagstore.com/myjam.mp3"
        ]
      },
      "product_identifiers": {
        "type": "object",
        "description": "Identifiers for the product.",
        "properties": {
          "SKU": {
            "$ref": "#/components/schemas/sku"
          },
          "GTIN": {
            "$ref": "#/components/schemas/gtin"
          },
          "MerchantDivisionID": {
            "$ref": "#/components/schemas/merchant_division_id"
          },
          "MerchantProductID": {
            "$ref": "#/components/schemas/merchant_product_id"
          }
        }
      },
      "gtin": {
        "type": "string",
        "description": "The product's GTIN.",
        "examples": [
          "AB3rJKam5DhYE"
        ]
      },
      "merchant_division_id": {
        "type": "string",
        "description": "The unique ID for one of the merchant's store divisions.",
        "examples": [
          "4ab56ad7865ada4ad32"
        ]
      },
      "merchant_product_id": {
        "type": "string",
        "description": "The merchant's unique ID for the product.",
        "examples": [
          "881"
        ]
      },
      "product_prices": {
        "type": "array",
        "description": "List of product prices.",
        "items": {
          "$ref": "#/components/schemas/product_price"
        }
      },
      "product_price": {
        "type": "object",
        "description": "The product's price in cents and currency.",
        "properties": {
          "UnitPriceInCents": {
            "$ref": "#/components/schemas/amount"
          },
          "Currency": {
            "$ref": "#/components/schemas/currency_iso"
          }
        }
      },
      "amount": {
        "type": "integer",
        "description": "The amount in cents. **Nullable** for Transactions Details.",
        "examples": [
          754
        ]
      },
      "currency_iso": {
        "type": "string",
        "description": "The 3-digit ISO code for the currency. **Nullable** for Transactions Details.",
        "examples": [
          "USD"
        ]
      },
      "product_variant": {
        "type": "string",
        "description": "The `BoltProductID` of the parent product. If the product is the parent, this ID is the same.",
        "examples": [
          "mens-shoe-86."
        ]
      },
      "availability": {
        "type": "string",
        "description": "Determines if the product is available.",
        "enum": [
          "out_of_stock",
          "in_stock",
          "pre_order"
        ],
        "examples": [
          "in_stock"
        ]
      },
      "availability_count": {
        "type": "integer",
        "description": "How many are in stock.",
        "examples": [
          "19"
        ]
      },
      "product_properties": {
        "type": "array",
        "description": "Properties associated to the product.",
        "items": {
          "type": "object",
          "description": "Properties associated to the product.",
          "properties": {
            "NameID": {
              "$ref": "#/components/schemas/product_property_name_id"
            },
            "Name": {
              "$ref": "#/components/schemas/product_property_name"
            },
            "ValueID": {
              "$ref": "#/components/schemas/product_property_value_id"
            },
            "Value": {
              "$ref": "#/components/schemas/product_property_value"
            },
            "Metadata": {
              "$ref": "#/components/schemas/product_metadata"
            }
          }
        }
      },
      "product_property_name_id": {
        "type": "integer",
        "format": "int64",
        "description": "The property type's unique ID.",
        "examples": [
          158
        ]
      },
      "product_property_name": {
        "type": "string",
        "description": "The property's readable name.",
        "examples": [
          "size"
        ]
      },
      "product_property_value_id": {
        "type": "integer",
        "format": "int64",
        "description": "The unique ID of the property's value.",
        "examples": [
          166
        ]
      },
      "product_property_value": {
        "type": "string",
        "description": "The property's unique value. (e.g., `S` `M` `L` for size properties; `Red` `Green``Blue` for color properties.)",
        "examples": [
          "XS"
        ]
      },
      "product_metadata": {
        "type": "object",
        "description": "Metadata for the product.",
        "properties": {
          "TextLabel": {
            "$ref": "#/components/schemas/product_property_text_label"
          },
          "ImageURL": {
            "$ref": "#/components/schemas/product_media_url"
          },
          "Position": {
            "$ref": "#/components/schemas/product_property_position"
          }
        }
      },
      "product_property_text_label": {
        "type": "string",
        "description": "The text label for the property.",
        "examples": [
          "pattern"
        ]
      },
      "product_property_position": {
        "type": "integer",
        "description": "Used to dictate the order of properties displayed (e.g., least > greatest).",
        "examples": [
          1
        ]
      },
      "type": {
        "type": "string",
        "enum": [
          "bundled",
          "digital",
          "physical",
          "unknown"
        ],
        "description": "Determines if item is a physical, digital, or bundled good, or if the good type is unknown.",
        "examples": [
          "physical"
        ]
      },
      "taxable": {
        "type": "boolean",
        "description": "Determines if item is taxable.",
        "examples": [
          true
        ]
      },
      "variants": {
        "type": "array",
        "description": "A collection of product variations linked to the current product that can vary in size and color or other properties.",
        "items": {
          "$ref": "#/components/schemas/product"
        }
      },
      "code": {
        "type": "integer",
        "format": "int64",
        "description": "This is an error code.",
        "examples": [
          2001005
        ]
      },
      "message": {
        "type": "string",
        "description": "The error message.",
        "examples": [
          "This is an error message."
        ]
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Admins and Developers can obtain their Bolt API key from the Bolt Merchant Dashboard."
      }
    }
  }
}
```
