# Docs

- Checkout
  - Checkout API 2021-02-23 (Legacy)
    - [Introduction](/docs/checkout/2021-02-23): Smake Checkout API — Introduction
    - Setup
      - [Authentication](/docs/checkout/2021-02-23/setup/authentication): Smake Checkout API — Authentication
      - [Headers](/docs/checkout/2021-02-23/setup/headers): Smake Checkout API — Headers
      - [Test Mode](/docs/checkout/2021-02-23/setup/test-mode): Smake Checkout API — Test Mode
    - Basic Usage
      - [Request](/docs/checkout/2021-02-23/basic/request): Smake Checkout API — Request
      - [HTTP Status](/docs/checkout/2021-02-23/basic/http-status): Smake Checkout API — HTTP Status
      - [Response](/docs/checkout/2021-02-23/basic/response): Smake Checkout API — Response
      - [Expanding Objects](/docs/checkout/2021-02-23/basic/expanding-objects): Smake Checkout API — Expanding Objects
      - [Pagination](/docs/checkout/2021-02-23/basic/pagination): Smake Checkout API — Pagination
      - [Filtering](/docs/checkout/2021-02-23/basic/filtering): Smake Checkout API — Filtering
      - [Rate Limit](/docs/checkout/2021-02-23/basic/rate-limit): Smake Checkout API — Rate Limit
      - [Conditional Request](/docs/checkout/2021-02-23/basic/conditional-request): Smake Checkout API — Conditional Request
      - [Pooling](/docs/checkout/2021-02-23/basic/polling): Smake Checkout API — Pooling
      - [Webhooks](/docs/checkout/2021-02-23/basic/webhooks): Smake Checkout API — Webhooks
      - [Request Id](/docs/checkout/2021-02-23/basic/request-id): Smake Checkout API — Request Id
      - [Localization](/docs/checkout/2021-02-23/basic/localization): Smake Checkout API — Localization
    - Endpoints
      - [Media](/docs/checkout/2021-02-23/endpoints/media): Smake Checkout API — Media
      - [Products](/docs/checkout/2021-02-23/endpoints/products): Smake Checkout API — Products
      - [Additional Instructions](/docs/checkout/2021-02-23/endpoints/additional-instructions): Smake Checkout API — Additional Instructions
      - [Variants](/docs/checkout/2021-02-23/endpoints/variants): Smake Checkout API — Variants
      - [Payment methods](/docs/checkout/2021-02-23/endpoints/payment-methods): Smake Checkout API — Payment methods
      - [Checkouts](/docs/checkout/2021-02-23/endpoints/checkouts): Smake Checkout API — Checkouts
      - [Orders](/docs/checkout/2021-02-23/endpoints/orders): Smake Checkout API — Orders
      - [Webhooks](/docs/checkout/2021-02-23/endpoints/webhooks): Smake Checkout API — Webhooks
    - References
      - [Versioning](/docs/checkout/2021-02-23/references/versioning): Smake Checkout API — Versioning
      - [Changelog](/docs/checkout/2021-02-23/references/changelog): Smake Checkout API — Changelog
  - Checkout API 2022-02-01
    - [Introduction](/docs/checkout/2022-02-01): Smake Checkout API — Introduction
    - Setup
      - [Authentication](/docs/checkout/2022-02-01/setup/authentication): Smake Checkout API — Authentication
      - [Headers](/docs/checkout/2022-02-01/setup/headers): Smake Checkout API — Headers
      - [Test Mode](/docs/checkout/2022-02-01/setup/test-mode): Smake Checkout API — Test Mode
    - Basic Usage
      - [Request](/docs/checkout/2022-02-01/basic/request): Smake Checkout API — Request
      - [HTTP Status](/docs/checkout/2022-02-01/basic/http-status): Smake Checkout API — HTTP Status
      - [Response](/docs/checkout/2022-02-01/basic/response): Smake Checkout API — Response
      - [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects): Smake Checkout API — Expanding Objects
      - [Pagination](/docs/checkout/2022-02-01/basic/pagination): Smake Checkout API — Pagination
      - [Batch-Endpoints](/docs/checkout/2022-02-01/basic/batch-filtering): Smake Checkout API — Batch-Endpoints
      - [Filtering](/docs/checkout/2022-02-01/basic/filtering): Smake Checkout API — Filtering
      - [Rate Limit](/docs/checkout/2022-02-01/basic/rate-limit): Smake Checkout API — Rate Limit
      - [Conditional Request](/docs/checkout/2022-02-01/basic/conditional-request): Smake Checkout API — Conditional Request
      - [Polling](/docs/checkout/2022-02-01/basic/polling): Smake Checkout API — Polling
      - [Webhooks](/docs/checkout/2022-02-01/basic/webhooks): Smake Checkout API — Webhooks
      - [Request Id](/docs/checkout/2022-02-01/basic/request-id): Smake Checkout API — Request Id
      - [Localization](/docs/checkout/2022-02-01/basic/localization): Smake Checkout API — Localization
      - [Requested data](/docs/checkout/2022-02-01/basic/requested-data): Smake Checkout API — Requested data
    - Endpoints
      - Additional Instructions: Manual production steps that can be booked as a customization when designing a variant.
        - [List additional instructions](/docs/checkout/2022-02-01/endpoints/additional-instructions/listAdditionalInstructions): The endpoint lists all available additional instructions that can be transferred
