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

# Get Digital Product

> Retrieve a single digital product by its ID, including all linked assets.

## Path parameters

<ParamField path="id" type="string" required>
  The digital product's unique identifier (UUID).
</ParamField>

## Response

<ResponseField name="digital_product" type="object" required>
  The digital product object.

  <Expandable title="Digital product properties">
    <ResponseField name="id" type="string" required>
      Unique digital product identifier (UUID).
    </ResponseField>

    <ResponseField name="shopify_product_id" type="integer | null">
      The numeric Shopify product ID.
    </ResponseField>

    <ResponseField name="shopify_variant_id" type="integer | null">
      The numeric Shopify variant ID. `null` if linked at the product level.
    </ResponseField>

    <ResponseField name="assets" type="array" required>
      The assets attached to this digital product.
    </ResponseField>

    <ResponseField name="upsert_always" type="boolean" required>
      When `true`, a new copy of this digital product's assets is created for each order.
    </ResponseField>

    <ResponseField name="custom_message" type="string | null">
      Custom message shown on the download page.
    </ResponseField>

    <ResponseField name="preorder_enabled" type="boolean" required>
      Whether this is a preorder product.
    </ResponseField>

    <ResponseField name="preorder_launch_date" type="string | null">
      When preorder content becomes available.
    </ResponseField>

    <ResponseField name="preorder_subject" type="string | null">
      Email subject for the preorder notification.
    </ResponseField>

    <ResponseField name="preorder_heading" type="string | null">
      Heading shown while in preorder.
    </ResponseField>

    <ResponseField name="preorder_description" type="string | null">
      Description shown while in preorder.
    </ResponseField>

    <ResponseField name="created_at" type="string" required>
      ISO 8601 timestamp of creation.
    </ResponseField>

    <ResponseField name="updated_at" type="string" required>
      ISO 8601 timestamp of last update.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://app.filemonk.io/api/v1/external/digital_products/b2c3d4e5-f6a7-8901-bcde-f12345678901' \
    -H 'X-Auth-Token: fm_api_key_your_key_here'
  ```

  ```javascript Node.js theme={null}
  const productId = 'b2c3d4e5-f6a7-8901-bcde-f12345678901';
  const response = await fetch(
    `https://app.filemonk.io/api/v1/external/digital_products/${productId}`,
    { headers: { 'X-Auth-Token': 'fm_api_key_your_key_here' } }
  );
  const data = await response.json();
  ```

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

  product_id = 'b2c3d4e5-f6a7-8901-bcde-f12345678901'
  response = requests.get(
      f'https://app.filemonk.io/api/v1/external/digital_products/{product_id}',
      headers={'X-Auth-Token': 'fm_api_key_your_key_here'}
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "digital_product": {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "shopify_product_id": 8847261098265,
      "shopify_variant_id": null,
      "assets": [
        {
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "type": "external",
          "name": "Photoshop Brushes Pack",
          "filename": "brushes-pack-v2.zip",
          "external_url": "https://cdn.example.com/files/brushes-pack-v2.zip",
          "content_type": "application/zip",
          "byte_size": 0,
          "created_at": "2026-03-01T14:30:00Z"
        }
      ],
      "upsert_always": false,
      "custom_message": "Thanks for your purchase!",
      "preorder_enabled": false,
      "preorder_launch_date": null,
      "preorder_subject": null,
      "preorder_heading": null,
      "preorder_description": null,
      "created_at": "2026-03-05T10:00:00Z",
      "updated_at": "2026-03-05T10:00:00Z"
    }
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Digital product not found"
  }
  ```
</ResponseExample>
