# 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](/api-reference/api-v1/orders.md#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."}}}}}}
```


---

# 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/blueprints.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.
