# Blueprints

## Introduction

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

* Retrieve all the available blueprints
* Retrieve all the available blueprint variants
* Retrieve all the available blueprint variant options

***

## Endpoints

**Blueprint** is the foundation for any customizable product we offer — like a poster, mug, blanket, or canvas. Think of it as the **template** or **base model** of the product, before it has been customized by your customer.

In simple terms, a **Blueprint** defines what kind of product your store can sell — and how it can be produced.&#x20;

For example:&#x20;

* **Blueprint**: Canvas
* **Variants**: 20×20 cm, 30×30 cm, etc.
* **Options**: Add-ons like different frames, hanger sets, or canvas borders

While most products follow the general structure outlined above, some product types — especially apparel — may be structured differently.

For example:&#x20;

* **Blueprint**: T-shirt&#x20;
* **Variants**: Different types (e.g., Premium Men's T Shirt, Women’s T Shirt)&#x20;
* **Options**: Sizes (e.g., S, M, L, XL)&#x20;

This flexible hierarchy allows us to support a wide range of product types.&#x20;

## Show blueprints

> This API endpoint retrieves a list of all available blueprints.

```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":{"/blueprints":{"get":{"tags":["Blueprints"],"summary":"Show blueprints","description":"This API endpoint retrieves a list of all available blueprints.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"type":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"variants_count":{"type":"integer"}}}}}}}}},"401":{"description":"Unauthorized"}}}}}}
```

***

The [blueprint's variants](#get-blueprints-blueprint-variants) endpoint provides detailed information about all variants of a specific blueprint. A **variant** typically represents a different version of the product — like a size, format, or type.&#x20;

When you call this endpoint, you’ll receive:&#x20;

* The ID of each variant&#x20;
  * &#x20;This is required when fetching related options via the [options](#get-blueprints-blueprint-variants-variant-options) endpoint &#x20;
* The name and type of the variant&#x20;
* Design area – the safe area for the print file on the variant (in mm)&#x20;
* Print file – full print area of the variant (in mm) &#x20;
* The price and formatted price &#x20;
* The production location (e.g., Europe or US) &#x20;
* Additional fields like tags, images, and design area specifications&#x20;

## Show blueprint's variants

> This API endpoint retrieves a list of all available blueprint's variants.

```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":{"/blueprints/{blueprint}/variants":{"get":{"tags":["Blueprints"],"summary":"Show blueprint's variants","description":"This API endpoint retrieves a list of all available blueprint's variants.","parameters":[{"name":"blueprint","in":"path","description":"The ID of the blueprint.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"production":{"type":"string"},"type":{"type":"string"},"trim":{"type":"integer"},"design_area":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"printfile":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"images":{"type":"array","items":{"type":"string"}},"price":{"type":"number"},"price_details":{"type":"object","properties":{"currency":{"type":"string"},"formatted":{"type":"string"},"in_subunit":{"type":"number"}}}}}}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"}}}}}}
```

***

The [variant's options](#get-blueprints-blueprint-variants-variant-options) endpoint returns a list of **predefined SKU combinations** for a specific variant of a blueprint. Each item in the response represents **a complete configuration** — a unique combination of options that can be ordered. Once you’ve selected a base product (Blueprint) and a variant (like size or type), this endpoint gives you all the valid **option combinations** that define how the product can be manufactured.&#x20;

**What kind of data will you receive?**&#x20;

* A list of **SKU-level configurations** — each SKU represents a unique combination of a variant with specific options&#x20;
* The **SKU** identifier and descriptive name&#x20;
* The **price** of the SKU, including currency breakdown&#x20;
* The **option attributes**, such as:&#x20;
  * Border types&#x20;
  * Frame sizes&#x20;
  * T-shirt colors&#x20;
* **Print area** and design file requirements (dimensions, DPI, and positioning)&#x20;

**How It Connects to Orders?**

These SKUs act as **blank product templates** — they are used when placing an order **programmatically** via the [orders](https://docs.merchone.com/api-reference/orders#post-orders) endpoint. When using this approach:&#x20;

* You provide the **SKU** (from this endpoint) in the product\_sku field of your order payload&#x20;
* Alongside the **SKU**, you include a **print file** (design or artwork) via a URL.&#x20;

This is ideal for **dynamically personalized** or **user-uploaded designs** that aren’t pre-configured in your product catalog.&#x20;

Alternatively, if you have already uploaded artwork to the Library, you can place orders using the associated image\_id. This allows you to reference existing assets without re-uploading them for every order.&#x20;

## Show blueprint variant options

> Retrieve options for a specific variant of a blueprint.

```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":{"/blueprints/{blueprint}/variants/{variant}/options":{"get":{"tags":["Blueprints"],"summary":"Show blueprint variant options","description":"Retrieve options for a specific variant of a blueprint.","parameters":[{"name":"blueprint","in":"path","description":"The ID of the blueprint.","required":true,"schema":{"type":"string"}},{"name":"variant","in":"path","description":"The ID of the variant.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"name":{"type":"string"},"price":{"type":"number"},"price_details":{"type":"object","properties":{"currency":{"type":"string"},"formatted":{"type":"string"},"in_subunit":{"type":"number"}}},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"option-key":{"type":"string"},"price":{"type":"number"},"price_details":{"type":"object","properties":{"currency":{"type":"string"},"formatted":{"type":"string"},"in_subunit":{"type":"number"}}}}}},"print_areas":{"type":"array","items":{"type":"object","properties":{"position":{"type":"string"},"width:":{"type":"integer"},"height":{"type":"integer"},"dpi":{"type":"integer"},"type":{"type":"string"},"required":{"type":"boolean"}}}}}}}}}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Blueprint variant or options not found."}}}}}}
```
