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

# Schema

> Schema for the Companion API v2.0.0

### Site

<Accordion title="Schema" defaultOpen={false}>
  | **Field**      | **Type**  | **Description**                                                |
  | -------------- | --------- | -------------------------------------------------------------- |
  | `platformName` | `String`  | The name of the platform (e.g., amazon)                        |
  | `siteName`     | `String`  | The name of the site (e.g., AmazonUS)                          |
  | `siteUrl`      | `String`  | The URL of the site                                            |
  | `siteCurrency` | `String`  | The currency used on the site                                  |
  | `siteImg`      | `String`  | An image URL for the site                                      |
  | `hasLists`     | `Boolean` | Whether or not the site supports lists                         |
  | `hasProducts`  | `Boolean` | Whether or not the site supports products                      |
  | `hasReleases`  | `Boolean` | Whether or not the site has scrapers                           |
  | `hasForceAdd`  | `Boolean` | Whether or not the site supports force adding                  |
  | `queryType`    | `String`  | The type of query used for the site (productSku or productUrl) |
  | `restockTypes` | `Array`   | An array of restock types supported by the site                |
  | `altNames`     | `Array`   | An array of alternative names for the site                     |
</Accordion>

### Product

<Accordion title="Schema" defaultOpen={false}>
  | **Field**       | **Type** | **Description**                         |
  | --------------- | -------- | --------------------------------------- |
  | `productSku`    | `String` | SKU of the product                      |
  | `productImg`    | `String` | Image of the product                    |
  | `productName`   | `String` | Name of the product                     |
  | `productPrice`  | `String` | Price of the product                    |
  | `productUrl`    | `String` | URL of the product                      |
  | `productSite`   | `String` | Site of the product                     |
  | `offerId`       | `String` | Offer ID of the product                 |
  | `lastRestocked` | `Int 64` | Last restocked timestamp of the product |
  | `firstAdded`    | `Int 64` | First added timestamp of the product    |
</Accordion>

### ItemConfig

<Accordion title="Schema" defaultOpen={false}>
  | **Field**            | **Type**  | **Description**                                     |
  | -------------------- | --------- | --------------------------------------------------- |
  | `stockAlertMaxPrice` | `Float`   | Maximum price threshold for stock alerts (nullable) |
  | `priceAlertMaxPrice` | `Float`   | Maximum price threshold for price alerts (nullable) |
  | `monitorPrice`       | `Boolean` | Whether to monitor price changes                    |
  | `mutedVariants`      | `Object`  | Object mapping variant IDs to mute status           |
</Accordion>

### ItemResponse

<Accordion title="Schema" defaultOpen={false}>
  | **Field** | **Type**     | **Description**                          |
  | --------- | ------------ | ---------------------------------------- |
  | `error`   | `Boolean`    | Indicates if an error occurred           |
  | `status`  | `String`     | Detailed status indicating error/success |
  | `product` | `Product`    | Product object with detailed information |
  | `config`  | `ItemConfig` | Item configuration settings              |
</Accordion>

### ItemsRequest

<Accordion title="Schema" defaultOpen={false}>
  | **Field** | **Type** | **Description**                  |
  | --------- | -------- | -------------------------------- |
  | `items`   | `Array`  | Array of item objects to process |

  **Item Object:**

  | **Field** | **Type**     | **Description**                      |
  | --------- | ------------ | ------------------------------------ |
  | `itemId`  | `String`     | Product SKU or identifier (required) |
  | `config`  | `ItemConfig` | Optional configuration settings      |
</Accordion>

### ConfigUpdateRequest

<Accordion title="Schema" defaultOpen={false}>
  | **Field**  | **Type**  | **Description**                    |
  | ---------- | --------- | ---------------------------------- |
  | `enable`   | `Boolean` | Whether to enable the alert        |
  | `maxPrice` | `Float`   | Maximum price threshold for alerts |
</Accordion>

### Error Response

<Accordion title="Schema" defaultOpen={false}>
  | **Field** | **Type** | **Description**  |
  | --------- | -------- | ---------------- |
  | `status`  | `Int`    | HTTP status code |
  | `message` | `String` | Error message    |
</Accordion>
