Shirtigo Cockpit API (1.0.0)
Download OpenAPI specification:Download
API for the Shirtigo Cockpit application.
The API supports API-Key as well as OAuth2 authentication.
The API-key / access token has to be presented in the Authentication
header such as Authentication: Bearer [key]
.
Additionally, it is recommended to set the Accept: application/json
header.
API Clients for several languages are available on github: https://github.com/shirtigo
Request access token
This endpoint constitutes the second step of the OAuth2 authorization flow, obtaining an access token from the access code. This is done on the client side and does not require any user interaction.
Request Body schema: application/x-www-form-urlencodedrequired
grant_type required | string Value: "authorization_code" Grant type |
code required | string Code received in callback from /oauth/authorize |
client_id required | string Client ID (from registration) |
client_secret required | string Client Secret (from registration) |
Responses
Response samples
- 200
- 400
- 401
{- "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjVjZj...",
- "refresh_token": "tYI1iHjH7lGBLlBi+VD6uYYCn3pZo8Do/BSmcgzwTOuZ+f7v/z...",
- "expires_in": 31536000,
- "token_type": "Bearer"
}
Endpoints in this section retrieve baseProducts available for creating customized products.
Get all base products
Retrieve a list of available base products. Optionally, a category can be passed for filtering.
Authorizations:
query Parameters
category | integer Filter by category identifier (default: any) |
user_products_only | boolean Default: false Include user specific products |
sku | string Default: "019420001" Filter products with a variant which contains a variant where either the sku or internal_sku contains the passed value |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": 100,
- "wholesale_stock": 200,
- "wholesale_delivery_duration": 7,
- "inbound_date": "2024-02-15",
- "replacement_stock": { }
}, - "print_dimensions": [
- {
- "processingarea_id": null,
- "processingarea_name": null,
- "width_in_mm": null,
- "height_in_mm": null,
- "distance_printarea_top_to_collar_mm": null
}
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}
]
}
Get base product
Retrieve information on a single base product. To get stock level and end of life information please add ?include_stock=true to the request To get the actual print dimensions per variant add ?include_print_dimensions=true to the request
Authorizations:
path Parameters
base-product-id required | integer Example: 25 Numerical base product identifier |
query Parameters
include_stock | boolean Default: false Include stock information for the product |
Responses
Response samples
- 200
{- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": 100,
- "wholesale_stock": 200,
- "wholesale_delivery_duration": 7,
- "inbound_date": "2024-02-15",
- "replacement_stock": { }
}, - "print_dimensions": [
- {
- "processingarea_id": 1,
- "processingarea_name": "string",
- "width_in_mm": 300,
- "height_in_mm": 400,
- "distance_printarea_top_to_collar_mm": 50
}
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}
Get coupon info
Retrieve information about a single order coupon.
Authorizations:
path Parameters
coupon_code required | string Example: Shirt-coupon-XYZ Alphanumerical coupon identifier as provided to the customer |
Responses
Response samples
- 200
{- "coupon_code": "Shirt-coupon-XYZ",
- "coupon_type": "discount",
- "discount_type": "euro",
- "discount_percent": 10,
- "discount_netto": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "discount_brutto": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_active": true,
- "min_order_value": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_expired": false,
- "expiration_date": "2017-01-01 12:34:56",
- "n_activations": "1",
- "remaining_activations": "1",
- "new_user_only": "1",
- "rate_limit_exceeded": "1",
- "has_orders": "1"
}
Get all orders
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: parent, children, comments, products, warehouseProducts, payments, orderStatusEntries, shipping, packins
Authorizations:
query Parameters
page | integer Default: 1 Page number |
filter | integer Default: 1 Filter by order status id |
items | integer Default: 12 Items per page |
search | integer Search query |
sort_col | string Default: "" Property to order by |
sort_dir | string Default: "asc" Enum: "asc" "desc" Order direction |
period | integer Days to show (default: all) |
secondary_filter | string Secondary filter level (e.g. filter reprint orders) |
Responses
Response samples
- 200
{- "data": [
- {
- "reference": "ABCDXY1",
- "net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "status": "Bestellung offen",
- "status_key": "",
- "invoice_reference": "string",
- "fulfillment": {
- "reference": null,
- "status": null,
- "type": null
}, - "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "bill": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "total_items": 5,
- "add_delivery_receipt": true,
- "delivery_receipt_logo_reference": "A456HJ",
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "use_custom_product_name": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "products": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Base product XY",
- "color": "Black",
- "size": "XL",
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "campaign_reference": "F7S33M2",
- "campaign_name": "Example Project",
- "campaign_product_id": "123"
}
]
}, - "packins": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Greeting card",
- "type": "hangtag",
- "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}, - "payments": {
- "data": [
- {
- "id": "d1364568-4b15-4706-89f1-2452efe1261d",
- "status": "paid",
- "status_details": "An error occured.",
- "type": "creditcard",
- "net_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "orderStatusEntries": {
- "data": [
- {
- "key": "string",
- "status": "string",
- "description": 0,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "shipping": {
- "type": "delivery",
- "cost": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_shipped": false,
- "country_code": "DE",
- "tracking_code": "string",
- "tracking_url": "string",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered and active billing method. A delivery address is required. The billing address is taken from the account data. The sender information is optional; if not provided, the current user information will be used. You can either order an existing product from your account by entering the SKU from the corresponding variant. The SKU can be found in the product.colors.sizes array or by downloading the CSV export for the collection/project. This method is also used to order warehouseProducts (SKU starts with "WV-").
If you want to order non-existing products, use the base_product_sku
field.
The base_product_sku
defines the color-size variant of the base product.
Our complete catalog can be downloaded as an XLSX file in the Cockpit dashboard (Import -> Download -> Product Catalog).
You can customize the baseProductVariant with multiple processing areas (front + back).
This workflow is commonly used if each order has a unique design (e.g., customized products).
Authorizations:
Request Body schema: application/jsonrequired
required | object (OrderAddress) Address |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
required | Array of objects List of selected products. It is not possible to order blank base products. |
Array of objects Details for ordering base products (custom items) | |
fulfillment_mode_key | string Choose a special fulfilment mode for this order. |
billing_method_reference | string Reference of billing method used for this order. |
external_reference | string Your internal reference for the order, that will be added to the delivery note. |
check_unique_external_reference | boolean Ensures that the provided external reference is unique within the account. |
Responses
Request samples
- Payload
{- "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "products": [
- {
- "sku": "c123456.122.8",
- "amount": 2,
- "customizations": {
- "my_textfield_1": "John",
- "my_textfield_2": "Doe"
}, - "branding": {
- "hangtag_reference": "A12345",
- "product_packaging_reference": "A12345",
- "imprint_reference": "A12345",
- "label_reference": "A12345"
}
}
], - "base_products": [
- {
- "base_product_sku": "STTK909C71012",
- "amount": 1,
- "sales_price_gross": 2199,
- "external_reference": "EX-123",
- "processings": [
- {
- "processingarea_type": "front",
- "processingposition": "chest-center",
- "offset_top": 10,
- "offset_center": 4,
- "width": 200,
- "height": 40,
- "force_position": false,
- "mockups": [
- 123
], - "ignore_validation": false,
- "extract_size_and_position": false,
- "resize_to_processingarea": false
}
]
}
], - "fulfillment_mode_key": "24h-express",
- "billing_method_reference": "F80D66CF",
- "external_reference": "your internal order reference",
- "check_unique_external_reference": true
}
Response samples
- 201
{- "reference": "ABCDXY1",
- "net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "status": "Bestellung offen",
- "status_key": "",
- "invoice_reference": "string",
- "fulfillment": {
- "reference": null,
- "status": null,
- "type": null
}, - "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "bill": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "total_items": 5,
- "add_delivery_receipt": true,
- "delivery_receipt_logo_reference": "A456HJ",
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "use_custom_product_name": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "products": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Base product XY",
- "color": "Black",
- "size": "XL",
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "campaign_reference": "F7S33M2",
- "campaign_name": "Example Project",
- "campaign_product_id": "123"
}
]
}, - "packins": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Greeting card",
- "type": "hangtag",
- "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}, - "payments": {
- "data": [
- {
- "id": "d1364568-4b15-4706-89f1-2452efe1261d",
- "status": "paid",
- "status_details": "An error occured.",
- "type": "creditcard",
- "net_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "orderStatusEntries": {
- "data": [
- {
- "key": "string",
- "status": "string",
- "description": 0,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "shipping": {
- "type": "delivery",
- "cost": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_shipped": false,
- "country_code": "DE",
- "tracking_code": "string",
- "tracking_url": "string",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
Get order
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: parent, children, comments, products, warehouseProducts, payments, orderStatusEntries, shipping, packins
Authorizations:
path Parameters
order_reference required | string The unique reference identifier of the order |
Responses
Response samples
- 200
{- "reference": "ABCDXY1",
- "net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "status": "Bestellung offen",
- "status_key": "",
- "invoice_reference": "string",
- "fulfillment": {
- "reference": null,
- "status": null,
- "type": null
}, - "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "bill": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "total_items": 5,
- "add_delivery_receipt": true,
- "delivery_receipt_logo_reference": "A456HJ",
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "use_custom_product_name": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "products": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Base product XY",
- "color": "Black",
- "size": "XL",
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "campaign_reference": "F7S33M2",
- "campaign_name": "Example Project",
- "campaign_product_id": "123"
}
]
}, - "packins": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Greeting card",
- "type": "hangtag",
- "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}, - "payments": {
- "data": [
- {
- "id": "d1364568-4b15-4706-89f1-2452efe1261d",
- "status": "paid",
- "status_details": "An error occured.",
- "type": "creditcard",
- "net_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "orderStatusEntries": {
- "data": [
- {
- "key": "string",
- "status": "string",
- "description": 0,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "shipping": {
- "type": "delivery",
- "cost": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_shipped": false,
- "country_code": "DE",
- "tracking_code": "string",
- "tracking_url": "string",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
Update delivery address
Updates the delivery address of an existing order. Only orders in certain states can be edited. The order must not be in production.
Authorizations:
path Parameters
order_reference required | string The unique reference identifier of the order |
Request Body schema: application/jsonrequired
required | object (OrderAddress) Address | ||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "address": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}
}
Calculate price
Calculate the full price (incl. shipping and taxes) for the selected order candidate. This can be done before ordering. The parameters are the same as to the "Create Order" endpoint.
Authorizations:
Request Body schema: application/jsonrequired
required | object (OrderAddress) Address |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
required | Array of objects List of selected products. It is not possible to order blank base products. |
Array of objects Details for ordering base products (custom items) | |
fulfillment_mode_key | string Choose a special fulfilment mode for this order. |
billing_method_reference | string Reference of billing method used for this order. |
external_reference | string Your internal reference for the order, that will be added to the delivery note. |
check_unique_external_reference | boolean Ensures that the provided external reference is unique within the account. |
Responses
Request samples
- Payload
{- "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "products": [
- {
- "sku": "c123456.122.8",
- "amount": 2,
- "customizations": {
- "my_textfield_1": "John",
- "my_textfield_2": "Doe"
}, - "branding": {
- "hangtag_reference": "A12345",
- "product_packaging_reference": "A12345",
- "imprint_reference": "A12345",
- "label_reference": "A12345"
}
}
], - "base_products": [
- {
- "base_product_sku": "STTK909C71012",
- "amount": 1,
- "sales_price_gross": 2199,
- "external_reference": "EX-123",
- "processings": [
- {
- "processingarea_type": "front",
- "processingposition": "chest-center",
- "offset_top": 10,
- "offset_center": 4,
- "width": 200,
- "height": 40,
- "force_position": false,
- "mockups": [
- 123
], - "ignore_validation": false,
- "extract_size_and_position": false,
- "resize_to_processingarea": false
}
]
}
], - "fulfillment_mode_key": "24h-express",
- "billing_method_reference": "F80D66CF",
- "external_reference": "your internal order reference",
- "check_unique_external_reference": true
}
Response samples
- 200
{- "products_net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shipping_net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "total_net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "total_gross_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "included_tax": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "included_tax_rate": 19
}
Get available fulfillment modes
Get a list of all fulfillment modes which can be used for this order. This endpoint can be used to collect the available options in a checkout process.
Authorizations:
Request Body schema: application/jsonrequired
required | object (OrderAddress) Address |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
object (OrderAddress) Address | |
required | Array of objects List of selected products. It is not possible to order blank base products. |
Array of objects Details for ordering base products (custom items) | |
fulfillment_mode_key | string Choose a special fulfilment mode for this order. |
billing_method_reference | string Reference of billing method used for this order. |
external_reference | string Your internal reference for the order, that will be added to the delivery note. |
check_unique_external_reference | boolean Ensures that the provided external reference is unique within the account. |
Responses
Request samples
- Payload
{- "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "products": [
- {
- "sku": "c123456.122.8",
- "amount": 2,
- "customizations": {
- "my_textfield_1": "John",
- "my_textfield_2": "Doe"
}, - "branding": {
- "hangtag_reference": "A12345",
- "product_packaging_reference": "A12345",
- "imprint_reference": "A12345",
- "label_reference": "A12345"
}
}
], - "base_products": [
- {
- "base_product_sku": "STTK909C71012",
- "amount": 1,
- "sales_price_gross": 2199,
- "external_reference": "EX-123",
- "processings": [
- {
- "processingarea_type": "front",
- "processingposition": "chest-center",
- "offset_top": 10,
- "offset_center": 4,
- "width": 200,
- "height": 40,
- "force_position": false,
- "mockups": [
- 123
], - "ignore_validation": false,
- "extract_size_and_position": false,
- "resize_to_processingarea": false
}
]
}
], - "fulfillment_mode_key": "24h-express",
- "billing_method_reference": "F80D66CF",
- "external_reference": "your internal order reference",
- "check_unique_external_reference": true
}
Response samples
- 200
{- "data": [
- {
- "key": "24h-express",
- "name": "24h Express",
- "description": "The order is produced and handed to the carrier within 24h",
- "is_per_order": "true",
- "price_net": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "fulfillment_days": "1",
- "sort_weight": "22"
}
]
}
Add order comment
Creates a new comment for a given order. Expects the comment text.
Authorizations:
path Parameters
order_reference required | string The unique reference identifier of the order |
Request Body schema: application/jsonrequired
comment | string Add order comment Creates a new comment for a given order. Expects the comment text. |
Responses
Request samples
- Payload
{- "comment": "Customer requested express shipping"
}
Retrieve order invoice
Fetches and returns the invoice for a given order as a PDF file.
Authorizations:
path Parameters
order_reference required | string Unique identifier of the order for which to retrieve the invoice |
Responses
Response samples
- 200
"string"
Customize OrderProduct
Customize an existing OrderProduct for the currently authenticated user.
Authorizations:
query Parameters
design_reference | string Reference of design |
processingarea_type_id | integer Processingarea to be customized. 1 = front, 2 = back |
width | integer Width of design in millimeter |
offset_top | integer Offset to collar in millimeter |
offset_center | integer x-shift to centerline in millimeter |
Responses
Update OrderProduct
Update an existing OrderProducts size or/and color for the currently authenticated user.
Authorizations:
query Parameters
color_id | integer ID for new color |
size_id | integer ID for new size |
replacement_requested | boolean Use replacement product in case current Product is not available |
Responses
Endpoints in this section manipulate (create, view, modify) designs by the currently logged in user.
Get all designs
Retrieve a paginated list of available designs of the currently authenticated user.
Authorizations:
Responses
Response samples
- 200
{- "data": [
- {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
]
}
Get design
Retrieve information about a single design. Only searches designs that are available to the currently authenticated user.
Authorizations:
path Parameters
design-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique design identifier |
Responses
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Update design
Update a single design based on the parameters given in the form body.
Authorizations:
path Parameters
design-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique design identifier |
Request Body schema: application/json
name | string name of the design |
tags | Array of strings List of tags for this design |
Array of objects List of hex-color pairs with the currently used color and the color to replace. Only available for embroidery design files. |
Responses
Request samples
- Payload
{- "name": "string",
- "tags": [
- "string"
], - "colors": [
- {
- "F2E9EA": "25282A",
- "D0DF00": "84754E"
}
]
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Create design from file
Create a new design from the submitted file.
The file must be at least 1000px in width or height and must be formatted either as PNG- or JPEG raster image.
The endpoint returns the created design.
Authorizations:
Request Body schema: multipart/form-data
processingmethod | string The processingmethod for which the design will be used (dtg, embroidery, engraving) |
name | string name for the design |
tags | Array of strings List of tags for this design |
file | string <binary> Design file |
Responses
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Create design from base64-encoded data
Create a new design from the base64-encoded data
The endpoint returns the created design.
Authorizations:
Request Body schema: application/json
data | string Base64-encoded data |
original_filename | string Original file name (optional) |
processingmethod | string The processingmethod for which the design will be used (dtg, embroidery, engraving) |
name | string name for the design |
tags | Array of strings List of tags for this design |
Responses
Request samples
- Payload
{- "data": "string",
- "original_filename": "string",
- "processingmethod": "dtg",
- "name": "my-design",
- "tags": [
- "string"
]
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Create design from URL
Create a new design from the submitted URL.
The endpoint returns the created design.
Authorizations:
Request Body schema: application/json
url | string Design file URL |
processingmethod | string The processingmethod for which the design will be used (dtg, embroidery, engraving) |
name | string name for the design |
tags | Array of strings List of tags for this design |
Responses
Request samples
- Payload
{- "url": "string",
- "processingmethod": "dtg",
- "name": "my-design",
- "tags": [
- "string"
]
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Endpoints in this section manipulate (create, view, modify) projects of the currently logged in user.
Get all projects / collections
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: products, productInfo
Authorizations:
query Parameters
page | integer Default: 1 Current page |
items | integer Default: 12 Number of items per page |
sort_col | string Default: "created_at" Column used to sort the results. You can sort by: name, reference, url, default_preview_position, created_at, updated_at |
sort_dir | string Default: "DESC" Direction for sorting |
Responses
Response samples
- 200
{- "data": [
- {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "name": "My cool project",
- "type": "ondemand",
- "products_count": 3,
- "is_published": true,
- "is_syncing": [
- {
- "12": true
}
], - "is_queueing": [
- {
- "12": true
}
], - "status": "Finalisiert",
- "updated_at": "2017-01-01 12:34:56",
- "created_at": "2017-01-01 12:34:56",
- "processings": {
- "data": [
- {
- "area": "front",
- "position": "center",
- "method": "print",
- "height": 300,
- "width": 200,
- "offset_top": 50,
- "offset_center": 0,
- "updated_at": "2017-01-01 12:34:56",
- "design": {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
]
}
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Create project / collection
Create a new project and return the inserted information. Associate the project with the currently authenticated user.
Authorizations:
Request Body schema: application/json
name | string Project name |
description | string Project description |
is_deprecated_campaign | boolean indicates if deprecated way for product creation is used (use 1/0 instead of true/false) |
Responses
Request samples
- Payload
{- "name": "My cool project",
- "description": "My cool project",
- "is_deprecated_campaign": "0"
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "name": "My cool project",
- "type": "ondemand",
- "products_count": 3,
- "is_published": true,
- "is_syncing": [
- {
- "12": true
}
], - "is_queueing": [
- {
- "12": true
}
], - "status": "Finalisiert",
- "updated_at": "2017-01-01 12:34:56",
- "created_at": "2017-01-01 12:34:56",
- "processings": {
- "data": [
- {
- "area": "front",
- "position": "center",
- "method": "print",
- "height": 300,
- "width": 200,
- "offset_top": 50,
- "offset_center": 0,
- "updated_at": "2017-01-01 12:34:56",
- "design": {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
]
}
}
Get project / collection
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: products, productInfo
Authorizations:
path Parameters
project-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique project identifier |
query Parameters
include_stock | boolean Default: false Include stock information for the products |
Responses
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "name": "My cool project",
- "type": "ondemand",
- "products_count": 3,
- "is_published": true,
- "is_syncing": [
- {
- "12": true
}
], - "is_queueing": [
- {
- "12": true
}
], - "status": "Finalisiert",
- "updated_at": "2017-01-01 12:34:56",
- "created_at": "2017-01-01 12:34:56",
- "processings": {
- "data": [
- {
- "area": "front",
- "position": "center",
- "method": "print",
- "height": 300,
- "width": 200,
- "offset_top": 50,
- "offset_center": 0,
- "updated_at": "2017-01-01 12:34:56",
- "design": {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
]
}
}
Update project / Collection
Change information about a project
Authorizations:
path Parameters
project-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique project identifier |
Request Body schema: application/json
name | string Project name |
Responses
Request samples
- Payload
{- "name": "My cool project"
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "name": "My cool project",
- "type": "ondemand",
- "products_count": 3,
- "is_published": true,
- "is_syncing": [
- {
- "12": true
}
], - "is_queueing": [
- {
- "12": true
}
], - "status": "Finalisiert",
- "updated_at": "2017-01-01 12:34:56",
- "created_at": "2017-01-01 12:34:56",
- "processings": {
- "data": [
- {
- "area": "front",
- "position": "center",
- "method": "print",
- "height": 300,
- "width": 200,
- "offset_top": 50,
- "offset_center": 0,
- "updated_at": "2017-01-01 12:34:56",
- "design": {
- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}
]
}
}
Get products for a project / collection
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: colors, base_product, active_integration_syncs, integration_sync_log, integration_products, projectProductColors
Authorizations:
path Parameters
project-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique project identifier |
Responses
Response samples
- 200
[- {
- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": 100,
- "wholesale_stock": 200,
- "wholesale_delivery_duration": 7,
- "inbound_date": "2024-02-15",
- "replacement_stock": { }
}, - "print_dimensions": [
- {
- "processingarea_id": null,
- "processingarea_name": null,
- "width_in_mm": null,
- "height_in_mm": null,
- "distance_printarea_top_to_collar_mm": null
}
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
]
Synchronize integrations
Trigger synchronization with all integrations defined for this campaign. The synchronization is performed in the background. Its status can be observed by querying for the attribute "status". It has the following enum-values:
- 'is_queuing',
- 'is_syncing',
- 'is_completed'
- 'has_errors'
Authorizations:
path Parameters
project-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique project identifier |
Request Body schema: application/json
integrations | Array of any Integration ids |
Responses
Request samples
- Payload
{- "integrations": [
- null
]
}
Endpoints in this section retrieve customized products available to the currently logged in user.
Get all products
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: colors, base_product, active_integration_syncs, integration_sync_log, integration_products, projectProductColors
Authorizations:
query Parameters
finished | integer Only return products where rendering is finished. |
search | string A search term used to filter on the product and product group (collection) names. |
project_id | string Example: project_id=CP4F7C8D1BEF Return only products for a given campaign |
design_id | string Example: design_id=03eaf83f-b61a-4c71-b228-1f08023ce4fc Return only products which contain a processingarea where the design for the given design_id is used |
base_product_id | integer Example: base_product_id=235 Return which are based on the given base product id |
tags | string Example: tags=myTag Filter for products containing a given tag |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": null,
- "wholesale_stock": null,
- "wholesale_delivery_duration": null,
- "inbound_date": null,
- "replacement_stock": { }
}, - "print_dimensions": [
- { }
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
]
}
Get product
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: colors, base_product, active_integration_syncs, integration_sync_log, integration_products, projectProductColors
Authorizations:
path Parameters
product-id required | integer Example: 25 Numerical product identifier |
query Parameters
include_stock | boolean Default: false Include stock information for the product |
Responses
Response samples
- 200
{- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": 100,
- "wholesale_stock": 200,
- "wholesale_delivery_duration": 7,
- "inbound_date": "2024-02-15",
- "replacement_stock": { }
}, - "print_dimensions": [
- {
- "processingarea_id": 1,
- "processingarea_name": "string",
- "width_in_mm": 300,
- "height_in_mm": 400,
- "distance_printarea_top_to_collar_mm": 50
}
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
Update product
Update names, descriptions, prices and add/delete a product of the authenticated user.
Authorizations:
path Parameters
productId required | integer Example: 123 ID of the product to update |
Request Body schema: application/json
custom_name | string Product name |
price | integer Gross product price in Euro-cents |
description | string Short description |
tags | Array of strings List of tags for this product |
colors | Array of integers List of color ids |
delete_unmentioned_colors | bool Set to true if colors which are stored but do not appear in the request should be deleted. Default: false |
sort_position | integer Set a sort position for this product within its project |
Responses
Request samples
- Payload
{- "custom_name": "My cool product",
- "price": 400,
- "description": "string",
- "tags": [
- "string"
], - "colors": [
- 0
], - "delete_unmentioned_colors": null,
- "sort_position": "1"
}
Response samples
- 200
{- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": 100,
- "wholesale_stock": 200,
- "wholesale_delivery_duration": 7,
- "inbound_date": "2024-02-15",
- "replacement_stock": { }
}, - "print_dimensions": [
- {
- "processingarea_id": 1,
- "processingarea_name": "string",
- "width_in_mm": 300,
- "height_in_mm": 400,
- "distance_printarea_top_to_collar_mm": 50
}
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
Synchronize integrations
Trigger synchronization for all requested integrations for this product. The synchronization is performed in the background. Its status can be observed by querying the active_integration_syncs field in the product response.
Authorizations:
path Parameters
product-id required | integer Example: 25 Numerical product identifier |
Request Body schema: application/json
integrations | Array of any Integration ids |
Responses
Request samples
- Payload
{- "integrations": [
- null
]
}
Create product
Use this endpoint to a create a product based on a specific baseProduct. The product can be customized on the baseProduct color level. This allows you to have a different design, size and positioning for each baseProduct color. Each processing can be associated to one or many colorIds. Multiple processings can be added. Workflow: create project, add customized-products
Authorizations:
Request Body schema: application/json
project_id required | string Identifier of existing project |
base_product_id required | integer Identifier of desired base product |
price | integer Product price in cents |
custom_name | string Custom product name |
sort_position | integer Sort position |
tags | Array of strings Product tags |
description | string Product description |
integration_feature_description | Array of strings Integration feature description |
brandings | Array of strings Product brandings |
required | Array of objects List of processings to apply |
Responses
Request samples
- Payload
{- "project_id": "CP94791DFD28",
- "base_product_id": 235,
- "price": 2999,
- "custom_name": "My Custom Product",
- "sort_position": 1,
- "tags": [
- "tag1"
], - "description": "string",
- "integration_feature_description": [
- "string"
], - "brandings": [
- "string"
], - "processings": [
- {
- "processingarea_type": "front",
- "processingposition": "chest-center",
- "processingmethod": "dtg",
- "design_reference": "310ef229-2254-4f4f-9041-a8e02674ff36",
- "offset_top": 50,
- "offset_center": 0,
- "width": 200,
- "is_customizable": false,
- "is_blank_design": false,
- "force_position": false,
- "mockups": [
- 123
], - "colors": [
- {
- "colorId": 608,
- "price": 2195,
- "sortPosition": 1
}
]
}
]
}
Response samples
- 200
{- "data": [
- {
- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": null,
- "wholesale_stock": null,
- "wholesale_delivery_duration": null,
- "inbound_date": null,
- "replacement_stock": { }
}, - "print_dimensions": [
- { }
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
]
}
Update product colors
Use this endpoint to update an existing product. The product can be customized on the baseProduct color level similar to the create endpoint. Each processing can be associated to one or many colorIds. Multiple processings can be added. Instead of the complete processing information (design, width, position info) it is possible to pass a baseProduct color id as a referenceColorId. In this case all processing information is created based on the existing processings for the reference color.
Authorizations:
Request Body schema: application/json
required | Array of objects List of processings to add / update | ||||||||||||||||||||
Array
|
Responses
Request samples
- Payload
{- "processings": [
- {
- "processingarea_type": "front",
- "processingposition": "chest-center",
- "processingmethod": "dtg",
- "design_reference": "310ef229-2254-4f4f-9041-a8e02674ff36",
- "offset_top": 50,
- "offset_center": 0,
- "width": 200,
- "is_customizable": "false",
- "force_position": "false",
- "colors": [
- {
- "colorId": 608,
- "referenceColorId": 2195,
- "price": 2195,
- "sortPosition": 1
}
]
}
]
}
Response samples
- 200
{- "data": [
- {
- "id": 123,
- "project": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "project_name": "Projekt 123",
- "name": "Base Product Name XY",
- "custom_name": "My cool product",
- "description": "string",
- "tags": [
- "string"
], - "price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "seedshirt_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 0,
- "colors": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "sales_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "sort_position": 1,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "is_onlocalstock": true,
- "is_available": true,
- "sort_position": 1,
- "shirtigo_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}
], - "is_available": true,
- "is_rendered": true,
- "has_express": false,
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
}
}
], - "brandings": [
- {
- "reference": null,
- "name": "Greetings card",
- "type": "packin",
- "position": "seam-left",
- "size_id": "3",
- "color_ids": "['147','157']",
- "weight_gram": "10",
- "width_mm": "100",
- "height_mm": "100",
- "initial_inventory": "1000",
- "inventory": "1000",
- "is_active": true,
- "stocking_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "item_costs": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
], - "base_product": {
- "id": 1,
- "name": "Base product XY",
- "original_name": "T-Shirt",
- "shipping_category": 1,
- "category_id": 5,
- "category": "Unisex-Shirts",
- "short_description": "string",
- "description": "string",
- "one_line_description": "string",
- "designer_note": "string",
- "material": "string",
- "hs_code": "string",
- "thumbnail_image": "string",
- "sizechart_image": "string",
- "is_active": true,
- "product_category_id": 0,
- "can_use_hangtag": true,
- "can_use_imprint": true,
- "can_use_sewing_label": true,
- "can_be_warehoused": true,
- "is_organic": true,
- "recommended_sales_price": { },
- "manufacturer": {
- "id": 123,
- "name": "Musterfirma"
}, - "images": {
- "data": [
- {
- "id": 1,
- "type": "main",
- "sort_weight": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "colors": {
- "data": [
- {
- "id": 123,
- "color": "Black",
- "color_hex": "#000000",
- "is_colored": true,
- "is_heathered": false,
- "sizes": [
- {
- "id": 67,
- "size": "XL",
- "base_product_sku": "STTU169_Black_XXL",
- "brand_product_sku": "STTU169C0022X",
- "is_onlocalstock": true,
- "is_discontinued": false,
- "sort_position": 1,
- "weight_gram": 10,
- "stock": {
- "local_stock": null,
- "wholesale_stock": null,
- "wholesale_delivery_duration": null,
- "inbound_date": null,
- "replacement_stock": { }
}, - "print_dimensions": [
- { }
]
}
]
}
]
}, - "processing_areas": {
- "data": [
- {
- "position_id": 1,
- "position_name": "front",
- "is_printable": true,
- "width_in_mm": 100,
- "height_in_mm": 100,
- "width": 2000,
- "height": 2000,
- "processing_method": "dtg",
- "offset_x_center_mm": 0,
- "offset_y_collar_mm": 20,
- "printable_area_margin_from_top": 0
}
]
}, - "price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}, - "sales_price": {
- "data": [
- {
- "amount": 2999,
- "currency": "EUR",
- "formatted": "29,99 €"
}
]
}
}, - "active_integration_syncs": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_sync_log": [
- {
- "integration_name": "shopify",
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "is_syncing": true,
- "is_successful": true,
- "in_queue": true,
- "error": "Invalid or missing auth.",
- "updated_at": "2017-01-01 12:34:56"
}
], - "integration_products": [
- {
- "integration_id": 111,
- "integration_product_id": "9286211826",
- "updated_at": "2017-01-01 12:34:56"
}
], - "updated_at": "2017-01-01 12:34:56"
}
]
}
Add Image for ProductColor
Authorizations:
path Parameters
productId required | integer Example: 123 ID of the product to add image to |
query Parameters
url | string Url |
style | string Style |
procesingarea_type | string Processing Area type |
name | string Name |
sort_weight | integer Sort weight |
Responses
Update Product Mockups
Updates the mockups associated with a project product. It allows adding new mockups and removing existing ones based on provided mockup IDs. Ensures that at least one mockup remains after updates to prevent product mockup configurations from being empty.
Authorizations:
path Parameters
projectProductId required | integer The unique identifier of the project product |
Request Body schema: application/jsonrequired
List of mockup IDs to update
mockups | Array of integers Array of mockup IDs to be updated or removed |
Responses
Request samples
- Payload
{- "mockups": [
- 0
]
}
Response samples
- 200
- 404
- 422
{- "message": "Mockups updated successfully"
}
Endpoints in this section manipulate (create, view, modify) objects related to warehousing.
Get InboundShipping
Return the WarehouseInboundShipment. Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: items
Authorizations:
query Parameters
reference | string Reference of the Variant to be updated |
include | string Which linked entities you want to include into the response, separated by comma. Available includes are Items |
Responses
Response samples
- 200
{- "id": null,
- "reference": "A1234567",
- "name": "Warehouse inbound shipment",
- "carrier": "DHL",
- "tracking_number": "AA123345567BB",
- "count": 5,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56"
}
Delete InboundShipping
Deletes WarehouseInboundShipment
Authorizations:
query Parameters
reference | string Reference of the InboundShipment to be deleted |
Responses
Response samples
- 200
{- "id": null,
- "reference": "A1234567",
- "name": "Warehouse inbound shipment",
- "carrier": "DHL",
- "tracking_number": "AA123345567BB",
- "count": 5,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56"
}
Get WarehouseProductVariant
Returns the list of WarehouseProductVariants assiciated with the particular User.
Authorizations:
query Parameters
include | string Default: "Image" Which linked entities you want to include into the response, separated by comma. Available includes are Image and Product |
search | string Default: "" Search in in variants by the name |
page | integer Default: 1 Current page |
items | integer Default: 12 Number of items per page |
sort | string Default: "name" Column used to sort the results. You can sort by: name, reference, created_at, updated_at |
order | string Default: "ASC" Direction for sorting |
type | string Default: "warehouse" Type of the products to query. Options are warehouse, return and all. |
Responses
Response samples
- 200
{- "data": [
- {
- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Get WarehouseProduct
Return the WarehouseProduct. Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: variant, variants
Authorizations:
query Parameters
reference | string Reference of the Variant to be updated |
include | string Default: "Variants" Which linked entities you want to include into the response, separated by comma. Available includes are Variant and Variants |
Responses
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "name": "Warehouse product name",
- "description": "Warehouse product description",
- "hs_code": "A123123",
- "country_of_origin": "DE",
- "color_id": "1",
- "item_value": 300,
- "net_sales_price": 25,
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "needs_box_shipping": true,
- "min_stock_quantity": 100,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56"
}
Update WarehouseProduct
Updates WarehouseProduct with default Variant and associated Variants
Authorizations:
query Parameters
reference | string Reference of the WarehouseProduct to be updated |
Request Body schema: application/json
name | string Project name |
description | string Project description |
size | string Size of the default product's variant |
color | string Color of the default product's variant |
hs_code | string HS Code of default product's variant |
country_of_origin | string Country of Origin of default product's variant |
item_value | integer Item value in cents of default product's variant |
net_sales_price | integer Net sales price in cents of default product's variant |
depth_cm | integer Depth in cm of default product's variant |
width_cm | integer Width in cm of default product's variant |
height_cm | integer Height in cm of default product's variant |
weight_gram | integer Weight in grams of default product's variant |
needs_box_shipping | boolean Indicates whether the default product's variant should be shipping in a box |
min_stock_quantity | integer Minimal stock quantity of default product's variant |
object (Media) | |
Array of objects (WarehouseProductVariant) The array of variants of the WarehouseProduct, excluding default one |
Responses
Request samples
- Payload
{- "name": "My cool warehouse product",
- "description": "My cool warehouse product's description",
- "size": "S",
- "color": "white",
- "hs_code": "DE123456",
- "country_of_origin": "DE",
- "item_value": "52000",
- "net_sales_price": "1250",
- "depth_cm": "30",
- "width_cm": "30",
- "height_cm": "30",
- "weight_gram": "30",
- "needs_box_shipping": "false",
- "min_stock_quantity": "100",
- "variants": [
- {
- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
]
}
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "name": "Warehouse product name",
- "description": "Warehouse product description",
- "hs_code": "A123123",
- "country_of_origin": "DE",
- "color_id": "1",
- "item_value": 300,
- "net_sales_price": 25,
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "needs_box_shipping": true,
- "min_stock_quantity": 100,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56"
}
Create WarehouseProduct
Creates WarehouseProduct with default Variant and associated Variants
Authorizations:
Request Body schema: application/json
name | string Project name |
description | string Project description |
size | string Size of the default product's variant |
color | string Color of the default product's variant |
hs_code | string HS Code of default product's variant |
country_of_origin | string Country of Origin of default product's variant |
item_value | integer Item value in cents of default product's variant |
net_sales_price | integer Net sales price in cents of default product's variant |
depth_cm | integer Depth in cm of default product's variant |
width_cm | integer Width in cm of default product's variant |
height_cm | integer Height in cm of default product's variant |
weight_gram | integer Weight in grams of default product's variant |
needs_box_shipping | boolean Indicates whether the default product's variant should be shipping in a box |
min_stock_quantity | integer Minimal stock quantity of default product's variant |
object (Media) | |
Array of objects (WarehouseProductVariant) The array of variants of the WarehouseProduct, excluding default one |
Responses
Request samples
- Payload
{- "name": "My cool warehouse product",
- "description": "My cool warehouse product's description",
- "size": "S",
- "color": "white",
- "hs_code": "DE123456",
- "country_of_origin": "DE",
- "item_value": "52000",
- "net_sales_price": "1250",
- "depth_cm": "30",
- "width_cm": "30",
- "height_cm": "30",
- "weight_gram": "30",
- "needs_box_shipping": "false",
- "min_stock_quantity": "100",
- "variants": [
- {
- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
]
}
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "name": "Warehouse product name",
- "description": "Warehouse product description",
- "hs_code": "A123123",
- "country_of_origin": "DE",
- "color_id": "1",
- "item_value": 300,
- "net_sales_price": 25,
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "needs_box_shipping": true,
- "min_stock_quantity": 100,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56"
}
Update WarehouseProductVariant
Updates WarehouseProductVariant
Authorizations:
path Parameters
product_reference required | string Reference of the WarehouseProduct to which the updated Variant belongs to |
reference required | string Reference of the Variant to be updated |
Request Body schema: application/json
size | string Size of the product's variant |
color | string Color of the product's variant |
hs_code | string HS Code of product's variant |
country_of_origin | string Country of Origin of product's variant |
item_value | integer Item value in cents of product's variant |
net_sales_price | integer Net sales price in cents of product's variant |
depth_cm | integer Depth in cm of product's variant |
width_cm | integer Width in cm of product's variant |
height_cm | integer Height in cm of product's variant |
weight_gram | integer Weight in grams of product's variant |
needs_box_shipping | boolean Indicates whether the product's variant should be shipping in a box |
min_stock_quantity | integer Minimal stock quantity of product's variant |
object (Media) |
Responses
Request samples
- Payload
{- "size": "S",
- "color": "white",
- "hs_code": "DE123456",
- "country_of_origin": "DE",
- "item_value": "52000",
- "net_sales_price": "1250",
- "depth_cm": "30",
- "width_cm": "30",
- "height_cm": "30",
- "weight_gram": "30",
- "needs_box_shipping": "false",
- "min_stock_quantity": "100",
}
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
Delete WarehouseProductVariant
Deletes WarehouseProductVariant
Authorizations:
query Parameters
product_reference | string Reference of the WarehouseProduct to which the deleted Variant belongs to |
reference | string Reference of the Variant to be deleted |
Responses
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
Update WarehouseProductVariant by Reference
Updates WarehouseProductVariant
Authorizations:
path Parameters
reference required | string Example: WV-HGE123446 Reference of the Variant to be updated |
Request Body schema: application/json
name | string Project name |
description | string Project description |
size | string Size of the product's variant |
color | string Color of the product's variant |
hs_code | string HS Code of product's variant |
country_of_origin | string Country of Origin of product's variant |
item_value | integer Item value in cents of product's variant |
net_sales_price | integer Net sales price in cents of product's variant |
depth_cm | integer Depth in cm of product's variant |
width_cm | integer Width in cm of product's variant |
height_cm | integer Height in cm of product's variant |
weight_gram | integer Weight in grams of product's variant |
needs_box_shipping | boolean Indicates whether the product's variant should be shipping in a box |
min_stock_quantity | integer Minimal stock quantity of product's variant |
object (Media) |
Responses
Request samples
- Payload
{- "name": "My cool warehouse product variant",
- "description": "My cool warehouse product variant's description",
- "size": "S",
- "color": "white",
- "hs_code": "DE123456",
- "country_of_origin": "DE",
- "item_value": "52000",
- "net_sales_price": "1250",
- "depth_cm": "30",
- "width_cm": "30",
- "height_cm": "30",
- "weight_gram": "30",
- "needs_box_shipping": "false",
- "min_stock_quantity": "100",
}
Response samples
- 200
{- "id": null,
- "reference": "A12345",
- "product_reference": "A12345",
- "name": "Warehouse product variant name",
- "description": "Warehouse product variant description",
- "color_id": "1",
- "size_id": "1",
- "color": "Red",
- "size": "XL",
- "width_cm": 20,
- "height_cm": 20,
- "depth_cm": 30,
- "weight_gram": 500,
- "item_value": 300,
- "net_sales_price": 25,
- "shirtigo_price": 20,
- "min_stock_quantity": 100,
- "needs_box_shipping": true,
- "country_of_origin": "DE",
- "hs_code": "A123123",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "deleted_at": "2017-01-01 12:34:56",
- "is_stored": true,
- "is_approved": true,
- "is_rejected": "false",
- "stock_amount": 100
}
Get all transactions
Retrieve all accounting transactions issued by the currently authenticated user. The result will be paginated, meta information is included in the response.
query Parameters
page | integer Default: 1 Page number |
items | integer Default: 12 Items per page |
search | integer Search query |
sort_col | string Default: "" Property to order by |
sort_dir | string Default: "asc" Enum: "asc" "desc" Order direction |
period | integer Days to show (default: all) |
action | integer Action to filter for (default: none) |
Responses
Response samples
- 200
{- "data": [
- {
- "id": "d1364568-4b15-4706-89f1-2452efe1261d",
- "status": "invoice",
- "status_title": "Erstattung",
- "payment_reference": "Kreditkarte",
- "order": {
- "reference": "ABCDXY1",
- "net_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "status": "Bestellung offen",
- "status_key": "",
- "invoice_reference": "string",
- "fulfillment": {
- "reference": null,
- "status": null,
- "type": null
}, - "delivery": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "sender": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "bill": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-manufacturer": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "gpsr-representative": {
- "type": "delivery",
- "title": "Dr.",
- "company": "Shirtigo GmbH",
- "firstname": "Max",
- "lastname": "Mustermann",
- "care_of": "Gift for Mrs. Doe",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "DE",
- "email": "info@company.com"
}, - "total_items": 5,
- "add_delivery_receipt": true,
- "delivery_receipt_logo_reference": "A456HJ",
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "use_custom_product_name": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56",
- "products": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Base product XY",
- "color": "Black",
- "size": "XL",
- "images": [
- {
- "id": "1222",
- "color": "Red",
- "area": "front",
- "urls": {
- "small": null,
- "large": null
}
}
], - "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "campaign_reference": "F7S33M2",
- "campaign_name": "Example Project",
- "campaign_product_id": "123"
}
]
}, - "packins": {
- "data": [
- {
- "id": 0,
- "amount": 1,
- "name": "Greeting card",
- "type": "hangtag",
- "net_total_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "net_unit_price": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}
}
]
}, - "payments": {
- "data": [
- {
- "id": "d1364568-4b15-4706-89f1-2452efe1261d",
- "status": "paid",
- "status_details": "An error occured.",
- "type": "creditcard",
- "net_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "orderStatusEntries": {
- "data": [
- {
- "key": "string",
- "status": "string",
- "description": 0,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
]
}, - "shipping": {
- "type": "delivery",
- "cost": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "is_shipped": false,
- "country_code": "DE",
- "tracking_code": "string",
- "tracking_url": "string",
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
}, - "net_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "gross_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_amount": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "vat_rate": 19,
- "created_at": "2017-01-01 12:34:56"
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Get wallet transactions
query Parameters
items | integer Number of items per page |
search | string Search term |
sort_col | string |
sort_dir | string Enum: "asc" "desc" |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 0,
- "reference": "string",
- "amount": {
- "value": 0.1,
- "currency": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "type": "string"
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Get user information
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: integrations, billingMethod, availableBillingMethods
Authorizations:
Responses
Response samples
- 200
{- "email": "mustermann@example.com",
- "firstname": "Max",
- "lastname": "Mustermann",
- "display_name": "Max Mustermann",
- "user_group": {
- "id": 1,
- "type": "premium",
- "cockpit_discount": 20,
- "quantity": 1000,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}, - "is_business": true,
- "title": "Dr.",
- "company_name": "Shirtigo GmbH",
- "street": "Musterstraße 12",
- "postcode": "12345",
- "city": "Köln",
- "country": "Deutschland",
- "phone": "004930123456",
- "sender_title": "string",
- "sender_company_name": "string",
- "sender_firstname": "string",
- "sender_lastname": "string",
- "sender_street": "string",
- "sender_postcode": "string",
- "sender_city": "string",
- "sender_state": "string",
- "sender_country": "string",
- "sender_type": "full",
- "fulfillment_key": "24h-express",
- "is_billing_valid": true,
- "has_orders": true,
- "integration_count": 2,
- "is_auto_onhold": true,
- "integrations": [
- {
- "id": 111,
- "app": "shopify",
- "name": "my-cool-shirtstore.myshopify.com",
- "reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
- "expires_in": "2018-01-01 12:34:56",
- "sales_channel": "Storefront",
- "image_type": "png",
- "image_quality": "high",
- "fulfillment_mode_key": "24h-express",
- "is_token_revoked": true,
- "is_pull_orders": true,
- "is_auto_pull_orders": "true",
- "default_first_packin_reference": "ABC123",
- "default_second_packin_reference": "ABC123",
- "default_hangtag_reference": "ABC123",
- "default_imprint_reference": "ABC123",
- "default_label_reference": "ABC123",
- "default_product_packaging_reference": "ABC123",
- "default_order_packaging_reference": "ABC123",
- "default_sticker_reference": "ABC123",
- "add_delivery_receipt": true,
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "default_delivery_receipt_logo_reference": "ABC123",
- "use_custom_product_name": true,
- "is_auto_onhold": true,
- "is_refresh_token_expired": false
}
], - "updated_at": "2017-01-01 12:34:56",
- "add_delivery_receipt": true,
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "default_delivery_receipt_logo_reference": "ABC123",
- "use_custom_product_name": true,
- "default_first_packin_reference": "ABC123",
- "default_second_packin_reference": "ABC123",
- "default_hangtag_reference": "ABC123",
}
Update user information
Update (some) fields of the currently authenticated user profile.
Authorizations:
Request Body schema: application/json
firstname required | string Update user information Update (some) fields of the currently authenticated user profile. |
lastname required | string Update user information Update (some) fields of the currently authenticated user profile. |
street required | string Update user information Update (some) fields of the currently authenticated user profile. |
postcode required | string Update user information Update (some) fields of the currently authenticated user profile. |
city required | string Update user information Update (some) fields of the currently authenticated user profile. |
country required | string Update user information Update (some) fields of the currently authenticated user profile. |
company_name | string Update user information Update (some) fields of the currently authenticated user profile. |
phone | string Update user information Update (some) fields of the currently authenticated user profile. |
is_business required | boolean Update user information Update (some) fields of the currently authenticated user profile. |
fulfillment_mode_key | boolean Update user information Update (some) fields of the currently authenticated user profile. |
Responses
Request samples
- Payload
{- "firstname": "string",
- "lastname": "string",
- "street": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "company_name": "string",
- "phone": "string",
- "is_business": true,
- "fulfillment_mode_key": true
}
Upload delivery receipt logo
Upload a logo to your user account which is printed on the delivery receipt for your customers to increase the branding of your fulfillment
The file needs to be a png with 900px x 385px (width x height).
The endpoint returns an empty array with exit code 200.
Authorizations:
Request Body schema: multipart/form-data
file | string <binary> Design file |
Responses
Upload sticker logo
Upload a sticker to your user account which is printed on packaging for your customers to increase the branding of your fulfillment
The file needs to be a png with 560px x 560px (width x height).
The endpoint returns an empty array with exit code 200.
Authorizations:
Request Body schema: multipart/form-data
file | string <binary> Design file |
Responses
Update sender address
Update sender address fields of currently authenticated user.
Authorizations:
Request Body schema: application/json
sender_company_name | string <= 30 characters Update sender address Update sender address fields of currently authenticated user. |
sender_firstname required | string <= 20 characters Update sender address Update sender address fields of currently authenticated user. |
sender_lastname required | string <= 20 characters Update sender address Update sender address fields of currently authenticated user. |
sender_street required | string <= 35 characters Update sender address Update sender address fields of currently authenticated user. |
sender_postcode required | string [ 3 .. 9 ] characters Update sender address Update sender address fields of currently authenticated user. |
sender_city required | string <= 30 characters Update sender address Update sender address fields of currently authenticated user. |
sender_country required | string Update sender address Update sender address fields of currently authenticated user. |
Responses
Request samples
- Payload
{- "sender_company_name": "string",
- "sender_firstname": "string",
- "sender_lastname": "string",
- "sender_street": "string",
- "sender_postcode": "string",
- "sender_city": "string",
- "sender_country": "string"
}
Update GPSR Addresses
Updates the GPSR manufacturer and representative address fields for the authenticated user. * If the country requires a representative address (VAT_TYPE_WORLD), both addresses must be provided.
Authorizations:
Request Body schema: application/jsonrequired
GPSR Address details
gpsr_manufacturer_company_name required | string <= 30 characters Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_manufacturer_street required | string <= 35 characters Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_manufacturer_postcode required | string Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_manufacturer_city required | string <= 30 characters Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_manufacturer_email required | string <email> Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_manufacturer_country required | string Update GPSR Addresses Updates the GPSR manufacturer and representative address fields for the currently authenticated user. This endpoint validates and saves the required address information based on the user's country and VAT rules. |
gpsr_representative_company_name | string <= 30 characters Required if manufacturer is located outside EU |
gpsr_representative_street | string <= 35 characters Required if manufacturer is located outside EU |
gpsr_representative_postcode | string Required if manufacturer is located outside EU |
gpsr_representative_city | string <= 30 characters Required if manufacturer is located outside EU |
gpsr_representative_email | string <email> Required if manufacturer is located outside EU |
gpsr_representative_country | string Required if manufacturer is located outside EU |
Responses
Request samples
- Payload
{- "gpsr_manufacturer_company_name": "string",
- "gpsr_manufacturer_street": "string",
- "gpsr_manufacturer_postcode": "string",
- "gpsr_manufacturer_city": "string",
- "gpsr_manufacturer_email": "user@example.com",
- "gpsr_manufacturer_country": "string",
- "gpsr_representative_company_name": "string",
- "gpsr_representative_street": "string",
- "gpsr_representative_postcode": "string",
- "gpsr_representative_city": "string",
- "gpsr_representative_email": "user@example.com",
- "gpsr_representative_country": "string"
}
Update user advanced
Update advanced user settings.
Authorizations:
Request Body schema: application/json
locale | string Update user advanced Update advanced user settings. |
accounting_email | string Update user advanced Update advanced user settings. |
customs_email | string Update user advanced Update advanced user settings. |
receives_mail_order_placed | boolean Update user advanced Update advanced user settings. |
receives_mail_order_shipped | boolean Update user advanced Update advanced user settings. |
use_tracking_de | boolean Update user advanced Update advanced user settings. |
use_tracking_eu | boolean Update user advanced Update advanced user settings. |
use_tracking_world | boolean Update user advanced Update advanced user settings. |
add_delivery_receipt | boolean Update user advanced Update advanced user settings. |
use_custom_product_name | boolean Update user advanced Update advanced user settings. |
delivery_receipt_note | string Update user advanced Update advanced user settings. |
default_first_packin_reference | string Update user advanced Update advanced user settings. |
default_second_packin_reference | string Update user advanced Update advanced user settings. |
default_hangtag_reference | string Update user advanced Update advanced user settings. |
default_imprint_reference | string Update user advanced Update advanced user settings. |
default_label_reference | string Update user advanced Update advanced user settings. |
default_product_packaging_reference | string Update user advanced Update advanced user settings. |
default_order_packaging_reference | string Update user advanced Update advanced user settings. |
Responses
Request samples
- Payload
{- "locale": "string",
- "accounting_email": "string",
- "customs_email": "string",
- "receives_mail_order_placed": true,
- "receives_mail_order_shipped": true,
- "use_tracking_de": true,
- "use_tracking_eu": true,
- "use_tracking_world": true,
- "add_delivery_receipt": true,
- "use_custom_product_name": true,
- "delivery_receipt_note": "string",
- "default_first_packin_reference": "string",
- "default_second_packin_reference": "string",
- "default_hangtag_reference": "string",
- "default_imprint_reference": "string",
- "default_label_reference": "string",
- "default_product_packaging_reference": "string",
- "default_order_packaging_reference": "string"
}
Create a new user verification
Allows the creation of a new verification record for the authenticated user.
Authorizations:
Request Body schema: application/json
type required | string Enum: "vat" "tax" "lucid" Create a new user verification Allows the creation of a new verification record for the authenticated user. |
identifier required | string Create a new user verification Allows the creation of a new verification record for the authenticated user. |
country_iso required | string Create a new user verification Allows the creation of a new verification record for the authenticated user. |
fiscal_representation | string Create a new user verification Allows the creation of a new verification record for the authenticated user. |
Responses
Request samples
- Payload
{- "type": "vat",
- "identifier": "ATU1234567",
- "country_iso": "AT",
- "fiscal_representation": "string"
}
Generate media using AI
Authorizations:
query Parameters
n_images | integer Number of images to generate |
prompt | string Prompt for image generation |
style_id | integer ID of prefered MediaStyle |
Responses
Response samples
- 200
{- "reference": "string",
- "prompt": "string",
- "user_prompt": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "variations": [
- {
- "reference": "string",
- "resolution": "string",
- "status": "pending",
- "response_prompt": "string",
- "has_design": true,
- "safety_system_fail": true
}
], - "mediaStyle": {
- "id": 0,
- "name": "string",
- "description": "string",
- "key": "string",
- "url": "string"
}
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Response samples
- 200
{- "reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
- "filename": "ABCDE",
- "name": "My cool design",
- "width": 5000,
- "height": 3000,
- "filetype": "png",
- "tags": "summer-collection",
- "processingmethod_key": "dtg",
- "colors": 5,
- "palette": [
- "A20061",
- "FFBC42",
- "1C838A",
- "021618",
- "A3AAAB"
], - "complementary_color": "",
- "is_processed": true,
- "is_dark": true,
- "is_editable": true,
- "is_ai_generated": true,
- "created_at": "2017-01-01 12:34:56",
- "updated_at": "2017-01-01 12:34:56"
}
Get a list of generated media
Authorizations:
query Parameters
sort_col | string Column to sort by (default: created_at) |
sort_dir | string Sort direction (default: desc) |
filtered_status | string Comma-separated list of filtered statuses |
Responses
Response samples
- 200
{- "reference": "string",
- "prompt": "string",
- "user_prompt": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "variations": [
- {
- "reference": "string",
- "resolution": "string",
- "status": "pending",
- "response_prompt": "string",
- "has_design": true,
- "safety_system_fail": true
}
], - "mediaStyle": {
- "id": 0,
- "name": "string",
- "description": "string",
- "key": "string",
- "url": "string"
}
}
Get details of a generated media by reference
Authorizations:
path Parameters
reference required | string Reference of the generated media |
Responses
Response samples
- 200
{- "reference": "string",
- "prompt": "string",
- "user_prompt": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "variations": [
- {
- "reference": "string",
- "resolution": "string",
- "status": "pending",
- "response_prompt": "string",
- "has_design": true,
- "safety_system_fail": true
}
], - "mediaStyle": {
- "id": 0,
- "name": "string",
- "description": "string",
- "key": "string",
- "url": "string"
}
}
Generate Mockup Images
Generates custom mockup images based on the specifications provided.
Authorizations:
Request Body schema: application/jsonrequired
Mockup generation parameters
external_job_reference | string External reference to track the job |
base_product_id required | integer ID of the base product |
base_product_skus | Array of strings SKUs (internal_sku) of the base product variants |
color_ids | Array of integers Alternative to SKUs, IDs of colors if specific colors are to be used |
mockup_ids required | Array of integers IDs of mockups to generate |
processingarea_type_key | string Type of the processing area for the mockup |
processing_method_key | string Processing method key, e.g., 'dtg' |
mockup_width_px | integer Width of the mockup in pixels; assumed to be square; max. 2000px |
design_url | string URL of the design to be used in the mockup |
design_width_mm | integer Width of the design in millimeters |
design_height_mm | integer Height of the design in millimeters |
design_y_top_mm | integer Top offset of the design in millimeters |
design_x_center_mm | integer Center offset of the design in millimeters |
format | string Format of the generated image, 'jpg' or 'png' allowed |
background_color_hex | string Hex code of the background color |
background_url | string URL of the background image |
Responses
Request samples
- Payload
{- "external_job_reference": 100,
- "base_product_id": 235,
- "base_product_skus": [
- "string"
], - "color_ids": 325,
- "mockup_ids": [
- 0
], - "processingarea_type_key": "front",
- "processing_method_key": "dtg",
- "mockup_width_px": 2000,
- "design_width_mm": 200,
- "design_height_mm": 150,
- "design_y_top_mm": 50,
- "design_x_center_mm": 0,
- "format": "png",
- "background_color_hex": "FFFFFF",
- "background_url": "string"
}
Response samples
- 200
{- "success": true,
- "message": "Mockup generation initiated successfully."
}
Get Rendering Tasks
Retrieves a paginated list of mockup-factory rendering tasks for the authenticated user. This endpoint can be used to fetch all the rendering tasks generated by the user, allowing them to track progress or results. You can register a webhook for the event GeneratedMedia.rendered
Authorizations:
Responses
Response samples
- 200
{- "data": [
- {
- "reference": "string",
- "external_reference": "string",
- "status": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "RenderingTaskImage": [
- {
- "reference": "string",
- "resolution": "string",
- "status": "pending",
- "response_prompt": "string",
- "has_design": true,
- "safety_system_fail": true
}
]
}
]
}
Get Rendering Task by Reference
Retrieves detailed information about a specific mockup-factory rendering task associated with the given reference identifier. This endpoint is intended for users to fetch detailed information about a specific task, including its variations and current status.
Authorizations:
path Parameters
reference required | string Unique reference of the rendering task |
Responses
Response samples
- 200
{- "data": {
- "reference": "string",
- "external_reference": "string",
- "status": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "RenderingTaskImage": [
- {
- "reference": "string",
- "resolution": "string",
- "status": "pending",
- "response_prompt": "string",
- "has_design": true,
- "safety_system_fail": true
}
]
}
}
Endpoints in this section manipulate (create, view, modify) webhooks of the currently logged in user.
List webhooks
Returns a list of webhooks with pagination and optional filtering. The following events are available: Order (.created, .updated, .shipped, .canceled, .clarification), Design (.created, .updated, .rendering-failed, .deleted), Product (.created, .updated, .deleted), OrderProductItem.updated, OrderWarehouseProductItem.updated
Authorizations:
query Parameters
items | integer Default: 10 Number of items per page |
sort_col | string Default: "created_at" Column to sort by |
sort_dir | string Default: "asc" Sort direction (asc or desc) |
resource | string Filter by resource. See WebhookTypes objects for available options. |
action | string Filter by action. See WebhookTypes objects for available options. |
is_active | boolean Filter by active status |
include | string Comma-separated list of related resources to include in the response. Available resources: type, calls |
loaded_webhook_calls | integer Default: 10 Number of loaded webhook calls when the calls include is used |
Responses
Response samples
- 200
{- "data": [
- {
- "id": 1,
- "is_active": true,
- "secret": "webhookSecret123",
- "signature_header": "X-Webhook-Signature",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Create a new webhook
Create a new webhook based on the provided data
Authorizations:
Request Body schema: multipart/form-data
resource | string Resource for which this webhook should be registered. Required together with action if no types array is passed. |
action | string Action for which this webhook should be registered. Required together with resource if no types array is passed. |
types | Array of strings Array of webhook type keys as an alternative to providing resource and action. |
url required | string URL |
secret | string Secret used to hash the payload with the SHA256 algorithm to create the signature in webhook calls. |
signature_header | string Header parameter named used to identify the webhook signature in the request. |
is_active | boolean Indicates if the webhook is active. |
Responses
Response samples
- 201
{- "data": [
- {
- "id": "ABC123DEF5",
- "user_webhook_type_key": "Order.created",
- "secret": "mysecretkey",
- "signature_header": "signature",
- "is_active": true,
- "created_at": "2023-01-01T00:00:00",
- "updated_at": "2023-01-02T00:00:00"
}
], - "meta": {
- "pagination": {
- "total": 32,
- "count": 10,
- "per_page": 10,
- "current_page": 2,
- "total_pages": 4,
- "links": {
- "previous": "string",
- "next": "string"
}
}
}
}
Get a single webhook by ID
Retrieve a single webhook by its reference ID.
Authorizations:
path Parameters
id required | string The reference ID of the webhook. |
query Parameters
include | string Comma-separated list of related resources to include in the response. Available resources: type, calls |
Responses
Response samples
- 200
{- "id": "ABC123DEF5",
- "user_webhook_type_key": "Order.created",
- "secret": "mysecretkey",
- "signature_header": "signature",
- "is_active": true,
- "created_at": "2023-01-01T00:00:00",
- "updated_at": "2023-01-02T00:00:00"
}
Update a webhook
Updates the specified webhook with the provided information.
Authorizations:
path Parameters
id required | string webhook reference |
Request Body schema: application/x-www-form-urlencodedrequired
url required | string <url> URL for the webhook. |
secret | string Secret for the webhook, used to hash the payload with the SHA-256 algorithm to create the signature in webhook calls. |
signature_header | string Signature header for the webhook, used to identify the webhook signature in the request header. |
is_active | boolean Whether the webhook is active. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "id": 1,
- "is_active": true,
- "secret": "webhookSecret123",
- "signature_header": "X-Webhook-Signature",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Bulk Update webhook with same URL
Updates the specified webhooks for the given URL with the provided information.
Authorizations:
Request Body schema: application/x-www-form-urlencodedrequired
url required | string <url> URL for the webhooks. |
secret | string Secret for the webhooks, used to hash the payload with the SHA-256 algorithm to create the signature in webhook calls. |
signature_header | string Signature header for the webhooks, used to identify the webhook signature in the request header. |
is_active | boolean Whether the updated webhooks are active. |
drop_unlisted | boolean Remove all webhooks for this URL, which are not part of the listed types. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "data": [
- {
- "id": 1,
- "is_active": true,
- "secret": "webhookSecret123",
- "signature_header": "X-Webhook-Signature",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Test a webook
Test a webhook for a given resource.
Authorizations:
path Parameters
id required | string Reference of the webhook to delete. |
Request Body schema: application/x-www-form-urlencodedrequired
resource_id required | string Reference of the resource used to create thhe test webhook. |
Responses
Get all User Webhook Types
Retrieve a list of all available User Webhook Types
Authorizations:
Responses
Response samples
- 200
[- {
- "id": 0,
- "key": "string",
- "resource": "Order",
- "action": "created",
- "max_tries": "5",
- "name": "Order created",
- "description": "Triggered when a new Order was created."
}
]
Endpoints in this section control data about integrations to 3rd party applications for fullfilments. Integrations may only be updated or deleted via API while the initial installation of integrations is performed in the user dashboard
Get UserIntegration
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: fulfillmentPolicy, regions, defaultStock
Authorizations:
Request Body schema: application/json
syncs | integer Includes current product states |
Responses
Request samples
- Payload
{- "syncs": 0
}
Response samples
- 200
{- "id": 111,
- "app": "shopify",
- "name": "my-cool-shirtstore.myshopify.com",
- "reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
- "expires_in": "2018-01-01 12:34:56",
- "sales_channel": "Storefront",
- "image_type": "png",
- "image_quality": "high",
- "fulfillment_mode_key": "24h-express",
- "is_token_revoked": true,
- "is_pull_orders": true,
- "is_auto_pull_orders": "true",
- "default_first_packin_reference": "ABC123",
- "default_second_packin_reference": "ABC123",
- "default_hangtag_reference": "ABC123",
- "default_imprint_reference": "ABC123",
- "default_label_reference": "ABC123",
- "default_product_packaging_reference": "ABC123",
- "default_order_packaging_reference": "ABC123",
- "default_sticker_reference": "ABC123",
- "add_delivery_receipt": true,
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "default_delivery_receipt_logo_reference": "ABC123",
- "use_custom_product_name": true,
- "is_auto_onhold": true,
- "is_refresh_token_expired": false
}
Update UserIntegration
Update settings for a single user integration.
The endpoint returns the updated integration.
Authorizations:
Request Body schema: application/json
is_auto_onhold | boolean Indicates if order is automatically pushed to production (default = false) |
is_auto_pull_orders | boolean Indicates if orders will be pulled and processed by Cockpit automatically (default = false) |
default_first_packin_reference | string Default first packin added to orders received via this intergrations (optional) |
default_second_packin_reference | string Default second packin added to orders received via this intergrations (optional) |
default_hangtag_reference | string Default hangtag added to all textil products of orders received via this intergrations (optional) |
default_imprint_reference | string Default imprinted added to all tagless textil products of orders received via this intergrations (optional) |
default_label_reference | string Default label added to all textil products of orders received via this intergrations (optional) |
default_product_packaging_reference | string Default packaging used for all textil products of orders received via this intergrations (optional) |
default_order_packaging_reference | string Default packging used for all orders received via this intergrations (optional) |
default_sticker_reference | string Default sticker applied to packaging of orders received via this intergrations (optional) |
add_delivery_receipt | boolean Indicates if delivery receipt is added to orders received via this intergrations |
delivery_receipt_note | string Custom note on delivery receipt |
use_custom_product_name | boolean Indicates if custom product name is used on delivery receipt |
default_product_inventory | integer Default stock-inventory for UserIntegration (Optional) |
sales_channel | string UserIntegration sales channel |
fulfillment_mode_key | string Key of the fulfillment mode to be used if available for orders with this integration |
Array of objects Fulfillment-Policy | |
Array of objects Declaration of regions a packet will be sent to |
Responses
Request samples
- Payload
{- "is_auto_onhold": true,
- "is_auto_pull_orders": true,
- "default_first_packin_reference": "ABC123",
- "default_second_packin_reference": "ABC123",
- "default_hangtag_reference": "ABC123",
- "default_imprint_reference": "ABC123",
- "default_label_reference": "ABC123",
- "default_product_packaging_reference": "ABC123",
- "default_order_packaging_reference": "ABC123",
- "default_sticker_reference": "ABC123",
- "add_delivery_receipt": true,
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "use_custom_product_name": true,
- "default_product_inventory": "5",
- "sales_channel": "Storefront",
- "fulfillment_mode_key": "24h-express",
- "fulfillmentPolicy": [
- {
- "national_shipping_cost": "2.00",
- "international_shipping_cost": "2.00",
- "international_additional_shipping_cost": "2.00",
- "handling_time": "5"
}
], - "regions": [
- {
- "region_included": "Worldwide"
}
]
}
Delete UserIntegration
Uninstall this integration from your 3rd party store and delete the integration. IMPORTANT: all synchronized products will be deleted as well in the 3rd party store.
Authorizations:
path Parameters
design-reference required | string Example: 9e7aba40-3bce-4639-9caa-9a9a0397cbff Unique design identifier |
Responses
Get UserIntegration
Some of the listed resources are available as optional includes (add to the query ?include=firstInclude,secondInclude.subInclude). The available includes for this endpoint are: colors, base_product, active_integration_syncs, integration_sync_log, integration_products, projectProductColors
Authorizations:
Request Body schema: application/json
syncs | integer Includes current product states |
Responses
Request samples
- Payload
{- "syncs": 0
}
Response samples
- 200
{- "id": 111,
- "app": "shopify",
- "name": "my-cool-shirtstore.myshopify.com",
- "reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
- "expires_in": "2018-01-01 12:34:56",
- "sales_channel": "Storefront",
- "image_type": "png",
- "image_quality": "high",
- "fulfillment_mode_key": "24h-express",
- "is_token_revoked": true,
- "is_pull_orders": true,
- "is_auto_pull_orders": "true",
- "default_first_packin_reference": "ABC123",
- "default_second_packin_reference": "ABC123",
- "default_hangtag_reference": "ABC123",
- "default_imprint_reference": "ABC123",
- "default_label_reference": "ABC123",
- "default_product_packaging_reference": "ABC123",
- "default_order_packaging_reference": "ABC123",
- "default_sticker_reference": "ABC123",
- "add_delivery_receipt": true,
- "delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
- "default_delivery_receipt_logo_reference": "ABC123",
- "use_custom_product_name": true,
- "is_auto_onhold": true,
- "is_refresh_token_expired": false
}
Calculate production cost
Calculate the net production cost for a given product, set of print areas and color information. The VAT rate rate is preliminary, the final rate depends on the shipping target, involvement of business customers and other factors.
Authorizations:
Request Body schema: application/json
is_colored | boolean Is this a color print? |
printareas | Array of integers Desired print areas |
product_id | integer Desired base product |
Responses
Request samples
- Payload
{- "is_colored": true,
- "printareas": [
- 0
], - "product_id": 375
}
Response samples
- 200
{- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100,
- "vat_rate": 19
}
Get delivery targets
Retrieve a list of valid delivery target countries. The result is presented as associative array: The array keys consist of upper-case two-letter country codes, the corresponding values are the human readable country names.
Authorizations:
Responses
Response samples
- 200
{- "data": [
- {
- "iso": "DE",
- "name": "Germany"
}
]
}
Get selling statistics
Retrieve statistics about the current user's sales. This endpoint reports the number of sales and the total net amount for four different reporting periods: Last 24 hours, last 7 days, last 30 days and total.
Authorizations:
Responses
Response samples
- 200
{- "total": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "month": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "week": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "today": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "total_amount": 36,
- "month_amount": 14,
- "week_amount": 3,
- "today_amount": 1
}
Get order statistics
Retrieve statistics about the current user's order status distribution. This endpoint reports the number of open orders (non-shipped, non-canceled) per status (open, preparation, production, clarification)
Authorizations:
Responses
Response samples
- 200
{- "n_open_orders": 14,
- "n_preparation_orders": 234,
- "n_production_orders": 122,
- "n_clarification_orders": 7
}
Get all fulfillment_modes
Retrieve a list of available fulfillment_modes, which are available to authenticated user.
Authorizations:
Responses
Response samples
- 200
{- "data": [
- {
- "key": "24h-express",
- "name": "24h Express",
- "description": "The order is produced and handed to the carrier within 24h",
- "is_per_order": "true",
- "price_net": {
- "amount": 999,
- "currency_symbol": "€",
- "currency_code": "EUR",
- "currency_factor": 100
}, - "fulfillment_days": "1",
- "sort_weight": "22"
}
]
}