> ## Documentation Index
> Fetch the complete documentation index at: https://chariow.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Product

> Retrieve detailed information about a specific product

Retrieves comprehensive information about a specific product by its public ID or slug. This endpoint returns detailed pricing information, images, ratings, sales count, SEO data, custom fields, and bundle information (if applicable).

## Path Parameters

<ParamField path="productId" type="string" required>
  The unique product identifier or slug (e.g., `prd_abc123` or `premium-course`)
</ParamField>

## Response

<ResponseField name="message" type="string">
  Response status message
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Unique product identifier (e.g., `prd_abc123`)
    </ResponseField>

    <ResponseField name="name" type="string">
      Product name
    </ResponseField>

    <ResponseField name="slug" type="string">
      URL-friendly product identifier
    </ResponseField>

    <ResponseField name="description" type="string">
      Full product description
    </ResponseField>

    <ResponseField name="type" type="string">
      Product type: `downloadable`, `service`, `course`, `license`, `bundle`, or `coaching`
    </ResponseField>

    <ResponseField name="category" type="object">
      <Expandable title="properties">
        <ResponseField name="value" type="string">
          Category value
        </ResponseField>

        <ResponseField name="label" type="string">
          Human-readable category label
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="status" type="string">
      Product status (always `published` for public API)
    </ResponseField>

    <ResponseField name="is_free" type="boolean">
      Whether the product is free
    </ResponseField>

    <ResponseField name="pictures" type="object">
      <Expandable title="properties">
        <ResponseField name="thumbnail" type="string|null">
          Thumbnail image URL
        </ResponseField>

        <ResponseField name="cover" type="string|null">
          Cover image URL
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pricing" type="object">
      <Expandable title="properties">
        <ResponseField name="type" type="string">
          Pricing type: `free`, `one_time`, or `what_you_want`
        </ResponseField>

        <ResponseField name="current_price" type="object">
          Current price (reflects sale price if on sale)

          <Expandable title="properties">
            <ResponseField name="value" type="number">
              Price amount as decimal
            </ResponseField>

            <ResponseField name="formatted" type="string">
              Formatted price string
            </ResponseField>

            <ResponseField name="short" type="string">
              Short formatted price string
            </ResponseField>

            <ResponseField name="currency" type="string">
              Currency code
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="price" type="object">
          Base price (same structure as current\_price)
        </ResponseField>

        <ResponseField name="sale_price" type="object|null">
          Sale price if product is on sale (same structure as current\_price)
        </ResponseField>

        <ResponseField name="min_price" type="object">
          Minimum price for "pay what you want" products
        </ResponseField>

        <ResponseField name="suggested_price" type="object">
          Suggested price for "pay what you want" products
        </ResponseField>

        <ResponseField name="price_off" type="string|null">
          Discount percentage (e.g., "34%")
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="quantity" type="object|null">
      Stock quantity information (only for products with limited quantity)

      <Expandable title="properties">
        <ResponseField name="value" type="integer">
          Total available quantity
        </ResponseField>

        <ResponseField name="remaining" type="object">
          <Expandable title="properties">
            <ResponseField name="value" type="integer">
              Remaining quantity
            </ResponseField>

            <ResponseField name="percent" type="string">
              Remaining percentage
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="sold" type="object">
          <Expandable title="properties">
            <ResponseField name="value" type="integer">
              Sold quantity
            </ResponseField>

            <ResponseField name="percent" type="string">
              Sold percentage
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="total" type="integer">
          Total quantity
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="settings" type="object">
      <Expandable title="properties">
        <ResponseField name="is_requires_shipping_address" type="boolean">
          Whether shipping address is required
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="rating" type="object">
      <Expandable title="properties">
        <ResponseField name="average" type="number">
          Average rating (0-5)
        </ResponseField>

        <ResponseField name="count" type="integer">
          Number of ratings
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="on_sale_until" type="string|null">
      Sale end date (ISO 8601 format)
    </ResponseField>

    <ResponseField name="sales_count" type="integer|null">
      Number of successful sales (null if hidden)
    </ResponseField>

    <ResponseField name="seo" type="object|null">
      SEO settings (only when loaded)

      <Expandable title="properties">
        <ResponseField name="title" type="string">
          SEO title
        </ResponseField>

        <ResponseField name="description" type="string">
          SEO description
        </ResponseField>

        <ResponseField name="keywords" type="array">
          SEO keywords
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="custom_cta_text" type="object">
      Custom call-to-action text

      <Expandable title="properties">
        <ResponseField name="value" type="string|null">
          CTA value
        </ResponseField>

        <ResponseField name="label" type="string|null">
          CTA label
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="fields" type="array|null">
      Custom fields (only when loaded)
    </ResponseField>

    <ResponseField name="bundle" type="object|null">
      Bundle information (only for bundle products)

      <Expandable title="properties">
        <ResponseField name="value" type="object">
          Total bundle value
        </ResponseField>

        <ResponseField name="savings" type="object">
          <Expandable title="properties">
            <ResponseField name="amount" type="object">
              Savings amount
            </ResponseField>

            <ResponseField name="percentage" type="string">
              Savings percentage
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="errors" type="array">
  Array of error messages (empty on success)