in the endpoint [variants/{id}/design](/docs/checkout/2022-02-01/endpoints/variants/designVariant).

## List

Returns a collection of additional instructions.

### Filtering

You can filter your results as follows:

##### List additional instructions for specified id(s)

* `/additional-instructions?filter[id]=1`
* `/additional-instructions?filter[id]=1,2,3`

##### List additional instructions for specified name

* `/additional-instructions?filter[name]=qui`

##### List additional instructions for a specified origin code

* `/additional-instructions?filter[collection_name]=product`
* `/additional-instructions?filter[collection_name]=shipping`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)
        - [Show an additional instruction](/docs/checkout/2022-02-01/endpoints/additional-instructions/showAdditionalInstruction): Returns the additional instruction with the `id` = **x**.
      - Customers: The customers that placed orders in your app.
        - [List customers](/docs/checkout/2022-02-01/endpoints/customers/listCustomers): Fetching a list of customers.

## List

Return a collection of customers.

### Filtering

##### List of customers for specific email(s)

* `/customers?filter[email]=test@test.com`
* `/customers?filter[email]=test1@test.com,test2@test.com`

##### List of customers for specific external identifier(s)

* `/customers?filter[external_identifier]=12345`
* `/customers?filter[external_identifier]=12345,67890`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)

This collection is **cursor paginated**: `links.first`/`links.last` are `null`, `links.next`/`links.prev`
carry the cursor URLs and `meta` contains `next_cursor`/`prev_cursor` instead of `current_page`.
        - [Show a customer](/docs/checkout/2022-02-01/endpoints/customers/showCustomer): Returns the resource for a customer with `id` = **x**.
      - Media: Upload image or PDF files to use them in other parts of the system by referencing the media ID.
        - [Upload media](/docs/checkout/2022-02-01/endpoints/media/uploadMedia): In the `Media` section you can upload image or PDF files to use them in other parts of the system by
referencing the Media ID.

The request body is the **raw file content**; set the `Content-Type` header to the file's mime type
(and `Content-Length` to its size), e.g.:

```
POST /media HTTP/1.1
Content-Type: image/jpeg
Content-Length: 42840

raw content
```

The following file formats are currently supported:

| Type     | Options                               |
|----------|---------------------------------------|
| JPG/JPEG | RGB, 360dpi recommended               |
| PNG      | RGB, transparency, 360dpi recommended |
| PDF      | RGB, 360dpi recommended               |

**Warning:** The maximum file size is 51.2MB.
        - [Get a media](/docs/checkout/2022-02-01/endpoints/media/showMedia): Returns the resource for an uploaded image or PDF file with `id` = **x**.
      - Production Methods: The production methods (e.g. DTG, embroidery) offered by the producer of your app.
        - [List production methods](/docs/checkout/2022-02-01/endpoints/production-methods/listProductionMethods): The endpoint lists all available production methods that can be used for customizing.
