# Products

## get_products

`TOOL get_products`

Get list of products for the authenticated user's organization

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `data` (optional)
  Type: object
  
  Query data object
  
  - `relations` (optional)
    Type: array
    
    Relations to include (e.g., ["productType", "productCategory", "tags"])
    
    Items:
      Type: string
  
  - `findInput` (optional)
    Type: object
    
    Find input filters
    
    - `enabled` (optional)
      Type: boolean
    
    - `productCategoryId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `productTypeId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  Additional properties: 
    Type: unknown

- `page` (optional)
  Type: number
  
  Page number for pagination

- `limit` (optional)
  Type: number
  
  Number of items per page

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_products",
    "arguments": {
        "data": {
          "relations": [
            "string"
          ],
          "findInput": {
            "enabled": true,
            "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
            "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
          }
        },
        "page": 0,
        "limit": 0
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_products",
  "arguments": {
    "data": {
      "relations": [
        "string"
      ],
      "findInput": {
        "enabled": true,
        "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
        "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
      }
    },
    "page": 0,
    "limit": 0
  }
});
```

### Python

```python
result = await session.call_tool("get_products", arguments={
  "data": {
    "relations": [
      "string"
    ],
    "findInput": {
      "enabled": true,
      "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
      "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
    }
  },
  "page": 0,
  "limit": 0
})
```


## get_products_translated

`TOOL get_products_translated`

Get list of products with translations for a specific language

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `langCode` (required)
  Type: string
  
  Language code for translations (e.g., "en", "fr", "es")

- `data` (optional)
  Type: object
  
  Query data object
  
  - `relations` (optional)
    Type: array
    
    Relations to include
    
    Items:
      Type: string
  
  - `findInput` (optional)
    Type: object
    
    Find input filters
    
    - `enabled` (optional)
      Type: boolean
    
    - `productCategoryId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `page` (optional)
  Type: number
  
  Page number for pagination

- `limit` (optional)
  Type: number
  
  Number of items per page

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_products_translated",
    "arguments": {
        "langCode": "string",
        "data": {
          "relations": [
            "string"
          ],
          "findInput": {
            "enabled": true,
            "productCategoryId": "550e8400-e29b-41d4-a716-446655440000"
          }
        },
        "page": 0,
        "limit": 0
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_products_translated",
  "arguments": {
    "langCode": "string",
    "data": {
      "relations": [
        "string"
      ],
      "findInput": {
        "enabled": true,
        "productCategoryId": "550e8400-e29b-41d4-a716-446655440000"
      }
    },
    "page": 0,
    "limit": 0
  }
});
```

### Python

```python
result = await session.call_tool("get_products_translated", arguments={
  "langCode": "string",
  "data": {
    "relations": [
      "string"
    ],
    "findInput": {
      "enabled": true,
      "productCategoryId": "550e8400-e29b-41d4-a716-446655440000"
    }
  },
  "page": 0,
  "limit": 0
})
```


## get_product_count

`TOOL get_product_count`

Get product count in the authenticated user's organization

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `data` (optional)
  Type: object
  
  Query data object
  
  - `findInput` (optional)
    Type: object
    
    Find input filters
    
    - `enabled` (optional)
      Type: boolean
    
    - `productCategoryId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `productTypeId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_product_count",
    "arguments": {
        "data": {
          "findInput": {
            "enabled": true,
            "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
            "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
          }
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_product_count",
  "arguments": {
    "data": {
      "findInput": {
        "enabled": true,
        "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
        "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
      }
    }
  }
});
```

### Python

```python
result = await session.call_tool("get_product_count", arguments={
  "data": {
    "findInput": {
      "enabled": true,
      "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
      "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
})
```


## get_products_pagination

`TOOL get_products_pagination`

Get products with pagination support

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `page` (optional)
  Type: number
  
  Page number
  
  default: 1

- `limit` (optional)
  Type: number
  
  Items per page
  
  default: 10

- `search` (optional)
  Type: string
  
  Search term

- `relations` (optional)
  Type: array
  
  Relations to include
  
  Items:
    Type: string

