---
canonical_url: "https://docs.composio.dev/toolkits/zettle"
markdown_url: "https://docs.composio.dev/toolkits/zettle.md"
product: "platform"
version: null
last_updated: null
---

# PayPal Zettle

PayPal Zettle provides APIs for merchant product libraries, inventory, purchases, finance, user information, and webhook subscriptions.

- **Category:** commerce
- **Auth:** OAUTH2, S2S_OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 55
- **Triggers:** 0
- **Slug:** `ZETTLE`
- **Version:** 00000000_00

## Tools

### Count Products

**Slug:** `ZETTLE_COUNT_PRODUCTS`

Retrieve the count of existing products for a merchant organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count Products By Tax Rate

**Slug:** `ZETTLE_COUNT_PRODUCTS_BY_TAX_RATE`

Get each tax rate and its associated product count. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Categories

**Slug:** `ZETTLE_CREATE_CATEGORIES`

Create one or more product categories in one request and return creation metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `categories` | array | Yes | Categories to create. Each category must include its UUID and name; Zettle creates all entries in one request. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Discount

**Slug:** `ZETTLE_CREATE_DISCOUNT`

Create a fixed-amount or percentage discount in a product library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `discount` | object | Yes | Discount to create with every documented Discount field. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Inventory

**Slug:** `ZETTLE_CREATE_INVENTORY`

Create one Zettle STORE inventory from its name and optional description.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inventory` | object | Yes | Inventory to create, including its name and optional description. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product

**Slug:** `ZETTLE_CREATE_PRODUCT`

Create a product and up to 99 complete embedded variants.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product` | object | Yes | Product to create, including the complete Product schema and up to 99 embedded variants. |
| `return_entity` | boolean | No | Return the created product in the response instead of only creation metadata. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tax Rates

**Slug:** `ZETTLE_CREATE_TAX_RATES`

Create up to 15 tax rates in one request. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_rates` | array | Yes | Tax rates to create as one array, with at most 15 entries. This tax surface is unavailable outside sales-tax countries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook Subscription

**Slug:** `ZETTLE_CREATE_WEBHOOK_SUBSCRIPTION`

Create a Zettle webhook subscription for selected events at a public HTTPS destination and return the signing key needed to verify incoming messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription` | object | Yes | Webhook subscription to create. All fields are required. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; the provider also accepts 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Category

**Slug:** `ZETTLE_DELETE_CATEGORY`

Permanently delete a category. This cannot be undone; verify the identifier before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category_uuid` | string | Yes | UUID of the category. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Discount

**Slug:** `ZETTLE_DELETE_DISCOUNT`

Permanently delete one discount. This cannot be undone; verify the identifier before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `discount_uuid` | string | Yes | UUID of the discount. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Products

**Slug:** `ZETTLE_DELETE_PRODUCTS`

Permanently delete one or more products and their embedded variants. This cannot be undone; verify every product UUID before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_uuids` | array | Yes | One or more product UUIDs to permanently delete. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tax Rate

**Slug:** `ZETTLE_DELETE_TAX_RATE`

Permanently delete one tax rate. This cannot be undone; verify the identifier before calling. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_rate_uuid` | string | Yes | UUID of the tax rate to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook Subscription

**Slug:** `ZETTLE_DELETE_WEBHOOK_SUBSCRIPTION`

Permanently delete a Zettle webhook subscription. This cannot be undone; verify the identifier before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; 'self' resolves the organization from the access token. |
| `subscription_uuid` | string | Yes | UUID version 1 of the webhook subscription to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Product Image

**Slug:** `ZETTLE_FETCH_PRODUCT_IMAGE`

Fetch a product image by lookup key, optionally resizing, cropping, or converting it, and return a downloadable file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `crop` | boolean | No | Crop the image when true; fit it within the requested box when false. |
| `width` | integer | No | Requested image width in pixels (20-4096). |
| `format` | string ("jpeg" | "png" | "gif") | No | Requested image format. Omit to use the provider's default JPEG format. |
| `height` | integer | No | Requested image height in pixels (20-4096). |
| `image_lookup_key` | string | Yes | Image lookup key returned by an image upload or import action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Product Slug

**Slug:** `ZETTLE_GENERATE_PRODUCT_SLUG`

Create a unique online product slug from a product name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_name` | string | Yes | Product name from which Zettle generates a unique online slug. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Discount