See [Design Variants](/docs/checkout/2022-02-01/endpoints/variants/designVariant),
[Create Logos](/docs/checkout/2022-02-01/endpoints/logos/createLogo) and
[Design in Order](/docs/checkout/2022-02-01/endpoints/orders/createOrder)

## List

Returns a collection of production methods.

### Filtering

You can filter your results as follows:

##### List production methods for specified id(s)

* `/production-methods?filter[id]=1`
* `/production-methods?filter[id]=1,2,3`

##### List production methods for a specified handle(s)

* `/production-methods?filter[handle]=dtg`
* `/production-methods?filter[handle]=dtg,embroidery`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)
      - Logos: Logos are the graphic resources placed on variants; they can be created from media and designed with texts.
        - [List logos](/docs/checkout/2022-02-01/endpoints/logos/listLogos): Here you can view logos, design a logo or create a new one with a new file or an uploaded media
(see [Upload Media](/docs/checkout/2022-02-01/endpoints/media/uploadMedia)).

Designing and Creating Logos requires long-lasting file operations.
After transferring and creating files you will receive a new Logo that can be placed on a variant.
See [Design variant](/docs/checkout/2022-02-01/endpoints/variants/designVariant).

Returns a collection of Logos.

### Filtering

You can filter your results as follows — see the `filter[...]` query parameters below:

- List logos for specified id(s): `/logos?filter[id]=1`, `/logos?filter[id]=1,2,3`
- List logos for specified production method handle(s): `/logos?filter[production_method.handle]=dtg`, `/logos?filter[production_method.handle]=dtg,embroidery`
- List logos for specified production method id(s): `/logos?filter[production_method.id]=1`, `/logos?filter[production_method.id]=1,2,3`
- List logos for specified production collection name(s): `/logos?filter[collection_name]=catalogue`, `/logos?filter[collection_name]=catalogue,ordered`
- List logos for a given date, only resources created after the provided date will be returned: `/logos?filter[created_at_min]=2017-09-27`
- List logos for a given date, only resources created before the provided date will be returned: `/logos?filter[created_at_max]=2017-11-15`
- List logos for a given date, only resources updated after the provided date will be returned: `/logos?filter[updated_at_min]=2017-09-27`
- List logos for a given date, only resources updated before the provided date will be returned: `/logos?filter[updated_at_max]=2017-09-27`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)

### Expanding relationships

You can expand some resources to show more details.
See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

- **Expand production method** — You can show the content of the production method instead of the `id`: `/logos?expand=production_method`
        - [Create a logo](/docs/checkout/2022-02-01/endpoints/logos/createLogo): You can create a logo here with a url or an uploaded media `id`.
See [Upload Media](/docs/checkout/2022-02-01/endpoints/media/uploadMedia).
Allowed production methods are for DTG and Manual processing.

### Background processing

When you create a logo, this happens asynchronously, and you have to use
[Polling](/docs/checkout/2022-02-01/basic/polling) or [Webhooks](/docs/checkout/2022-02-01/basic/webhooks).
You will receive the new logo `id` in the header for later reference.

The current state of the asynchronous process is represented due following states:

| State | Meaning |
|-------|---------|
| `draft` | The initial state of a new logo. |
| `checking` | Logo is processed automatically in background. For example images will be generated or downloaded. |
| `failed` | Something went wrong during the checking process. The reason can be found in the `failure_message` attribute. For example an image could not be downloaded. |
| `completed` | All automatic processes were successful. The logo is ready to use. |

It is not possible to use this logo before state `completed`.

### Media Array / Media Object

The request field `media` is always an array of media objects — see the `media` property of the request body.

### Production Method Object

For a list of available production methods see
[Production Methods](/docs/checkout/2022-02-01/endpoints/production-methods/listProductionMethods) —
see the `production_method` property of the request body.
        - [Get a logo](/docs/checkout/2022-02-01/endpoints/logos/showLogo): Returns the logo with the `id` = **x**.