- `where` (optional)
  Type: object
  
  Where conditions
  
  - `enabled` (optional)
    Type: boolean
  
  - `productCategoryId` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  - `productTypeId` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_products_pagination",
    "arguments": {
        "page": 1,
        "limit": 10,
        "search": "string",
        "relations": [
          "string"
        ],
        "where": {
          "enabled": true,
          "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
          "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_products_pagination",
  "arguments": {
    "page": 1,
    "limit": 10,
    "search": "string",
    "relations": [
      "string"
    ],
    "where": {
      "enabled": true,
      "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
      "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
});
```

### Python

```python
result = await session.call_tool("get_products_pagination", arguments={
  "page": 1,
  "limit": 10,
  "search": "string",
  "relations": [
    "string"
  ],
  "where": {
    "enabled": true,
    "productCategoryId": "550e8400-e29b-41d4-a716-446655440000",
    "productTypeId": "550e8400-e29b-41d4-a716-446655440000"
  }
})
```


## get_product

`TOOL get_product`

Get a specific product by ID

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `id` (required)
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `data` (optional)
  Type: object
  
  Query data object
  
  - `relations` (optional)
    Type: array
    
    Relations to include (e.g., ["productType", "productCategory", "tags"])
    
    Items:
      Type: string
  
  - `findInput` (optional)
    Type: object
    
    Additional find input
    
    Additional properties: 
      Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_product",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "data": {
          "relations": [
            "string"
          ],
          "findInput": {}
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_product",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "data": {
      "relations": [
        "string"
      ],
      "findInput": {}
    }
  }
});
```

### Python

```python
result = await session.call_tool("get_product", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "relations": [
      "string"
    ],
    "findInput": {}
  }
})
```


## get_product_translated

`TOOL get_product_translated`

Get a specific product by ID with translations

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `id` (required)
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `langCode` (required)
  Type: string
  
  Language code for translations

- `data` (optional)
  Type: object
  
  Query data object
  
  - `relations` (optional)
    Type: array
    
    Relations to include
    
    Items:
      Type: string

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_product_translated",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "langCode": "string",
        "data": {
          "relations": [
            "string"
          ]
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_product_translated",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "langCode": "string",
    "data": {
      "relations": [
        "string"
      ]
    }
  }
});
```

### Python

```python
result = await session.call_tool("get_product_translated", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "langCode": "string",
  "data": {
    "relations": [
      "string"
    ]
  }
})
```


## create_product

`TOOL create_product`

Create a new product in the authenticated user's organization

Authentication: no security requirement declared for this operation.

Parameters:

- `product_data` (argument, object, required) - The data for creating the product. Required fields: code (string), type (object with name), category (object with name)
  Type: object
  
  The data for creating the product. Required fields: code (string), type (object with name), category (object with name)
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_product",
    "arguments": {
        "product_data": {}
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "create_product",
  "arguments": {
    "product_data": {}
  }
});
```

### Python

```python
result = await session.call_tool("create_product", arguments={
  "product_data": {}
})
```


## update_product

`TOOL update_product`

Update an existing product

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The product ID
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `product_data` (argument, object, required) - The data for updating the product
  Type: object
  
  The data for updating the product
  
  Additional properties: 
    Type: unknown

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_product",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "product_data": {}
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_product",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "product_data": {}
  }
});
```

### Python

```python
result = await session.call_tool("update_product", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "product_data": {}
})
```


## delete_product

`TOOL delete_product`

Delete a product

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The product ID
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_product",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "delete_product",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("delete_product", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000"
})
```


## add_product_gallery_images

`TOOL add_product_gallery_images`