</ResponseField>

<RequestExample>
  ```bash cURL (by ID) theme={null}
  curl -X GET "https://api.chariow.com/v1/products/prd_abc123" \
    -H "Authorization: Bearer sk_live_YOUR_API_KEY"
  ```

  ```bash cURL (by slug) theme={null}
  curl -X GET "https://api.chariow.com/v1/products/premium-course" \
    -H "Authorization: Bearer sk_live_YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.chariow.com/v1/products/prd_abc123', {
    headers: {
      'Authorization': 'Bearer sk_live_YOUR_API_KEY'
    }
  });
  const { data } = await response.json();
  console.log(data);
  ```

  ```php PHP theme={null}
  $ch = curl_init('https://api.chariow.com/v1/products/prd_abc123');
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'Authorization: Bearer sk_live_YOUR_API_KEY'
  ]);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($ch);
  $data = json_decode($response, true);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.chariow.com/v1/products/prd_abc123',
      headers={'Authorization': 'Bearer sk_live_YOUR_API_KEY'}
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response (200) theme={null}
  {
    "message": "success",
    "data": {
      "id": "prd_abc123",
      "name": "Premium Web Development Course",
      "slug": "premium-web-dev-course",
      "description": "A comprehensive course covering advanced web development techniques and best practices.",
      "type": "course",
      "category": {
        "value": "education_and_learning",
        "label": "Education and Learning"
      },
      "status": "published",
      "is_free": false,
      "pictures": {
        "thumbnail": "https://cdn.chariow.com/products/abc123/thumb.jpg",
        "cover": "https://cdn.chariow.com/products/abc123/cover.jpg"
      },
      "pricing": {
        "type": "one_time",
        "current_price": {
          "value": 99.00,
          "formatted": "$99.00",
          "short": "99",
          "currency": "USD"
        },
        "price": {
          "value": 149.00,
          "formatted": "$149.00",
          "short": "149",
          "currency": "USD"
        },
        "sale_price": {
          "value": 99.00,
          "formatted": "$99.00",
          "short": "99",
          "currency": "USD"
        },
        "min_price": {
          "value": 0,
          "formatted": "$0.00",
          "short": "0",
          "currency": "USD"
        },
        "suggested_price": {
          "value": 0,
          "formatted": "$0.00",
          "short": "0",
          "currency": "USD"
        },
        "price_off": "34%"
      },
      "quantity": null,
      "settings": {
        "is_requires_shipping_address": false
      },
      "rating": {
        "average": 4.8,
        "count": 245
      },
      "on_sale_until": "2025-02-28T23:59:59Z",
      "sales_count": 1250,
      "seo": null,
      "custom_cta_text": {
        "value": null,
        "label": null
      },
      "fields": null,
      "bundle": null
    },
    "errors": []
  }
  ```

  ```json Bundle Product Response theme={null}
  {
    "message": "success",
    "data": {
      "id": "prd_bundle789",
      "name": "Complete Developer Bundle",
      "slug": "developer-bundle",
      "description": "Everything you need to become a professional developer.",
      "type": "bundle",
      "category": {
        "value": "technology",
        "label": "Technology"
      },
      "status": "published",
      "is_free": false,
      "pictures": {
        "thumbnail": "https://cdn.chariow.com/products/bundle789/thumb.jpg",
        "cover": null
      },
      "pricing": {
        "type": "one_time",
        "current_price": {
          "value": 199.00,
          "formatted": "$199.00",
          "short": "199",
          "currency": "USD"
        },
        "price": {
          "value": 199.00,
          "formatted": "$199.00",
          "short": "199",
          "currency": "USD"
        },
        "sale_price": null,
        "min_price": {
          "value": 0,
          "formatted": "$0.00",
          "short": "0",
          "currency": "USD"
        },
        "suggested_price": {
          "value": 0,
          "formatted": "$0.00",
          "short": "0",
          "currency": "USD"
        },
        "price_off": null
      },
      "quantity": null,
      "settings": {
        "is_requires_shipping_address": false
      },
      "rating": {
        "average": 4.9,
        "count": 89
      },
      "on_sale_until": null,
      "sales_count": 543,
      "seo": null,
      "custom_cta_text": {
        "value": null,
        "label": null
      },
      "fields": null,
      "bundle": {
        "value": {
          "value": 297.00,
          "formatted": "$297.00",
          "short": "297",
          "currency": "USD"
        },
        "savings": {
          "amount": {
            "value": 98.00,
            "formatted": "$98.00",
            "short": "98",
            "currency": "USD"
          },
          "percentage": "33%"
        }
      }
    },
    "errors": []
  }
  ```

  ```json Not Found (404) theme={null}
  {
    "message": "Product not found",
    "data": [],
    "errors": []
  }
  ```

  ```json Unauthorised (401) theme={null}
  {
    "message": "Unauthorised",
    "data": [],
    "errors": ["Invalid API key"]
  }
  ```
</ResponseExample>