**Slug:** `ZETTLE_GET_DISCOUNT`

Retrieve one discount from a merchant's product library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `discount_uuid` | string | Yes | UUID of the discount. |
| `if_none_match` | string | No | ETag from an earlier read; returns a not-modified result when unchanged. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Finance Balance

**Slug:** `ZETTLE_GET_FINANCE_BALANCE`

Get the balance of the merchant's preliminary or liquid Zettle account, optionally at a specified point in time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `at` | string | No | ISO 8601 date and time with timezone at which to calculate the balance; omit to use the current time. |
| `account_type_group` | string ("PRELIMINARY" | "LIQUID") | Yes | Account group: PRELIMINARY for transactions awaiting confirmation or LIQUID for funds payable to the merchant. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Import Status

**Slug:** `ZETTLE_GET_IMPORT_STATUS`

Return the latest product-library import status, or a specific import when import_uuid is provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `import_uuid` | string | No | Import UUID to inspect. Omit it to inspect the latest import. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Inventory

**Slug:** `ZETTLE_GET_INVENTORY`

Fetch one inventory belonging to the connected Zettle organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inventory_uuid` | string | Yes | UUID of the inventory/location to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Payout Info

**Slug:** `ZETTLE_GET_PAYOUT_INFO`

Get the connected merchant's liquid-account payout balance, next payout amount, voucher discount balance, and payout schedule at a point in time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `at` | string | No | ISO 8601 timestamp with timezone for the payout snapshot. Transactions after this time are ignored; omit it for the current account state. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product

**Slug:** `ZETTLE_GET_PRODUCT`

Retrieve one product and its complete embedded variants.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_uuid` | string | Yes | UUID of the product. |
| `if_none_match` | string | No | ETag from an earlier read; returns a not-modified result when unchanged. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product Library

**Slug:** `ZETTLE_GET_PRODUCT_LIBRARY`

Return one page of the complete product library or changes after an event-log UUID, including full products, embedded variants, and discounts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `all` | boolean | No | Request the provider's complete library view when true. |
| `limit` | integer | No | Maximum combined product and discount records to return in this page (1-500). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `event_log_uuid` | string | No | Return only library changes after this event-log UUID. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product Stock

**Slug:** `ZETTLE_GET_PRODUCT_STOCK`

Return one page of variant stock balances from the documented product- and inventory-specific Zettle endpoint, including low-stock settings and a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum variant stock-balance records to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `product_uuid` | string | Yes | UUID of the product whose variant balances to return. |
| `inventory_uuid` | string | Yes | UUID of the inventory/location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Purchase

**Slug:** `ZETTLE_GET_PURCHASE`

Fetch one immutable Zettle purchase or refund by its UUID version 1, including complete item, payment, discount, tax, and refund details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `purchase_uuid` | string | Yes | UUID version 1 of the purchase. The deprecated base64-encoded purchase identifier is not accepted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Selected Products Stock

**Slug:** `ZETTLE_GET_SELECTED_PRODUCTS_STOCK`

Return one page of product-variant stock balances for selected products in one Zettle inventory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum stock-balance records to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `product_uuids` | array | Yes | Product UUIDs whose balances to return, with at most 1000 UUIDs. |
| `inventory_uuid` | string | Yes | UUID of the inventory whose selected product balances to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tax Rate

**Slug:** `ZETTLE_GET_TAX_RATE`

Get one tax rate. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_rate_uuid` | string | Yes | UUID of the tax rate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tax Settings

**Slug:** `ZETTLE_GET_TAX_SETTINGS`

Get organization tax settings and the organization UUID needed by other Zettle actions. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tracking Status

**Slug:** `ZETTLE_GET_TRACKING_STATUS`

Return inventory-tracking status for selected Zettle products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_uuids` | array | Yes | Product UUIDs whose inventory-tracking status to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Import Library Items

**Slug:** `ZETTLE_IMPORT_LIBRARY_ITEMS`

Start an asynchronous product import. At least one product is required. Zettle currently ignores discounts and categories included in the payload; create those resources with their dedicated actions. Only one import can run at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `library_import` | object | Yes | Asynchronous product import containing at least one product. Zettle currently ignores discounts and categories in this payload. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Import Product Images

**Slug:** `ZETTLE_IMPORT_PRODUCT_IMAGES`