Add images to product gallery

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `productId` (required)
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `images` (required)
  Type: array
  
  Array of image objects to add to gallery
  
  Items:
    Type: object
    
    - `id` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `createdAt` (optional)
      Type: string, date-time
      
      pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
    
    - `updatedAt` (optional)
      Type: string, date-time
      
      pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
    
    - `deletedAt` (optional)
      Type: unknown
      
      anyOf:
        Type: string, date-time
        
        pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
      
        Type: null
    
    - `isActive` (optional)
      Type: boolean
      
      default: true
    
    - `isArchived` (optional)
      Type: boolean
      
      default: false
    
    - `archivedAt` (optional)
      Type: unknown
      
      anyOf:
        Type: string, date-time
        
        pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
      
        Type: null
    
    - `createdByUserId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `updatedByUserId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `deletedByUserId` (optional)
      Type: string, uuid
      
      pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    
    - `name` (required)
      Type: string
      
      minLength: 1
    
    - `url` (optional)
      Type: unknown
      
      anyOf:
        Type: string, uri
      
        Type: string, starts_with
        
        pattern: "^data:.*"
    
    - `width` (optional)
      Type: integer
      
      maximum: 9007199254740991
      
      exclusiveMinimum: 0
    
    - `height` (optional)
      Type: integer
      
      maximum: 9007199254740991
      
      exclusiveMinimum: 0
    
    - `isFeatured` (optional)
      Type: boolean
    
    - `thumb` (optional)
      Type: unknown
      
      anyOf:
        Type: string, uri
      
        Type: string, starts_with
        
        pattern: "^data:.*"
    
    - `size` (optional)
      Type: integer
      
      minimum: 0
      
      maximum: 9007199254740991
    
    - `externalProviderId` (optional)
      Type: string
    
    - `storageProvider` (optional)
      Type: string

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_product_gallery_images",
    "arguments": {
        "productId": "550e8400-e29b-41d4-a716-446655440000",
        "images": [
          {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "createdAt": "2024-01-15T09:30:00Z",
            "updatedAt": "2024-01-15T09:30:00Z",
            "deletedAt": "2024-01-15T09:30:00Z",
            "isActive": true,
            "isArchived": false,
            "archivedAt": "2024-01-15T09:30:00Z",
            "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
            "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
            "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
            "name": "string",
            "url": "https://example.com",
            "width": 0,
            "height": 0,
            "isFeatured": true,
            "thumb": "https://example.com",
            "size": 0,
            "externalProviderId": "string",
            "storageProvider": "string"
          }
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "add_product_gallery_images",
  "arguments": {
    "productId": "550e8400-e29b-41d4-a716-446655440000",
    "images": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "createdAt": "2024-01-15T09:30:00Z",
        "updatedAt": "2024-01-15T09:30:00Z",
        "deletedAt": "2024-01-15T09:30:00Z",
        "isActive": true,
        "isArchived": false,
        "archivedAt": "2024-01-15T09:30:00Z",
        "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
        "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
        "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
        "name": "string",
        "url": "https://example.com",
        "width": 0,
        "height": 0,
        "isFeatured": true,
        "thumb": "https://example.com",
        "size": 0,
        "externalProviderId": "string",
        "storageProvider": "string"
      }
    ]
  }
});
```

### Python

```python
result = await session.call_tool("add_product_gallery_images", arguments={
  "productId": "550e8400-e29b-41d4-a716-446655440000",
  "images": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2024-01-15T09:30:00Z",
      "updatedAt": "2024-01-15T09:30:00Z",
      "deletedAt": "2024-01-15T09:30:00Z",
      "isActive": true,
      "isArchived": false,
      "archivedAt": "2024-01-15T09:30:00Z",
      "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "name": "string",
      "url": "https://example.com",
      "width": 0,
      "height": 0,
      "isFeatured": true,
      "thumb": "https://example.com",
      "size": 0,
      "externalProviderId": "string",
      "storageProvider": "string"
    }
  ]
})
```


## set_product_featured_image

`TOOL set_product_featured_image`

Set an image as featured for a product

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `productId` (required)
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `image` (required)
  Type: object
  
  Image object to set as featured
  
  - `id` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  - `createdAt` (optional)
    Type: string, date-time
    
    pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
  
  - `updatedAt` (optional)
    Type: string, date-time
    
    pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
  
  - `deletedAt` (optional)
    Type: unknown
    
    anyOf:
      Type: string, date-time
      
      pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
    
      Type: null
  
  - `isActive` (optional)
    Type: boolean
    
    default: true
  
  - `isArchived` (optional)
    Type: boolean
    
    default: false
  
  - `archivedAt` (optional)
    Type: unknown
    
    anyOf:
      Type: string, date-time
      
      pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](https://sourcey-gauzy.pages.dev/mcp/products/index.md?:[01]\d|2[0-3]):[0-5]\\d)))$"
    
      Type: null
  
  - `createdByUserId` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  - `updatedByUserId` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  - `deletedByUserId` (optional)
    Type: string, uuid
    
    pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  
  - `name` (required)
    Type: string
    
    minLength: 1
  
  - `url` (optional)
    Type: unknown
    
    anyOf:
      Type: string, uri
    
      Type: string, starts_with
      
      pattern: "^data:.*"
  
  - `width` (optional)
    Type: integer
    
    maximum: 9007199254740991
    
    exclusiveMinimum: 0
  
  - `height` (optional)
    Type: integer
    
    maximum: 9007199254740991
    
    exclusiveMinimum: 0
  
  - `isFeatured` (optional)
    Type: boolean
  
  - `thumb` (optional)
    Type: unknown
    
    anyOf:
      Type: string, uri
    
      Type: string, starts_with
      
      pattern: "^data:.*"
  
  - `size` (optional)
    Type: integer
    
    minimum: 0
    
    maximum: 9007199254740991
  
  - `externalProviderId` (optional)
    Type: string
  
  - `storageProvider` (optional)
    Type: string

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_product_featured_image",
    "arguments": {
        "productId": "550e8400-e29b-41d4-a716-446655440000",
        "image": {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "createdAt": "2024-01-15T09:30:00Z",
          "updatedAt": "2024-01-15T09:30:00Z",
          "deletedAt": "2024-01-15T09:30:00Z",
          "isActive": true,
          "isArchived": false,
          "archivedAt": "2024-01-15T09:30:00Z",
          "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
          "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
          "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
          "name": "string",
          "url": "https://example.com",
          "width": 0,
          "height": 0,
          "isFeatured": true,
          "thumb": "https://example.com",
          "size": 0,
          "externalProviderId": "string",
          "storageProvider": "string"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "set_product_featured_image",
  "arguments": {
    "productId": "550e8400-e29b-41d4-a716-446655440000",
    "image": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2024-01-15T09:30:00Z",
      "updatedAt": "2024-01-15T09:30:00Z",
      "deletedAt": "2024-01-15T09:30:00Z",
      "isActive": true,
      "isArchived": false,
      "archivedAt": "2024-01-15T09:30:00Z",
      "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
      "name": "string",
      "url": "https://example.com",
      "width": 0,
      "height": 0,
      "isFeatured": true,
      "thumb": "https://example.com",
      "size": 0,
      "externalProviderId": "string",
      "storageProvider": "string"
    }
  }
});
```

