# Orders

## Introduction

Through the endpoints included in the **Orders** section, you will be able to:

* Retrieve all the orders
* Retrieve details about a specific order
* Create orders
* Accept orders
* Update orders' shipping address

***

**Blueprints** vs. **Pre-configured products**

There are two main ways to place an order through the API:&#x20;

1. **Using SKUs from Blueprints**\
   You provide the **SKU** and attach a custom **print file**. This is like sending us a blank T-shirt or canvas and telling us what to print on it — flexible and ideal for on-demand or user-generated content.&#x20;
2. **Using Pre-configured products**\
   In contrast, you can also order ready-made products that were created via our product configurator in the dashboard (see the [products](/api-reference/api-v1/products.md#introduction) section of the docs).&#x20;
   * These already have artwork/designs attached&#x20;
   * No need to send a print file with the order — you just reference the pre-made product\_sku&#x20;

This distinction is important — **blueprint-based SKUs are customizable templates**, while **Products are finalized and ready for sale**. Both are valid paths depending on your business model and integration.&#x20;

| Attribute         | Blueprint-based SKU                                                                           | Product (from Configurator)                          |
| ----------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Artwork attached? | No – print file must be provided when ordering (either via URL or image\_id from the Library) | Yes – artwork is embedded in the product definition  |
| SKU Format        | Plain (e.g., CVS0200201LWF2)                                                                  | With artwork code (e.g., CVS0200201LWF2-APO12345678) |
| Created via       | API programmatically                                                                          | Dashboard Configurator                               |
| Best for          | Personalized/unique orders with dynamic content                                               | Selling pre-made or branded product collections      |
| Order method      | Use product\_sku + artwork with URL or image\_id via /orders                                  | Use product\_sku only — no need to re-send artwork   |

## Endpoints

## Get orders

> This API endpoint retrieves a list of all orders

```json
{"openapi":"3.0.3","info":{"title":"MerchOne API","version":"1.0.0"},"servers":[{"url":"https://api.merchone.com/api/v1"}],"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/orders":{"get":{"tags":["Orders"],"summary":"Get orders","description":"This API endpoint retrieves a list of all orders","parameters":[{"name":"Accept","in":"header","description":"Media type(s) that is/are acceptable for the response","required":false,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"order_id":{"type":"string"},"external_id":{"type":"string"},"country":{"type":"string"},"shipping_type":{"type":"string"},"is_test":{"type":"boolean"},"total_amount":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled_at":{"type":"string"},"status":{"type":"string"}}}}}}}}},"401":{"description":"Unauthorized"}}}}}}
```

## Show order

> This API endpoint retrieves information about the order

```json
{"openapi":"3.0.3","info":{"title":"MerchOne API","version":"1.0.0"},"servers":[{"url":"https://api.merchone.com/api/v1"}],"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/orders/{order}":{"get":{"tags":["Orders"],"summary":"Show order","description":"This API endpoint retrieves information about the order","parameters":[{"name":"order","in":"path","description":"The ID of the order.","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Media type(s) that is/are acceptable for the response","required":false,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"order_id":{"type":"string"},"external_id":{"type":"string"},"status":{"type":"string"},"shipping":{"type":"object","properties":{"email":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"company":{"type":"string"},"street_primary":{"type":"string"},"street_secondary":{"type":"string"},"city":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"telephone":{"type":"string"}}},"shipping_type":{"type":"string"},"is_test":{"type":"boolean"},"total_amount":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"sub_total":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"shipping_total":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"customs_shipping":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"customs_costs":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled_at":{"type":"string"},"packages":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string"},"sku":{"type":"string"},"article":{"type":"object","properties":{"id":{"type":"integer"},"sku":{"type":"string"}}},"description":{"type":"string"},"quantity":{"type":"integer"},"unit_cost":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"taxes":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"total_item":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"metadata":{"type":"array","items":{"type":"string"}}}}}}}}}}}},"401":{"description":"Unauthorized"}}}}}}
```

## POST /orders

> Create order

```json
{"openapi":"3.0.3","info":{"title":"MerchOne API","version":"1.0.0"},"servers":[{"url":"https://api.merchone.com/api/v1"}],"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"Shipping":{"type":"object","properties":{"email":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"company":{"type":"string"},"street_primary":{"type":"string"},"street_secondary":{"type":"string"},"city":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"region":{"type":"string","description":"Required if the country is US or CA."},"telephone":{"type":"string"},"customs_shipping":{"type":"number"}},"required":["email","firstname","lastname","street_primary","city","postcode","country"]},"Billing":{"type":"object","description":"Override the default billing address. This is required for companies without a billing address.","properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"company":{"type":"string"},"vat":{"type":"string"},"street_primary":{"type":"string"},"street_secondary":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"},"city":{"type":"string"},"postcode":{"type":"string"}},"required":["firstname","lastname","country","city","postcode","street_primary"]}}},"paths":{"/orders":{"post":{"tags":["Orders"],"summary":"Create order","description":"","parameters":[{"name":"Accept","in":"header","description":"Media type(s) that is/are acceptable for the response","required":true,"schema":{"type":"string","default":"application/json","enum":["application/json"]}}],"requestBody":{"required":true,"description":"Request body","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"external_id":{"type":"string"},"shipping_type":{"type":"string"},"is_test":{"type":"boolean"},"shipping":{"$ref":"#/components/schemas/Shipping"},"billing":{"$ref":"#/components/schemas/Billing"},"items":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string"},"quantity":{"type":"integer"},"product_sku":{"type":"string"},"customs_value":{"type":"number"},"image_id":{"type":"string"}},"required":["quantity","product_sku","image_id"]}}},"required":["shipping_type","is_test","shipping","items"]},{"type":"object","properties":{"external_id":{"type":"string"},"shipping_type":{"type":"string"},"is_test":{"type":"boolean"},"shipping":{"$ref":"#/components/schemas/Shipping"},"billing":{"$ref":"#/components/schemas/Billing"},"items":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string"},"quantity":{"type":"integer"},"product_sku":{"type":"string"},"customs_value":{"type":"number"},"file":{"type":"object","properties":{"front":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}},"required":["front"]}},"required":["quantity","product_sku","file"]}}},"required":["shipping_type","is_test","shipping","items"]},{"type":"object","properties":{"external_id":{"type":"string"},"shipping_type":{"type":"string"},"is_test":{"type":"boolean"},"shipping":{"$ref":"#/components/schemas/Shipping"},"billing":{"$ref":"#/components/schemas/Billing"},"items":{"type":"array","items":{"type":"object","properties":{"product_sku":{"type":"string"},"quantity":{"type":"integer"}},"required":["product_sku","quantity"]}}},"required":["shipping_type","is_test","shipping","items"]}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"order_id":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable Entity"}}}}}}
```

## PUT /orders/{order}/accept

> Accept order

```json
{"openapi":"3.0.3","info":{"title":"MerchOne API","version":"1.0.0"},"servers":[{"url":"https://api.merchone.com/api/v1"}],"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/orders/{order}/accept":{"put":{"tags":["Orders"],"summary":"Accept order","description":"","parameters":[{"name":"order","in":"path","description":"The ID of the order.","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Media type(s) that is/are acceptable for the response","required":true,"schema":{"type":"string","default":"application/json","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"}}}}}}
```

## PUT /orders/{order}/update-address

> Update order's address

```json
{"openapi":"3.0.3","info":{"title":"MerchOne API","version":"1.0.0"},"servers":[{"url":"https://api.merchone.com/api/v1"}],"security":[{"BasicAuth":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/orders/{order}/update-address":{"put":{"tags":["Orders"],"summary":"Update order's address","description":"","parameters":[{"name":"order","in":"path","description":"The ID of the order.","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Media type(s) that is/are acceptable for the response","required":true,"schema":{"type":"string","default":"application/json","enum":["application/json"]}}],"requestBody":{"description":"Request body","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"telephone":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"company":{"type":"string"},"street_primary":{"type":"string"},"street_secondary":{"type":"string"}},"required":["firstname","lastname","street_primary"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}}}}}}
```

***

## Parameters

<table><thead><tr><th width="277">Field</th><th width="119.75">Type</th><th width="105.33331298828125" data-type="checkbox">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>external_id</code></td><td><code>string</code></td><td>false</td><td>Unique identifier for your orders</td></tr><tr><td><code>shipping_type</code></td><td><code>string</code></td><td>true</td><td>Shipping type — currently, only <code>tracked</code> shipping is supported.</td></tr><tr><td><code>is_test</code></td><td><code>boolean</code></td><td>true</td><td>When value is set to <code>true</code>, then the order will be created as a test order, it will not be produced nor shipped</td></tr><tr><td><code>shipping</code></td><td><code>object</code></td><td>true</td><td>Contains the address and required information about end customer</td></tr><tr><td><code>shipping.email</code></td><td><code>string</code></td><td>true</td><td>Customer's email address</td></tr><tr><td><code>shipping.firstname</code></td><td><code>string</code></td><td>true</td><td>Customer's first name</td></tr><tr><td><code>shipping.lastname</code></td><td><code>string</code></td><td>true</td><td>Customer's last name</td></tr><tr><td><code>shipping.company</code></td><td><code>string</code></td><td>false</td><td>Customer's company name, used when the end customer is ordering on behalf of a company</td></tr><tr><td><code>shipping.street_primary</code></td><td><code>string</code></td><td>true</td><td>Customer's street address</td></tr><tr><td><code>shipping.street_secondary</code></td><td><code>string</code></td><td>false</td><td>Customer's additional address</td></tr><tr><td><code>shipping.city</code></td><td><code>string</code></td><td>true</td><td>Customer's city</td></tr><tr><td><code>shipping.postcode</code></td><td><code>string</code></td><td>true</td><td>Customer's postcode</td></tr><tr><td><code>shipping.country</code></td><td><code>string</code></td><td>true</td><td>Customer's country, ISO 3166-1 alpha-2 standard</td></tr><tr><td><code>shipping.region</code></td><td><code>string</code></td><td>false</td><td><p>Customer's region.</p><p><span data-gb-custom-inline data-tag="emoji" data-code="2757">❗</span> Required for US and CA.</p></td></tr><tr><td><code>shipping.telephone</code></td><td><code>string</code></td><td>false</td><td>Customer's phone number</td></tr><tr><td><code>shipping.customs_shipping</code></td><td><code>number</code></td><td>false</td><td>This value is used to print the shipping costs shown on the Customs Declaration</td></tr><tr><td><code>billing</code></td><td><code>object</code></td><td>false</td><td><p>Override the default billing address</p><p><span data-gb-custom-inline data-tag="emoji" data-code="2757">❗</span> This is required for companies without a billing address</p></td></tr><tr><td><code>billing.firstname</code></td><td><code>string</code></td><td>true</td><td>Customer's first name</td></tr><tr><td><code>billing.lastname</code></td><td><code>string</code></td><td>true</td><td>Customer's last name</td></tr><tr><td><code>billing.company</code></td><td><code>string</code></td><td>false</td><td>Customer's company</td></tr><tr><td><code>billing.vat</code></td><td><code>string</code></td><td>false</td><td>Customer's VAT</td></tr><tr><td><code>billing.street_primary</code></td><td><code>string</code></td><td>true</td><td>Customer's street address</td></tr><tr><td><code>billing.street_secondary</code></td><td><code>string</code></td><td>false</td><td>Customer's additional address</td></tr><tr><td><code>billing.country</code></td><td><code>string</code></td><td>true</td><td>Customer's country</td></tr><tr><td><code>billing.region</code></td><td><code>string</code></td><td>false</td><td>Customer's region<br><span data-gb-custom-inline data-tag="emoji" data-code="2757">❗</span>Required for US and CA. </td></tr><tr><td><code>billing.city</code></td><td><code>string</code></td><td>true</td><td>Customer's city</td></tr><tr><td><code>billing.postcode</code></td><td><code>string</code></td><td>true</td><td>Customer's postcode</td></tr><tr><td><code>items</code></td><td><code>array</code></td><td>true</td><td>An array with on or more items</td></tr><tr><td><code>items.external_id</code></td><td><code>string</code></td><td>false</td><td>Unique identifier for your items</td></tr><tr><td><code>items.quantity</code></td><td><code>integer</code></td><td>true</td><td>The number of copies to produce of this particular item</td></tr><tr><td><code>items.customs_value</code></td><td><code>number</code></td><td>false</td><td>This value is used to print the shipping costs shown on the Customs Declaration</td></tr><tr><td><code>items.product_sku</code></td><td><code>string</code></td><td>true</td><td>The product SKU which may or may not include the associated artwork.</td></tr><tr><td><code>items.image_id</code></td><td><code>string</code></td><td>true</td><td><p>Id of an image from your <a href="/pages/WWxL2yN03GahsJ113Gsw#get-library">library</a></p><p><span data-gb-custom-inline data-tag="emoji" data-code="2757">❗</span>Required when <code>items.product_sku</code> does not include artwork or <code>items.file.front.url</code> is not provided</p></td></tr><tr><td><code>items.file</code></td><td><code>object</code></td><td>true</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2757">❗</span>Required when <code>items.product_sku</code> does not include artwork or <code>items.image_id</code> is not provided</td></tr><tr><td><code>items.file.front.url</code></td><td><code>string</code></td><td>true</td><td>URL of the print file</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.merchone.com/api-reference/api-v1/orders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
