# Catalog

## Introduction

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

* Retrieve all the available products
* Get information about the products' variants
* Retrieve information about the options available for a specific store (corresponding to a determined printing/fulfillment location i.e. North America or Europe)

## Endpoints

### Products

## Show products

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

```json
{"openapi":"3.0.1","info":{"title":"merchOne API","version":"Beta"},"servers":[{"url":"https://api.merchone.com/api/beta","description":"API Beta"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"responses":{"UnauthorizedError":{"description":"Unauthorized"}}},"paths":{"/products":{"get":{"summary":"Show products","description":"This API endpoint retrieves a list of all available products.","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"An array of product objects containing the following attributes","items":{"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the product."},"name":{"type":"string","description":"The name of the product."},"variants":{"type":"integer","description":"The number of variants available for the product."},"sku":{"type":"string","description":"The SKU (Stock-Keeping Unit) code for the product."},"dpi":{"type":"integer","description":"The minimum DPI (dots per inch) for the product."},"type":{"type":"string","description":"The type of product."},"images":{"type":"array","description":"An array of image objects containing the following attributes.","items":{"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the image."},"original":{"type":"string","description":"The URL of the original image."},"thumb":{"type":"string","description":"The URL of the thumbnail image."}}}}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

### Product's variants

## Show product's variants

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

```json
{"openapi":"3.0.1","info":{"title":"merchOne API","version":"Beta"},"servers":[{"url":"https://api.merchone.com/api/beta","description":"API Beta"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"responses":{"UnauthorizedError":{"description":"Unauthorized"},"LaravelError":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"message":{"type":"string","default":"422 Unprocessable Entity"},"errors":{"type":"object"},"status_code":{"type":"integer","default":422}}}}},"paths":{"/products/{product_id}":{"get":{"summary":"Show product's variants","description":"This API endpoint retrieves a list of all available product's variants.","parameters":[{"name":"product_id","in":"path","description":"ID of product to return","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"code":{"type":"string"},"variant_id":{"type":"integer"},"variant_code":{"type":"string"},"sku":{"type":"string"},"name":{"type":"string"},"printfile":{"type":"object"},"price":{"type":"number"},"price_details":{"type":"object"},"shipping_countries":{"type":"array","items":{"type":"integer"}},"options":{"type":"object"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"422":{"$ref":"#/components/responses/LaravelError"}}}}}}
```

### Variant's options

## Show variant's options

> This API endpoint retrieves a list of all available variant's options.\<br />\<br />The \`variant\_id\` can be checked at \`/api/beta/products/{product\_id}\`

```json
{"openapi":"3.0.1","info":{"title":"merchOne API","version":"Beta"},"servers":[{"url":"https://api.merchone.com/api/beta","description":"API Beta"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"responses":{"UnauthorizedError":{"description":"Unauthorized"},"LaravelError":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"message":{"type":"string","default":"422 Unprocessable Entity"},"errors":{"type":"object"},"status_code":{"type":"integer","default":422}}}}},"paths":{"/variants/{variant_id}":{"get":{"summary":"Show variant's options","description":"This API endpoint retrieves a list of all available variant's options.<br /><br />The `variant_id` can be checked at `/api/beta/products/{product_id}`","parameters":[{"name":"variant_id","in":"path","description":"ID of the variant","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"code":{"type":"string"},"variant_id":{"type":"integer"},"variant_code":{"type":"string"},"sku":{"type":"string"},"name":{"type":"string"},"printfile":{"type":"object"},"price":{"type":"number"},"price_details":{"type":"object"},"shipping_countries":{"type":"array","items":{"type":"integer"}},"options":{"type":"object"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"422":{"$ref":"#/components/responses/LaravelError"}}}}}}
```

### SKU's variant options

## Show SKU's variant options

> This API endpoint retrieves a list of all available SKU's variant options.\<br />\<br />The \`variant\_id\` can be checked at \`/api/beta/products/{product\_id}\`

```json
{"openapi":"3.0.1","info":{"title":"merchOne API","version":"Beta"},"servers":[{"url":"https://api.merchone.com/api/beta","description":"API Beta"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"responses":{"UnauthorizedError":{"description":"Unauthorized"},"LaravelError":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"message":{"type":"string","default":"422 Unprocessable Entity"},"errors":{"type":"object"},"status_code":{"type":"integer","default":422}}}}},"paths":{"/variants/{variant_id}/combinations":{"get":{"summary":"Show SKU's variant options","description":"This API endpoint retrieves a list of all available SKU's variant options.<br /><br />The `variant_id` can be checked at `/api/beta/products/{product_id}`","parameters":[{"name":"variant_id","in":"path","description":"ID of variant to return","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"name":{"type":"string"},"price":{"type":"integer"},"price_details":{"type":"object"},"options":{"type":"array"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"422":{"$ref":"#/components/responses/LaravelError"}}}}}}
```


---

# 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-beta/catalog.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.
