# Product Library API API

> Product Library API API on Apizie: 32 endpoints (Retrieve all categories, Create a new category, Rename a category, Delete a category, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/ecommerce:izettle-products/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `ecommerce:izettle-products`
- Category: E-commerce
- Status: byok
- Source: https://izettle.com
- Page: https://apizie.tech/api/ecommerce/izettle-products
- OpenAPI: https://apizie.tech/api/ecommerce/izettle-products/openapi.json

The Product Library API is used for managing merchant's product information and product images.

## Endpoints

### Retrieve all categories
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-product-types` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Create a new category
`POST https://apizie.tech/v1/ecommerce:izettle-products/create-categories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| body | object | yes | JSON request body |

### Rename a category
`POST https://apizie.tech/v1/ecommerce:izettle-products/rename-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| categoryUuid | string | yes |  |
| body | object | yes | JSON request body |

### Delete a category
`POST https://apizie.tech/v1/ecommerce:izettle-products/delete-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| categoryUuid | string | yes |  |

### Retrieve all discounts
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-all-discounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Create a discount
`POST https://apizie.tech/v1/ecommerce:izettle-products/create-discount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| body | object | no | JSON request body |

### Retrieve a single discount
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-discount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-None-Match | string | no |  |
| organizationUuid | string | yes |  |
| discountUuid | string | yes |  |

### Update a single discount
`POST https://apizie.tech/v1/ecommerce:izettle-products/update-discount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-Match | string | no |  |
| organizationUuid | string | yes |  |
| discountUuid | string | yes |  |
| body | object | yes | JSON request body |

### Delete a single discount
`POST https://apizie.tech/v1/ecommerce:izettle-products/delete-discount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| discountUuid | string | yes |  |

### Retrieve all library item images
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-all-image-urls` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Get status for latest import
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-latest-import-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Get status for an import
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-status-by-uuid` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| importUuid | string | yes |  |

### Import library items
`POST https://apizie.tech/v1/ecommerce:izettle-products/import-library-v2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| body | object | yes | JSON request body |

### Retrieve the entire library
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-library` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| eventLogUuid | string | no |  |
| limit | integer | no |  |
| offset | string | no |  |
| all | boolean | no |  |

### Retrieve all products visible in POS
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-all-products-in-pos` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Create a new product
`POST https://apizie.tech/v1/ecommerce:izettle-products/create-product` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| returnEntity | boolean | no |  |
| body | object | yes | JSON request body |

### Delete a list of products
`POST https://apizie.tech/v1/ecommerce:izettle-products/delete-products` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| uuid | array | yes | List of product UUIDs to be deleted |

### Create a product identifier
`POST https://apizie.tech/v1/ecommerce:izettle-products/create-product-slug` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| body | object | yes | JSON request body |

### Retrieve an aggregate of active Options in the library
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-all-options` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Retrieve all products visible in POS – v2
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-all-products-v2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| sort | boolean | no | If true, sorts response by created date |

### Retrieve the count of existing products
`GET https://apizie.tech/v1/ecommerce:izettle-products/count-all-products` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |

### Update a single product
`POST https://apizie.tech/v1/ecommerce:izettle-products/update-product` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-Match | string | no |  |
| organizationUuid | string | yes |  |
| productUuid | string | yes |  |
| body | object | yes | JSON request body |

### Retrieve a single product
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-product` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-None-Match | string | no |  |
| organizationUuid | string | yes |  |
| productUuid | string | yes |  |

### Delete a single product
`POST https://apizie.tech/v1/ecommerce:izettle-products/delete-product` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationUuid | string | yes |  |
| productUuid | string | yes |  |

### Get all available tax rates
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-tax-rates` (byok)

### Create new tax rates
`POST https://apizie.tech/v1/ecommerce:izettle-products/create-tax-rates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get all tax rates and a count of products associated with each
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-product-count-for-all-taxes` (byok)

### Get the organization tax settings
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-tax-settings` (byok)

### Update the organization tax settings
`POST https://apizie.tech/v1/ecommerce:izettle-products/set-taxation-mode` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get a single tax rate
`GET https://apizie.tech/v1/ecommerce:izettle-products/get-tax-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| taxRateUuid | string | yes |  |

### Update a single tax rate
`POST https://apizie.tech/v1/ecommerce:izettle-products/update-tax-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| taxRateUuid | string | yes |  |
| body | object | yes | JSON request body |

### Delete a single tax rate
`POST https://apizie.tech/v1/ecommerce:izettle-products/delete-tax-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| taxRateUuid | string | yes |  |

## Example
```
curl "https://apizie.tech/v1/ecommerce:izettle-products/get-product-types" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Product Library API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/ecommerce:izettle-products/get-product-types with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Product Library API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Product Library API itself also needs your own key from izettle.com.

### Can AI agents use the Product Library API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key ecommerce:izettle-products.

### What is the status of the Product Library API API?
Needs your own provider key (bring your own key)
