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

# Product API

> The Product API allows integrators to retrieve a full list of available products or fetch detailed information for a specific product. All endpoints require Bearer token authentication using your API Key.

Base URL:

```
https://api2.wizzgift.com/b2b
```

***

<Card title="How to Authenticate" icon="person-to-door" href="/api/authentication">
  if you haven't checked how authentication works, please do by clicking here!

  Authentication is required on every API request, so you must have proper knowledge on wizzgift API authentication
</Card>

***

## **1. Get All Products**

Retrieve all available products at once.

<RequestExample>
  ```bash curl theme={null}
  curl -X GET "https://api2.wizzgift.com/b2b/products" \
    -H "Authorization: Bearer YOUR_API_KEY_HERE" \
    -H "Accept: application/json"
  ```

  ```javascript nodejs-fetch theme={null}
  const response = await fetch("https://api2.wizzgift.com/b2b/products", {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY_HERE",
      "Accept": "application/json"
    }
  });

  const data = await response.json();
  console.log(data);
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init();

  curl_setopt_array($curl, [
      CURLOPT_URL => "https://api2.wizzgift.com/b2b/products",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => [
          "Authorization: Bearer YOUR_API_KEY_HERE",
          "Accept: application/json"
      ]
  ]);

  $response = curl_exec($curl);
  curl_close($curl);

  echo $response;
  ```

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

  url = "https://api2.wizzgift.com/b2b/products"
  headers = {
      "Authorization": "Bearer YOUR_API_KEY_HERE",
      "Accept": "application/json"
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```
</RequestExample>

This endpoint does not accept any query parameters.

***

## **Successful Response Example**

*(Truncated for documentation clarity)*

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "success": true,
    "data": [
      {
        "slug": "paypal-gift-worldwide",
        "name": "Paypal Gift Card",
        "description": "Buy PayPal gift cards online to send instant digital funds for shopping, payments, and more. Perfect for easy, secure gifting and global use with a PayPal account.",
        "instruction": "Note : paypal have 4-7% internal charges depending on your country account, usually funds should be available instantly but sometimes it might take upto 24 hours or you need to claim it from paypal or email.",
        "disclosure": "Note : paypal have 4-7% internal charges depending on your country account",
        "image": "https://cdn.wizzgift.com/product/paypal-gift-worldwide.png",
        "product_currency": "USD",
        "cost_currency": "USD",
        "brand_color": "#ffffff",
        "countries": [
          "US",
          "GB",
          ".."
        ],
        "blacklisted": [],
        "categories": [
          "payments"
        ],
        "rating": 4,
        "skus": [
          {
            "id": "1",
            "min": 5,
            "max": 1000,
            "minCost": 5.25,
            "changeStep": 0.01,
            "active": true
          }
        ],
        "required_fields": [
          {
            "name": "paypal_email",
            "type": "email",
            "description": "Enter your paypal email"
          }
        ],
        "iframe_url": "",
        "digital_content": false,
        "reviews": [
          {
            "name": "Barnaclezs",
            "rating": 5,
            "review": "All good, received instantly"
          },
          {
            "name": "Hippopotamusrd",
            "rating": 5,
            "review": "Good"
          },
          {
            "name": "Lungfishhp",
            "rating": 2,
            "review": "I gave an email that is not associated with the account. Is it possible to fix this? My PayPal account email is tanihovantan@gmail.com"
          }
        ],
        "popularity": 0
      },
      {
        "slug": "apple-gift-card-usa",
        "name": "Apple Gift Card USD",
        "description": "<p>Apple Gift card is for all things Apple—products, accessories, apps, games, music, movies, TV shows, iCloud+, and more.</p><p>The perfect gift to say happy birthday, thank you, congratulations, and more.</p><p>Other details are:</p><ul><li>Card delivered via email.</li><li>Use it at any Apple Store, apple.com, in the Apple Store app, the App Store, iTunes, Apple Music, Apple TV+, Apple News+, Apple Books, Apple Arcade, iCloud+, Fitness+, Apple One, and other Apple properties in the US only.</li><li>Go to apple.com/redeem to add to your Apple Account. Use your balance for online and Apple Store purchases.</li><li>Not valid for other payments.</li><li>No returns or refunds on Apple Gift Cards. Terms apply.</li></ul>",
        "instruction": "<p>You can redeem the Apple gift card in two ways:</p><p><strong>Online:</strong></p><ul><li>Go to apple.com/redeem to add to your Apple Account balance.</li><li>Use your balance for online and Apple Store purchases.</li><li>Your Apple Account: As part of Wallet, your Apple Account balance is a quick, convenient way to pay when shopping at an Apple Store or apple.com.</li></ul><p><strong>In-store:</strong></p><ul><li>Take the gift card to any Apple Store location and present it to the cashier at the time of payment.</li><li>Let them know beforehand that you intend to use gift card for payment.</li><li>Use it for purchases at any Apple Store location, on the Apple Store app, apple.com, the App Store, iTunes, Apple Music, Apple TV+, Apple News+, Apple Books, Apple Arcade, iCloud, and other Apple properties in US only</li></ul>",
        "image": "https://cdn.wizzgift.com/product/apple-gift-card-usa.png",
        "product_currency": "USD",
        "cost_currency": "USD",
        "brand_color": "#f3f3f6",
        "countries": [
          "US"
        ],
        "blacklisted": [],
        "categories": [
          "games",
          "entertainment"
        ],
        "rating": 0,
        "skus": [
          {
            "id": "1",
            "min": 350,
            "max": 350,
            "minCost": 349.125,
            "changeStep": 1,
            "active": true
          },
          {
            "id": "2",
            "min": 35,
            "max": 35,
            "minCost": 34.9125,
            "changeStep": 1,
            "active": true
          },
          {
            "id": "3",
            "min": 70,
            "max": 70,
            "minCost": 69.825,
            "changeStep": 1,
            "active": true
          },
          {
            "id": "4",
            "min": 450,
            "max": 450,
            "minCost": 448.875,
            "changeStep": 1,
            "active": true
          },
          {
            "id": "5",
            "min": 7,
            "max": 7,
            "minCost": 6.9825,
            "changeStep": 1,
            "active": true
          }
        ],
        "required_fields": [],
        "iframe_url": "",
        "digital_content": true,
        "popularity": 0
      }
    ]
  }
  ```

  ```json Error 400-500 theme={null}
  {
      "error": "Missing Authorization header"
  }
  ```
</ResponseExample>

***

# **2. Product Object Structure**

Each product contains the following fields:

| Field             | Type      | Description                                              |
| :---------------- | :-------- | :------------------------------------------------------- |
| slug              | string    | Unique product identifier (Product ID).                  |
| name              | string    | Product name.                                            |
| description       | string    | HTML description content.                                |
| instruction       | string    | HTML redemption instructions.                            |
| disclosure        | string    | (Optional) Additional notes or warnings.                 |
| image             | string    | Product image URL.                                       |
| product\_currency | string    | Face-value currency.                                     |
| cost\_currency    | string    | Billing currency.                                        |
| brand\_color      | string    | Brand theme color (hex).                                 |
| countries         | string\[] | List of supported countries.                             |
| blacklisted       | string\[] | List of restricted countries.                            |
| categories        | string\[] | Category tags (e.g., “payments”, “crypto”).              |
| rating            | number    | Average rating (0–5).                                    |
| skus              | object\[] | Pricing structure and denomination limits.               |
| required\_fields  | object\[] | Extra details required during order creation.            |
| iframe\_url       | string    | Iframe URL if applicable (often empty).                  |
| digital\_content  | boolean   | Indicates whether product delivers only digital content. |
| reviews           | object\[] | User-submitted reviews, if available.                    |
| popularity        | number    | Popularity score.                                        |

***

# **3. SKU Object**

| Field      | Type    | Description                              |
| :--------- | :------ | :--------------------------------------- |
| id         | string  | SKU identifier.                          |
| min        | number  | Minimum denomination.                    |
| max        | number  | Maximum denomination.                    |
| minCost    | number  | Minimum cost for the product.            |
| changeStep | number  | Allowed increment steps (1, 0.01, etc.). |
| active     | boolean | Indicates availability.                  |

***

# **4. Required Field Object**

| Field       | Type   | Description                       |
| :---------- | :----- | :-------------------------------- |
| name        | string | Field key (e.g., `paypal_email`). |
| type        | string | Format type (e.g., email, text).  |
| description | string | User instruction for input.       |

***
