Etsy get print files from template
Public Print Files API
Base URL: https://app.customix.io/api
Authentication: How can get Customix Api key
Authorization: Bearer {your-api-token}
Rate Limit: 100 requests per minute (per user)
Overview
Submit a product customization as plain multi-line text and get back a list of
print file URLs for that submission.
Create Print Files
POST /print-files
Request body
Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Your shop name (e.g. |
| string | Yes | Name of a template you own on this shop. The first template matching the name is used. |
| string | Yes | Multi-line customization. Each line is |
Content format
Each line maps one customizable option on the template to a value.
- Option names are matched case-insensitively, with surrounding whitespace ignored.
- Text / color / date options take the value literally — for example
Harry, #ffffff, 2026-12-25.
- Swatch options (font, image, color, layout, etc.) take an integer that
selects one of the available swatch values. By default 1 selects the first
value, 2 the second, and so on.
Example:
- Enter your name: Harry
- Text color: #ffffff
- Font: 1
Response 201
{
"id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
"print_file_urls": [
"https://.../1.png",
"https://.../2.png"
]
}
Field | Type | Description |
|---|---|---|
| string | Identifier for the submission |
| string[] | One URL per print file on the template, in template order |
Print files become available at the returned URLs once generation finishes
(typically a few seconds after the response).
Error responses
Status | Body | Cause |
|---|---|---|
| | Missing or invalid bearer token |
| | Token is valid but the caller doesn't have access to |
| | No template with that |
| | Missing required fields |
| | A line references an option that doesn't exist on the template |
| | Swatch index is outside the available range |
| | Non-integer value passed to a swatch option |
Sample request
curl -X POST 'https://app.customix.io/api/print-files' \
-H 'Authorization: Bearer 01jyz0z…|abc…' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"shop_name": "my-etsy-shop",
"name": "My Template",
"content": "- Enter your name: Harry\n- Text color: #ffffff\n- Font: 1"
}'
Updated on: 20/05/2026
Thank you!