### Expanding relationships

You can expand some resources to show more details.
See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

- **Expand production method** — You can show the content of the production method instead of the `id`: `/logos/1?expand=production_method`
        - [Design a logo](/docs/checkout/2022-02-01/endpoints/logos/designLogo): You can create a new designed logo here. The logo you use for designing must contain at least one text element.

### Background processing

When you design a logo, this happens asynchronously and you have to use
[Polling](/docs/checkout/2022-02-01/basic/polling) or [Webhooks](/docs/checkout/2022-02-01/basic/webhooks).
You will receive the new logo `id` in the header for later reference.

The current state of the asynchronous process is represented due following states:

| State | Meaning |
|-------|---------|
| `draft` | The initial state of a new logo |
| `checking` | Logo is processed automatically in background. For example images will be generated or downloaded. |
| `failed` | Something went wrong during the checking process. The reason can be found in the `failure_message` attribute. For example an image could not be downloaded. |
| `completed` | All automatic processes were successful. The logo is ready to use. |

It is not possible to use this logo before state `completed`.

### How to Design

You can change the texts of the logo here — see the `texts` property of the request body and the Text Object (`LogoTextInput`).
      - Texts: Text resources — one or more lines with font and layout — that are placed on variants.
        - [List texts](/docs/checkout/2022-02-01/endpoints/texts/listTexts): The endpoint lists all available texts.

Returns a collection of texts.

### Filtering

You can filter your results as follows — see the `filter[...]` query parameters below:

- List texts for specified id(s): `/texts?filter[id]=1`, `/texts?filter[id]=1,2,3`
- List texts for specified collection name(s): `/texts?filter[collection_name]=ordered`, `/texts?filter[collection_name]=custom`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)
        - [Get a text](/docs/checkout/2022-02-01/endpoints/texts/showText): Returns the text with the `id` = **x**.
      - Products: Products group the variants of your app.
        - [List products](/docs/checkout/2022-02-01/endpoints/products/listProducts): The Products endpoint lets you list all products available.

> **Info:** Variants Attribute is expandable. See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

Returns a collection of products.

### Filtering

You can filter your results as follows:

- **List products for specified id(s)** — `/products?filter[id]=1`, `/products?filter[id]=1,2,3`
- **List products for specified title** — `/products?filter[title]=qui`
- **List products for a specified origin code** — `/products?filter[variants.origin.sku]=58975`
- **List products for a specified origin manufacturer_number** — `/products?filter[origin.manufacturer_number]=X01234`
- **List products for a specified design method** — `/products?filter[designable_production_methods]=direct-to-film`

See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)

### Expanding relationships

You can expand some resources to show more details.

See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

- **Expand variant** — You can show the variant data instead of the `id`: `/products?expand=variants`
- **Expand variants customizations resource** — You can show entire variant data including customizations resources: `/products?expand=variants.views.customizations.resource`
- **Expand product's allowed designable methods** — You can show which methods design can be done on this product: `/products?expand=designable_production_methods`
        - [Show product](/docs/checkout/2022-02-01/endpoints/products/showProduct): Returns the product with the `id` = **x**.

### Expanding relationships

You can expand some resources to show more details.

See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

- **Expand variant** — You can show the variant data instead of the `id`: `/products/1?expand=variants`
- **Expand variants customizations resource** — You can show entire variant data including customizations resources: `/products/1?expand=variants.views.customizations.resource`
- **Expand product's allowed designable methods** — You can show details of allowed designable production method: `/products/1?expand=designable_production_methods`
      - Variants: Variants are the sellable units of a product; they are designed with customizations and then ordered.
        - [List variants](/docs/checkout/2022-02-01/endpoints/variants/listVariants): Here you can view a product variant or design a new one from an existing product variant.

When designing, information such as customizations, dimensions, files, etc. must be transferred.
After that you will receive a new product variant that can be ordered.

Returns a collection of variants.

**Filtering**