### Python

```python
result = await session.call_tool("set_product_featured_image", arguments={
  "productId": "550e8400-e29b-41d4-a716-446655440000",
  "image": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "createdAt": "2024-01-15T09:30:00Z",
    "updatedAt": "2024-01-15T09:30:00Z",
    "deletedAt": "2024-01-15T09:30:00Z",
    "isActive": true,
    "isArchived": false,
    "archivedAt": "2024-01-15T09:30:00Z",
    "createdByUserId": "550e8400-e29b-41d4-a716-446655440000",
    "updatedByUserId": "550e8400-e29b-41d4-a716-446655440000",
    "deletedByUserId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "string",
    "url": "https://example.com",
    "width": 0,
    "height": 0,
    "isFeatured": true,
    "thumb": "https://example.com",
    "size": 0,
    "externalProviderId": "string",
    "storageProvider": "string"
  }
})
```


## delete_product_gallery_image

`TOOL delete_product_gallery_image`

Delete an image from product gallery

Authentication: no security requirement declared for this operation.

Parameters:

- `productId` (argument, string, uuid, required) - The product ID
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `imageId` (argument, string, uuid, required) - The image ID to delete
  Type: string, uuid
  
  The image ID to delete
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_product_gallery_image",
    "arguments": {
        "productId": "550e8400-e29b-41d4-a716-446655440000",
        "imageId": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "delete_product_gallery_image",
  "arguments": {
    "productId": "550e8400-e29b-41d4-a716-446655440000",
    "imageId": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("delete_product_gallery_image", arguments={
  "productId": "550e8400-e29b-41d4-a716-446655440000",
  "imageId": "550e8400-e29b-41d4-a716-446655440000"
})
```


## delete_product_featured_image

`TOOL delete_product_featured_image`

Delete the featured image of a product

Authentication: no security requirement declared for this operation.

Parameters:

- `productId` (argument, string, uuid, required) - The product ID
  Type: string, uuid
  
  The product ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_product_featured_image",
    "arguments": {
        "productId": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "delete_product_featured_image",
  "arguments": {
    "productId": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("delete_product_featured_image", arguments={
  "productId": "550e8400-e29b-41d4-a716-446655440000"
})
```