Import one or more product images from HTTPS URLs and return their lookup keys. Imported assets have no documented delete endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_uploads` | array | Yes | Images to import from URLs. One item uses Zettle's single-image route; multiple items use its fixed bulk route. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Categories

**Slug:** `ZETTLE_LIST_CATEGORIES`

Retrieve all product categories for a merchant organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Discounts

**Slug:** `ZETTLE_LIST_DISCOUNTS`

Retrieve all discounts from a merchant's product library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Finance Transactions

**Slug:** `ZETTLE_LIST_FINANCE_TRANSACTIONS`

Return one page of transactions from a Zettle preliminary or liquid account within a required date range, optionally filtered by transaction type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Exclusive ISO 8601 date-time at which to end the transaction range. |
| `limit` | integer | No | Maximum transactions to return in this page (1-10000). |
| `start` | string | Yes | Inclusive ISO 8601 date-time at which to start the transaction range. |
| `offset` | integer | No | Number of matching transactions to skip on the first page. Prefer next_cursor for continuation pages. |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `account_type_group` | string ("PRELIMINARY" | "LIQUID") | Yes | Account group: PRELIMINARY for transactions awaiting confirmation or LIQUID for funds payable to the merchant. |
| `include_transaction_type` | array | No | Transaction types to include, such as PAYMENT, PAYMENT_FEE, PAYOUT, or ADJUSTMENT. Omit to return every transaction type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Inventories

**Slug:** `ZETTLE_LIST_INVENTORIES`

List the merchant organization's inventories and the UUIDs needed for stock-management actions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Inventory Stock

**Slug:** `ZETTLE_LIST_INVENTORY_STOCK`

Return one page of product-variant stock balances from the documented inventory-specific Zettle endpoint, including low-stock settings and a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum stock-balance records to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `inventory_uuid` | string | Yes | UUID of the inventory whose product-variant balances to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Library Images

**Slug:** `ZETTLE_LIST_LIBRARY_IMAGES`

Retrieve all image references used by library items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product Options

**Slug:** `ZETTLE_LIST_PRODUCT_OPTIONS`

Retrieve aggregate active variant options in the product library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Products

**Slug:** `ZETTLE_LIST_PRODUCTS`

List all POS-visible products with complete embedded variants in the selected current or legacy representation. This endpoint is not paginated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | boolean | No | Whether the current representation should be sorted by creation date. This parameter is not supported by the legacy representation. |
| `representation` | string ("current" | "legacy") | No | Product representation to return. Current uses /products/v2; legacy uses /products. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Purchases

**Slug:** `ZETTLE_LIST_PURCHASES`

Return one page of purchases and refunds from up to three years ago, with date and ordering filters plus an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum purchases to return in this page (1-1000). |
| `end_date` | string | No | Exclusive UTC end of the purchase range. Use a bounded range when possible; an unbounded request can fail at the provider. |
| `descending` | boolean | No | Return the newest purchases first when true. |
| `start_date` | string | No | Inclusive UTC start of the purchase range. Use a bounded range when possible; an unbounded request can fail at the provider. |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Stock

**Slug:** `ZETTLE_LIST_STOCK`

Return one page of variant stock balances across Zettle store inventories, optionally filtered by inventory or product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum stock-balance records to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `product_uuid` | string | No | Return balances only for this product UUID. |
| `inventory_uuid` | string | No | Return balances only for this inventory UUID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Stock Updates

**Slug:** `ZETTLE_LIST_STOCK_UPDATES`

Return one page of stock-balance updates made at or after a timestamp, optionally filtered to specific inventories, with a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ts` | string | No | Return balances updated at or after this ISO 8601 timestamp. The default returns all available updates. |
| `limit` | integer | No | Maximum stock-balance updates to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |
| `inventory_uuid` | array | No | Inventory UUIDs to include. Omit to return updates for all STORE inventories. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tax Rates

**Slug:** `ZETTLE_LIST_TAX_RATES`

List the connected merchant's tax rates. Zettle does not provide this tax surface outside sales-tax countries.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tracked Products

**Slug:** `ZETTLE_LIST_TRACKED_PRODUCTS`

Return one page of UUIDs for Zettle products with inventory tracking enabled, with an opaque continuation cursor when more records are available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum tracked-product records to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tracking Updates

**Slug:** `ZETTLE_LIST_TRACKING_UPDATES`