You can filter your results as follows — see [Pagination](/docs/checkout/2022-02-01/basic/pagination),
[Filtering](/docs/checkout/2022-02-01/basic/filtering):

- `/variants?filter[id]=1` / `/variants?filter[id]=1,2,3` — list variants for specified id(s)
- `/variants?filter[origin.sku]=42443` — list variants for a specified sku (not an exact search)
- `/variants?filter[origin.external_identifier]=extern-123` — list variants for external identifier
- `/variants?filter[collection_name]=catalogue` — list variants for specified collection name(s)

**Expanding relationships**

You can expand some resources to show more details — see
[Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects):

- `/variants?expand=product` — show the content of the product instead of the `id`
- `/variants?expand=views.customizations.resource` — show the content of the customizations' resource
        - [Show a variant](/docs/checkout/2022-02-01/endpoints/variants/showVariant): Returns the product variant with the `id` = **x**.

**Expanding relationships**

You can expand some resources to show more details — see
[Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects):

- `/variants/1?expand=product` — show the content of the product instead of the `id`
- `/variants/1?expand=views.customizations.resource` — show the content of the customizations' resource
        - [Design a variant](/docs/checkout/2022-02-01/endpoints/variants/designVariant): Designing a product variant is made possible by placing customizations on the corresponding view
(e. g. front or back). Send the design as described in the request body below.

**Background processing**

When you design a product variant, this happens asynchronously. You can use
[Polling](/docs/checkout/2022-02-01/basic/polling) or [Webhooks](/docs/checkout/2022-02-01/basic/webhooks)
for status updates. A new product variant is created implicitly. Therefore, you will already receive the
new product variant `id` in the header for later reference.

The current state of the asynchronous process is represented due the following states:

| State | Meaning |
|-------|---------|
| `draft` | The initial state of a new variant |
| `checking` | Variant is processed automatically in background. For example images will be generated or downloaded. |
| `failed` | Something went wrong during the checking process. The reason can be found in the `failure_message` attribute. For example an image could not be downloaded. |
| `completed` | All automatic processes were successful. The variant is ready to use. |

It is not possible to order this product variant before state `completed`.

**Response**

The response is `202 Accepted` with the headers `Location` (e.g. `https://api.smake.io/jobs/1`) and
`X-Identifier` (e.g. `137`). The `X-Identifier` is the new generated product variant `id` for later reference.

**Further design examples**

You can combine the usage of `id` and `url` on different models — see the request examples
*Design with media id*, *Design with logo id*, *Design with logo id and resize logo*,
*Design with media id and mockup with url* and *Adopt design from another variant*.
      - Shipping Methods: The shipping methods available in your app.
        - [List shipping methods](/docs/checkout/2022-02-01/endpoints/shipping-methods/listShippingMethods): The endpoint lists all available shipping methods that can be transferred in
the endpoint [orders](/docs/checkout/2022-02-01/endpoints/orders/createOrder).

## List

Returns a collection of shipping methods.

### Filtering

You can filter your results as follows:

##### List shipping methods for specified id(s)

* `/shipping-methods?filter[id]=1`
* `/shipping-methods?filter[id]=1,2,3`

##### List shipping methods for specified name(s)

* `/shipping-methods?filter[name]=UPS Standard`
* `/shipping-methods?filter[name]=UPS Standard,Pickup`

##### List shipping methods for specified handle(s)

* `/shipping-methods?filter[handle]=ups-standard`
* `/shipping-methods?filter[handle]=ups-standard,pickup`

> **Info:** See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)
      - Payment Methods: The payment methods available in your app.
        - [List payment methods](/docs/checkout/2022-02-01/endpoints/payment-methods/listPaymentMethods): The endpoint lists all available payment methods that can be transferred in
the endpoint [orders](/docs/checkout/2022-02-01/endpoints/orders/createOrder).

## List

Returns a collection of payment methods.

### Filtering

You can filter your results as follows:

##### List payment methods for specified id(s)

* `/payment-methods?filter[id]=1`
* `/payment-methods?filter[id]=1,2,3`

##### List payment methods for specified name(s)

