Resources
The Shirtplatform API is a comprehensive REST service for viewing the product and motive catalog, other shop resources, and making and completing orders for our printing and fulfillment services.
Account
The resource lets you retrieve information about the account but doesn't let you update any information. Only the merchant can update this information from inside the Shirtplatform admin.
Authentication
Private resources are secured with the HTTP Basic Auth mechanism.
Carrier
Using the Carrier resource, you can add a carrier to an order and then get a list of applicable shipping rates at checkout.
This read-only resource lists the carriers configured on your account. Carriers
are account-scoped: the {shopId} path segment is required by the URL
template but does not narrow the result — every shop of the account sees the same
carriers.
/accounts/{accountId}/shops/{shopId}/carriers
·
Get a list of carriers for your account
GET
/accounts/{accountId}/shops/{shopId}/carriers/{carrierId}
·
Get a single carrier by its id
GET
/accounts/{accountId}/shops/{shopId}/carriers/expanded
·
Get a list of carriers for your account, expanded
GET
/accounts/{accountId}/shops/{shopId}/carriers/expanded/{carrierId}
·
Get a single carrier by its id, expanded
Country
Creator
<script> tag) that the host page injects, together with the
preloader script URL. All start-up state is supplied through the query parameters below and is
baked into the returned snippet. Inject the returned HTML into a sized container on your page,
then drive the widget through its JavaScript API and receive the persisted ordered-product ids
via the addToBasketCallback you name here.
This endpoint is a thin proxy to the Creator widget service, which hosts the widget, preloader and design assets. It is a legacy but functional integration path; other integration methods exist and are documented separately through shirtplatform support.
DesignedProduct
Filter
Create a filter via POST /rest/filters with a JSON or XML body describing
the target entity, expressions, and sort order. The returned filterId can then
be passed as a query parameter to any list endpoint that supports filtering.
Filters are scoped to the authenticated user and deduplicated by content digest.
Motive
Motives are the basic visual building blocks of designs. Users can choose motives from the platform library or upload their own. Each motive can have localizations for different languages, and its image can be retrieved in various sizes and formats.
/accounts/{accountId}/shops/{shopId}/motives
·
Create a new motive
GET
/accounts/{accountId}/shops/{shopId}/motives
·
List all motives for the shop
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}
·
Get a single motive by its id
PUT
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}
·
Update an existing motive
DELETE
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}
·
Delete a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/allCustomizable
·
List all customizable motives for the shop
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/assignedCategories
·
List all category assignments for a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/image
·
Get the rendered image of a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/localizations
·
List all localizations for a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/tags
·
List all tags assigned to a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/technologies
·
List all print technologies for a motive
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/assignedCategories/{assignedCategoryId}
·
Get a single category assignment by its id
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/localizations/{localizationId}
·
Get a single motive localization by its id
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/tags/{tagId}
·
Get a single motive tag by its id
GET
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/technologies/{motivePrintTechnologyId}
·
Get a single motive print technology by its id
POST
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/assignedCategories
·
Create a new category assignment for a motive
POST
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/bitmap
·
Upload a bitmap image for a motive
POST
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/localizations
·
Create a new motive localization
POST
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/technologies
·
Create a new motive print technology
DELETE
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/localizations/{localizationId}
·
Delete a motive localization
PUT
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/localizations/{localizationId}
·
Update a motive localization
PUT
/accounts/{accountId}/shops/{shopId}/motives/{motiveId}/tags/{tagId}
·
Assign a tag to a motive
Order
Orders can be created through the API, but no payment information will be collected, and no transaction performed. You can mark the order with any payment status.
/accounts/{accountId}/shops/{shopId}/orders
·
Create a new order
GET
/accounts/{accountId}/shops/{shopId}/orders
·
Get a list of all orders for your shop
GET
/accounts/{accountId}/shops/{shopId}/orders/{orderId}
·
Get a single order by its id
PUT
/accounts/{accountId}/shops/{shopId}/orders/{orderId}
·
Update the uniqueId of an order
DELETE
/accounts/{accountId}/shops/{shopId}/orders/{orderId}
·
Delete the order by its id
GET
/accounts/{accountId}/shops/{shopId}/orders/expanded
·
Get a list of all orders (expanded) for your shop
GET
/accounts/{accountId}/shops/{shopId}/orders/session
·
Get the current session order
GET
/accounts/{accountId}/shops/{shopId}/orders/by-uniqueid/{uniqueId}
·
Get a single order by its custom uniqueId
GET
/accounts/{accountId}/shops/{shopId}/orders/expanded/{orderId}
·
Get a single order (expanded) by its id
GET
/accounts/{accountId}/shops/{shopId}/orders/expanded/by-uniqueid/{uniqueId}
·
Get a single order (expanded) by its custom uniqueId
POST
/accounts/{accountId}/shops/{shopId}/orders/session
·
Create an order and make it the current session order
POST
/accounts/{accountId}/shops/{shopId}/orders/usingCreatorSE
·
Create a new order in deferred processing mode using the CreatorSE
POST
/accounts/{accountId}/shops/{shopId}/orders/{destinationOrderId}/transferItems
·
Transfer ordered products from one order into another
PUT
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/associate
·
Make an existing order the current session order
DELETE
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/cancelOrder
·
Cancels an existing order for a specific account and shop
PUT
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/commitOrder
·
Commits an order for the given account and shop with an optional financial status
PUT
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/sendToProduction
·
Sends a committed order into the production and fulfilment pipeline
OrderCsvImport
/accounts/{accountId}/shops/{shopId}/orderCsvImport
·
Upload csv file for batch processing
GET
/accounts/{accountId}/shops/{shopId}/orderCsvImport
·
Get a list of uploaded csv import files
GET
/accounts/{accountId}/shops/{shopId}/orderCsvImport/{id}
·
Get a single csv import file by its id
GET
/accounts/{accountId}/shops/{shopId}/orderCsvImport/{id}/lines
·
Get a list of uploaded csv lines
OrderedProduct
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts
·
Get a list of items for your order
GET
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}
·
Get a single order item by its id
DELETE
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}
·
Delete the OrderedProduct by its id
GET
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}/changePrintTechnologyPreview
·
[For Testing Purposes] Get preview of ordered item after changing of print technology of all elements
GET
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}/image
·
Get image for your OrderedProduct
POST
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/usingCreatorSE
·
Create a new ordered product using CreatorSE
POST
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/usingBaseProduct/{productId}
·
Create a new ordered product using base product
POST
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/usingTemplateProduct/{designedTemplateProductId}
·
Save new ordered product using designedTemplate
PUT
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}/changePrintTechnology
·
[For Testing Purposes] Change print technology of all elements
POST
/accounts/{accountId}/shops/{shopId}/orders/{orderId}/orderedProducts/{orderedProductId}/share
·
Share ordered product
Product
All endpoints require the accountId and shopId path parameters to scope
operations to a specific shop within an account.
/accounts/{accountId}/shops/{shopId}/products
·
Create a new product in the specified shop
GET
/accounts/{accountId}/shops/{shopId}/products
·
List products in the shop
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}
·
Get a product by its ID
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}
·
Update an existing product's core properties such as name, description, active status,
and weight
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}
·
Delete a product and all its associated sub-resources (views, colors, sizes, SKUs,
prices, images, etc
GET
/accounts/{accountId}/shops/{shopId}/products/expanded
·
List products with all sub-resources expanded inline
(views, colors, sizes, SKUs, prices, etc
GET
/accounts/{accountId}/shops/{shopId}/products/expanded/{productId}
·
Get a product by its ID with all sub-resources expanded inline
(views, colors, sizes, SKUs, prices, localizations, print technologies, etc
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedAttributeListItems
·
List attribute list item assignments for a specific product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedCategories
·
List category assignments for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedColors
·
List color assignments for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedPrintTechnologies
·
List print technology assignments for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedSizes
·
List size assignments for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViewColors
·
List all view-color associations for a product across all views
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews
·
List view assignments for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/image
·
Get a rendered product preview image using the default view and color
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/localizations
·
List localizations for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/measurementImage
·
Get the measurement image for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/prices
·
List prices for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/sku
·
List SKUs (Stock Keeping Units) for a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedAttributeListItems/{assignedAttributeListItemId}
·
Get an attribute list item assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedCategories/{assignedCategoryId}
·
Get a category assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedColors/{assignedColorId}
·
Get a color assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedPrintTechnologies/{assignedPrintTechnologyId}
·
Get a print technology assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedSizes/{assignedSizeId}
·
Get a size assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViewColors/{assignedViewColorId}
·
Get a view-color association by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}
·
Get a view assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/localizations/{localizationId}
·
Get a product localization by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/prices/{priceId}
·
Get a price by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/printStyles/userMotives
·
Get the print style limits for user motives on a product
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/sku/{skuId}
·
Get a SKU by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/by-sku/{sku}/printStyles/userMotives
·
Get the print style limits for user motives by SKU string
instead of product ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/assignedColors
·
List view-color associations for a product view
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/assignedStickers
·
List sticker assignments for a product view
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/colisions
·
List collision zones for a product view
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/sourceSwf
·
Get the source SWF (Flash) file for a product view
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/assignedColors/{assignedColorId}
·
Get a view-color association by its view and color IDs
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/assignedStickers/{assignedStickerId}
·
Get a sticker assignment by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/colisions/{colisionId}
·
Get a collision zone by its ID
GET
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}/assignedColors/{assignedColorId}/image
·
Get a rendered product preview image for a specific view and color combination
DELETE
/accounts/{accountId}/shops/{shopId}/products/assignedCategories
·
Bulk-remove all category assignments from products matching the given filter in the shop
POST
/accounts/{accountId}/shops/{shopId}/products/assignedCategories
·
Bulk-assign a category to all products matching the given filter in the shop
POST
/accounts/{accountId}/shops/{shopId}/products/import/{importableProductId}
·
Import a shared product into the shop, making it available as a local product
POST
/accounts/{accountId}/shops/{shopId}/products/importOwn/{productId}
·
Import an own product into the specified shop
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedCategories
·
Assign a category to a product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedColors
·
Assign a color variant to a product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedPrintTechnologies
·
Assign a print technology to a product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedSizes
·
Assign a size variant to a product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews
·
Assign a view to a product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/duplicate
·
Duplicate an existing product
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/localizations
·
Create a new product localization for a specific language
POST
/accounts/{accountId}/shops/{shopId}/products/{productId}/prices
·
Create a new product price
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedCategories/{assignedCategoryId}
·
Remove a category assignment from a product
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedCategories/{assignedCategoryId}
·
Update a category assignment on a product, for example to change sort order
or reassign to a different category
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedColors/{assignedColorId}
·
Remove a color assignment from a product
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedColors/{assignedColorId}
·
Update a color assignment on a product
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedPrintTechnologies/{assignedPrintTechnologyId}
·
Remove a print technology assignment from a product
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedPrintTechnologies/{assignedPrintTechnologyId}
·
Update a print technology assignment on a product
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedSizes/{assignedSizeId}
·
Remove a size assignment from a product
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedSizes/{assignedSizeId}
·
Update a size assignment on a product, for example to change sort order or
size-specific attributes
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViewColors/{assignedViewColorId}
·
Update a view-color association record directly by its ID, for example to change
image offset or other view-color-specific properties
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}
·
Remove a view assignment from a product
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/assignedViews/{assignedViewId}
·
Update a view assignment on a product, for example to change print area dimensions,
coordinates, or sort order
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/localizations/{localizationId}
·
Delete a product localization, removing the translated content for that language
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/localizations/{localizationId}
·
Update a product localization
DELETE
/accounts/{accountId}/shops/{shopId}/products/{productId}/prices/{priceId}
·
Delete a product price
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/prices/{priceId}
·
Update a product price
PUT
/accounts/{accountId}/shops/{shopId}/products/{productId}/sku/{skuId}
·
Update a SKU (Stock Keeping Unit) for a product
ShippingModule
/accounts/{accountId}/shippingModules
·
Get a list of ShippingModules for your account
GET
/accounts/{accountId}/shippingModules/{moduleId}
·
Get a single shipping module by its id
GET
/accounts/{accountId}/shippingModules/{moduleId}/providers
·
Get a list of Shipping Providers for a Shipping Module
Shop
The resource lets you retrieve information about the store but doesn't let you update any information. Only the merchant can update this information from inside the Shirtplatform admin.
UserMotive
Unlike the shop's built-in motive catalog (the Motive resource), this library is scoped to the
calling customer. Entries are keyed by a customer key derived from the request: a temporary,
per-session library, or a permanent library identified by a customer key. An uploaded motive is
referenced by its returned id when it is placed in a design.
/accounts/{accountId}/shops/{shopId}/userMotives
·
List the motives in the customer's private library
GET
/accounts/{accountId}/shops/{shopId}/userMotives/{motiveId}
·
Get a single user motive by its id
DELETE
/accounts/{accountId}/shops/{shopId}/userMotives/{motiveId}
·
Delete a motive from the customer's private library
POST
/accounts/{accountId}/shops/{shopId}/userMotives/createFromData
·
Upload a motive to the customer's private library from a URL or inline data
POST
/accounts/{accountId}/shops/{shopId}/userMotives/createFromMultipartForm
·
Upload a motive to the customer's private library via a multipart form
Webhook
For example, you can rely on webhooks to trigger an action in your app when a customer creates a new order or shirtplatform fulfills an order.
By using webhooks subscriptions you can make fewer API calls overall, which makes sure that your apps are more efficient and update quickly.
/accounts/{accountId}/shops/{shopId}/webhooks
·
Create a new webhook subscription
GET
/accounts/{accountId}/shops/{shopId}/webhooks
·
Get a list of webhook subscriptions for your shop
GET
/accounts/{accountId}/shops/{shopId}/webhooks/{id}
·
Get a single webhook by its id
PUT
/accounts/{accountId}/shops/{shopId}/webhooks/{id}
·
Update a webhook subscription
DELETE
/accounts/{accountId}/shops/{shopId}/webhooks/{id}
·
Delete a webhook subscription
POST
/accounts/{accountId}/shops/{shopId}/webhooks/{id}/testOrderEvent/{orderId}
·
Test a webhook subscription by triggering its subscribed order event