Return one page of product inventory-tracking status changes made at or after a timestamp, with a continuation cursor when more are available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ts` | string | No | Return tracking-status changes made at or after this ISO 8601 timestamp. The default returns all available updates. |
| `limit` | integer | No | Maximum tracking-status updates to return in this page (1-1000). |
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhook Subscriptions

**Slug:** `ZETTLE_LIST_WEBHOOK_SUBSCRIPTIONS`

List all webhook subscriptions configured for a Zettle organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; 'self' resolves the organization from the access token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Inventory Stock

**Slug:** `ZETTLE_MOVE_INVENTORY_STOCK`

Atomically move product-variant quantities between inventories. This changes stock balances; verify every UUID and quantity before calling. If any movement fails, Zettle applies none of them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `movement` | object | Yes | Complete atomic inventory movement. Verify every UUID and quantity before calling because this changes stock balances; if any item fails, none move. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Inventory Tracking

**Slug:** `ZETTLE_SET_INVENTORY_TRACKING`

Start or stop inventory tracking for one or more Zettle products. Stopping tracking retains saved balances but stops automatic purchase updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | array | Yes | Products whose inventory tracking will be enabled or disabled. Disabling tracking retains saved balances but stops automatic purchase updates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Low Stock Levels

**Slug:** `ZETTLE_SET_LOW_STOCK_LEVELS`

Set low-stock refill thresholds and Zettle Go alert settings for product variants across inventories. All definitions are applied in one array request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `definitions` | array | Yes | Low-stock levels and alert settings to apply as one array request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Category

**Slug:** `ZETTLE_UPDATE_CATEGORY`

Rename a category. Zettle requires a non-null name in the JSON body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category` | object | Yes | Category rename body. Zettle requires name. |
| `category_uuid` | string | Yes | UUID of the category. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Discount

**Slug:** `ZETTLE_UPDATE_DISCOUNT`

Update selected fields of a discount using JSON merge-patch semantics, optionally guarded by its ETag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `if_match` | string | No | ETag from an earlier read. When supplied, Zettle rejects the update with 412 if the discount has changed. |
| `discount_uuid` | string | Yes | UUID of the discount to update. |
| `discount_patch` | object | Yes | Discount merge patch. Omitted fields stay unchanged and explicit nulls remove fields. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Product

**Slug:** `ZETTLE_UPDATE_PRODUCT`

Replace a product using Zettle's full update contract. The request requires the product uuid, name, and current ETag from Get Product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `if_match` | string | Yes | ETag returned by Get Product. Zettle requires this If-Match header and rejects stale values with 412. |
| `product_uuid` | string | Yes | UUID of the product to update. |
| `product_patch` | object | Yes | Complete product update body with required uuid and name. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tax Rate

**Slug:** `ZETTLE_UPDATE_TAX_RATE`

Update one tax rate. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_rate` | object | Yes | Complete tax-rate update containing label, percentage, and default. |
| `tax_rate_uuid` | string | Yes | UUID of the tax rate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tax Settings

**Slug:** `ZETTLE_UPDATE_TAX_SETTINGS`

Update the organization's taxation mode. This changes tax behavior across the entire organization; verify the intended mode before calling. Zettle documents this tax surface as unavailable outside sales-tax countries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taxation_mode` | string ("EXCLUSIVE" | "INCLUSIVE") | Yes | New organization-wide taxation mode: EXCLUSIVE adds tax to listed prices, while INCLUSIVE includes tax in listed prices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook Subscription

**Slug:** `ZETTLE_UPDATE_WEBHOOK_SUBSCRIPTION`

Change a Zettle webhook subscription's selected events, HTTPS destination, transport, or contact email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; 'self' resolves the organization from the access token. |
| `subscription_uuid` | string | Yes | UUID version 1 of the webhook subscription to update. |
| `subscription_patch` | object | Yes | Webhook subscription fields to update; provide at least one field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Product Image

**Slug:** `ZETTLE_UPLOAD_PRODUCT_IMAGE`

Upload one GIF, JPEG, or PNG product image smaller than 5 MB and larger than 50 by 50 pixels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | GIF, JPEG, or PNG product image smaller than 5 MB and larger than 50 by 50 pixels. |
| `organization_uuid` | string | Yes | Merchant organization UUID. Use the UUID returned by Get Tax Settings; supported organization routes may also accept 'self'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