* `/payment-methods?filter[name]=Invoice`
* `/payment-methods?filter[name]=Invoice,Credit Card`

##### List payment methods for specified handle(s)

* `/payment-methods?filter[handle]=invoice`
* `/payment-methods?filter[handle]=invoice,credit-card`

> **Info:** See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)
      - Orders: Orders are created from designed variants and are processed asynchronously.
        - [List orders](/docs/checkout/2022-02-01/endpoints/orders/listOrders): An order is created when the checkout process is complete.

> See: [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects)

Returns a collection of created orders.

**Filtering**

You can filter your results as follows — every `filter[...]` query parameter is documented below
(ids can be combined with a comma, e.g. `/orders?filter[id]=1,2,3`).

> See: [Pagination](/docs/checkout/2022-02-01/basic/pagination), [Filtering](/docs/checkout/2022-02-01/basic/filtering)

**Expanding objects**

Related objects can be expanded inline with the `expand` query parameter — all allowed values are listed
on the parameter. See [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects).
        - [Create order](/docs/checkout/2022-02-01/endpoints/orders/createOrder): **Background processing**

When you create an order, this happens asynchronously. You can use
[Polling](/docs/checkout/2022-02-01/basic/polling) or [Webhooks](/docs/checkout/2022-02-01/basic/webhooks)
for status updates.
In this endpoint, a new product variant is created implicitly for every order item. There is always a
reference on the [requested data](/docs/checkout/2022-02-01/basic/requested-data) in the variant object.
You can also use all the design features from the design variant endpoint within the variant object
within an order item. See [Design Variant](/docs/checkout/2022-02-01/endpoints/variants/designVariant).
Therefore, you will already receive the new order `id` in the header for later reference.

The current state of the asynchronous process is represented due the following states:

| State | Meaning |
|-------|---------|
| `draft` | The initial state of a new order. |
| `checking` | Order is processed automatically in background. For example images will be generated or downloaded or the variant will be designed. |
| `failed` | Something went wrong during the checking process. The reason can be found in the `failure_message` attribute. For example, an image could not be downloaded. |
| `preparing` | The order is processed manually by the producer. For example, digitalization tasks are in process. |
| `prepared` | The manual process is finished and the production process is running. |
| `cancelled` | The order is cancelled manually. |
| `completed` | The production process is completed. The order will be delivered to the customer. |

The response is a `202 Accepted` without a body: the `X-Identifier` header is the new generated order id
for later reference, the `Location` header points to the background job.

See the **Further post order examples** among the request examples: *Create order with designing a variant
with media ids* and *Create order with own shipping documents*.
        - [Get order](/docs/checkout/2022-02-01/endpoints/orders/showOrder): Returns the order with `id` = **x**.

**Expanding objects**

Related objects can be expanded inline with the `expand` query parameter — all allowed values are listed
on the parameter. See [Expanding Objects](/docs/checkout/2022-02-01/basic/expanding-objects).
        - [Cancel order](/docs/checkout/2022-02-01/endpoints/orders/cancelOrder): You can cancel an already placed order by executing the following request.

> **Warning:** Depending on the cancellation setting it may be that an order can no longer be canceled. In
> this case an API exception is thrown.
      - Webhooks: Subscriptions that notify your system about order, variant, logo and shipment events.
        - [List webhooks](/docs/checkout/2022-02-01/endpoints/webhooks/listWebhooks): You can configure webhook endpoints via the API to be notified about events that happen in Smake
(how deliveries, retries and signatures work is described in
[Basic Usage → Webhooks](/docs/checkout/2022-02-01/basic/webhooks)).

> **Warning:** You can create up to 10 webhooks per event.

## Available Events

Currently, these are all events you can listen to:

* `order.completed`
* `order.prepared`
* `order.failed`
* `order.cancelled`
* `variant.completed`
* `variant.failed`
* `logo.completed`
* `logo.failed`
* `shipment.prepared`
* `draft-order.checked` — a draft order passed the automatic checks
* `draft-order.failed` — a draft order failed the automatic checks, see its `failure_message`
* `merchant-variant.designer-condition.created` — the designer configuration of a variant was created
* `merchant-variant.designer-condition.changed` — the designer configuration of a variant changed

## List

Returns a collection of your webhooks.
        - [Create a webhook](/docs/checkout/2022-02-01/endpoints/webhooks/createWebhook): Creates a webhook endpoint that listens to one or more of the
[available events](/docs/checkout/2022-02-01/endpoints/webhooks/listWebhooks).

> **Warning:** You can create up to 10 webhooks per event.

### Attributes

| Field       | Type   | Description                                                                                   | Required |
|-------------|--------|-----------------------------------------------------------------------------------------------|----------|
| url         | string | The URL to listen for incoming POST notification containing event information.                | yes      |
| token       | string | A token to secure your url.                                                                   |          |
| version     | string | The version in which the information should be transformed to. Default: `current api version` |          |
| description | json   | A json object of localized description.                                                       |          |
| state       | string | State of the endpoint (see below). Default: `inactive`                                        |          |
| events      | array  | An array of Event Objects (see below).                                                        | yes      |

### States

| name     | Default |
|----------|---------|
| inactive | yes     |
| active   |         |

### Event Object

| Field | Type   | Description       | Required |
|-------|--------|-------------------|----------|
| name  | string | The internal name | yes      |
        - [Show a webhook](/docs/checkout/2022-02-01/endpoints/webhooks/showWebhook): Returns the webhook with the given `id`.
        - [Delete a webhook](/docs/checkout/2022-02-01/endpoints/webhooks/deleteWebhook): Deletes the webhook with the given `id`. A successful `DELETE` results in
`HTTP 204` with an empty response body (see [Basic Usage → Response](/docs/checkout/2022-02-01/basic/response)).
        - [Update a webhook](/docs/checkout/2022-02-01/endpoints/webhooks/updateWebhook): Updates the webhook with the given `id`. The attributes are the same as for
[Create](/docs/checkout/2022-02-01/endpoints/webhooks/createWebhook); the example only sends
`url` and `state`.
    - References
      - [Versioning](/docs/checkout/2022-02-01/references/versioning): Smake Checkout API — Versioning
      - [Changelog](/docs/checkout/2022-02-01/references/changelog): Smake Checkout API — Changelog
- Master
  - Master API 2022-07-01
    - [Introduction](/docs/master/2022-07-01): Smake Master API — Introduction
    - Setup
      - [Authentication](/docs/master/2022-07-01/setup/authentication): Smake Master API — Authentication
      - [Headers](/docs/master/2022-07-01/setup/headers): Smake Master API — Headers
    - Basic Usage
      - [Request](/docs/master/2022-07-01/basic/request): Smake Master API — Request
      - [HTTP Status](/docs/master/2022-07-01/basic/http-status): Smake Master API — HTTP Status
      - [Response](/docs/master/2022-07-01/basic/response): Smake Master API — Response
      - [Expanding Objects](/docs/master/2022-07-01/basic/expanding-objects): Smake Master API — Expanding Objects
      - [Pagination](/docs/master/2022-07-01/basic/pagination): Smake Master API — Pagination
      - [Batch-Endpoints](/docs/master/2022-07-01/basic/batch-filtering): Smake Master API — Batch-Endpoints
      - [Filtering](/docs/master/2022-07-01/basic/filtering): Smake Master API — Filtering
      - [Rate Limit](/docs/master/2022-07-01/basic/rate-limit): Smake Master API — Rate Limit
      - [Conditional Request](/docs/master/2022-07-01/basic/conditional-request): Smake Master API — Conditional Request
      - [Webhooks](/docs/master/2022-07-01/basic/webhooks): Smake Master API — Webhooks
      - [Request Id](/docs/master/2022-07-01/basic/request-id): Smake Master API — Request Id
      - [Date and time](/docs/master/2022-07-01/basic/date-time): Smake Master API — Date and time
      - [Temporary Upload](/docs/master/2022-07-01/basic/temporary-upload-url): Smake Master API — Temporary Upload
    - Endpoints
      - [Import Process](/docs/master/2022-07-01/endpoints/temporary-upload-url): Smake Master API — Import Process
      - [Product](/docs/master/2022-07-01/endpoints/product): Smake Master API — Product
      - [Product Fetch by Manufacturer Number](/docs/master/2022-07-01/endpoints/product-fetch-by-manufacturer-number): Smake Master API — Product Fetch by Manufacturer Number
      - [Variant](/docs/master/2022-07-01/endpoints/variant): Smake Master API — Variant
      - [Product Option Type](/docs/master/2022-07-01/endpoints/product-option-type): Smake Master API — Product Option Type
      - [Product Option Value](/docs/master/2022-07-01/endpoints/product-option-value): Smake Master API — Product Option Value
      - [Product Option Import](/docs/master/2022-07-01/endpoints/product-option-imports): Smake Master API — Product Option Import
      - [Product Size Label](/docs/master/2022-07-01/endpoints/product-size-label): Smake Master API — Product Size Label
      - [Product Size Label Import](/docs/master/2022-07-01/endpoints/product-size-label-import): Smake Master API — Product Size Label Import
      - [Product Size Scale](/docs/master/2022-07-01/endpoints/product-size-scale): Smake Master API — Product Size Scale
      - [Product Import](/docs/master/2022-07-01/endpoints/product-import): Smake Master API — Product Import
      - [Production Method](/docs/master/2022-07-01/endpoints/production-method): Smake Master API — Production Method
      - [Positioning Area Identifier](/docs/master/2022-07-01/endpoints/positioning-area-identifier): Smake Master API — Positioning Area Identifier
      - [Annotation](/docs/master/2022-07-01/endpoints/annotation): Smake Master API — Annotation
      - [Annotation Channel](/docs/master/2022-07-01/endpoints/annotation-channel): Smake Master API — Annotation Channel
      - [Logo Color](/docs/master/2022-07-01/endpoints/logo-color): Smake Master API — Logo Color
      - [Merchant](/docs/master/2022-07-01/endpoints/merchant): Smake Master API — Merchant
      - [Merchant Product Import](/docs/master/2022-07-01/endpoints/merchant-product-importer): Smake Master API — Merchant Product Import
      - [Merchant Product](/docs/master/2022-07-01/endpoints/merchant-product): Smake Master API — Merchant Product
      - [Merchant Variant](/docs/master/2022-07-01/endpoints/merchant-variant): Smake Master API — Merchant Variant
      - [Disposition Order](/docs/master/2022-07-01/endpoints/disposition-order): Smake Master API — Disposition Order
      - [Order](/docs/master/2022-07-01/endpoints/order): Smake Master API — Order
      - [Order Patch Parcel Number](/docs/master/2022-07-01/endpoints/order-patch-parcel): Smake Master API — Order Patch Parcel Number
      - [Order Item Units](/docs/master/2022-07-01/endpoints/order-item-unit): Smake Master API — Order Item Units
      - [Production](/docs/master/2022-07-01/endpoints/production): Smake Master API — Production
      - [Timezones](/docs/master/2022-07-01/endpoints/timezone): Smake Master API — Timezones
      - [Supplier](/docs/master/2022-07-01/endpoints/supplier): Smake Master API — Supplier
      - [Id Tags](/docs/master/2022-07-01/endpoints/id-tag): Smake Master API — Id Tags
      - [Good Transfer](/docs/master/2022-07-01/endpoints/good-transfer): Smake Master API — Good Transfer
      - [Good Transfer by Parcel Number](/docs/master/2022-07-01/endpoints/good-transfer-by-parcel-number): Smake Master API — Good Transfer by Parcel Number
      - [Webhook](/docs/master/2022-07-01/endpoints/webhook): Smake Master API — Webhook
      - [Job Statuses](/docs/master/2022-07-01/endpoints/job): Smake Master API — Job Statuses
      - [Media](/docs/master/2022-07-01/endpoints/media): Smake Master API — Media
      - [Draft Order Complete](/docs/master/2022-07-01/endpoints/draft-order-complete): Smake Master API — Draft Order Complete