DevelopersAPI reference

Decoration API

REST endpoints for decoration in SKUFlow: 9 operations with parameters, request and response fields, permissions and curl examples.

Base URL: https://app.skuflow.ai/api. Every call needs Authorization: Bearer skf_… (Authentication); {organizationId} ($ORGANIZATION_ID in the examples) is your business's id.

OperationEndpointRisk
List decoration methodsGET /organizations/{organizationId}/decoration-methodsread
Create a decoration methodPOST /organizations/{organizationId}/decoration-methodswrite
Get a decoration methodGET /organizations/{organizationId}/decoration-methods/{methodId}read
Update a decoration methodPATCH /organizations/{organizationId}/decoration-methods/{methodId}write
Delete a decoration methodDELETE /organizations/{organizationId}/decoration-methods/{methodId}sensitive
The starting price table of a method typeGET /organizations/{organizationId}/decoration-method-defaultsread
Price one decoration locationGET /organizations/{organizationId}/decoration-methods/{methodId}/priceread
The online designer's settingsGET /organizations/{organizationId}/design-studioread
Change the online designerPATCH /organizations/{organizationId}/design-studiosensitive

List decoration methods

GET /organizations/{organizationId}/decoration-methods

The business's decoration methods with their price tables (a new business starts with screen print, embroidery, DTF, DTG, vinyl, sublimation, laser engraving, pad print and large format, seeded on first read). Filter by type; inactive ones only with includeInactive. Read-only.

Permissiondecoration.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP tooldecorationMethods_list (toolset decoration)

Parameters

NameInTypeRequiredDescription
typequeryenumNoSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
includeInactivequeryboolean or enumNo

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields

An array of objects:

FieldTypeDescription
idstring
typeenumSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestring
descriptionstring or null
activeboolean
sortOrderinteger
fulfillmentenumIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or null
vendorobject or null
vendor.idstring
vendor.namestring
decoratorNamestring or nullOutsourced: the decorator.
pricinganyThe price table (see pricing on create).
costTableanyOur cost in the same shape (the decorator's price list when outsourced). Present only for roles with costing.read.
turnaroundDaysinteger or null
createdAtstring (date-time)
updatedAtstring (date-time)

Create a decoration method

POST /organizations/{organizationId}/decoration-methods

Adds a method with its price table (default: the type's starting table). Outsourced methods need decoratorName or vendorId; their costTable is the decorator's price list. Quotes already priced keep their prices.

Permissiondecoration.manage (Owner, Admin)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP tooldecorationMethods_create (toolset decoration)

Request body

FieldTypeRequiredDescription
typeenumYesSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestringYesUp to 120 characters.
descriptionstring or nullNoUp to 2000 characters.
activebooleanNoInactive methods are not offered on new designs.
sortOrderintegerNo0–10000.
fulfillmentenumNoIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or nullNoOutsourced: the vendor (GET /vendors) that decorates.
decoratorNamestring or nullNoOutsourced: the decorator's name (required without a vendor). Up to 200 characters.
pricingobjectNoDefault: the method type's starting table.
pricing.basisenumYesOne of COLORS, STITCHES, SIZE_BAND, SQUARE_INCH, SQUARE_FOOT, PER_PIECE.
pricing.columnsarray of objectYesUp to 30 items.
pricing.columns[].keystringYesA stable key, e.g. "2", "8k", "12x12". Up to 40 characters.
pricing.columns[].labelstringYesWhat the column reads: "2 colours", "≤ 8,000". Up to 80 characters.
pricing.columns[].maxnumber or nullNoColors: the most ink colours; STITCHES: the most stitches in the band. At most 10000000.
pricing.columns[].maxWidthInnumber or nullNoSIZE_BAND: the widest print. At most 1000.
pricing.columns[].maxHeightInnumber or nullNoSIZE_BAND: the tallest print. At most 1000.
pricing.breaksarray of objectYesUp to 30 items.
pricing.breaks[].minQuantityintegerYesThe row applies from this many pieces (the order's quantity of the design). 1–10000000.
pricing.breaks[].cellsarray of numberYesPrice per piece per column, in cents (SQUARE_INCH / SQUARE_FOOT: cents per square inch / foot, fractions allowed). Up to 30 items.
pricing.feesobjectNoDefault {}.
pricing.fees.setupPerColorCentsinteger or nullNoScreens or plates: per ink colour, per location, once per order. 0–10000000.
pricing.fees.setupPerLocationCentsinteger or nullNoSet-up per location, once per order. 0–10000000.
pricing.fees.digitizingCentsinteger or nullNoEmbroidery digitizing, once per design location (not charged when already digitized). 0–10000000.
pricing.fees.artCentsinteger or nullNoArt service (redraw, clean-up, separations), when asked for. 0–10000000.
pricing.fees.designLayoutCentsinteger or nullNoLarge format design / layout fee, once per design. 0–10000000.
pricing.fees.minimumCentsinteger or nullNoLeast a location's decoration costs on an order; the difference is added as a fee. 0–10000000.
pricing.surchargesobjectNoDefault {}.
pricing.surcharges.underbaseenum or nullNoDark garments: NONE, EXTRA_COLOR (the white underbase counts as one more colour and screen) or PER_UNIT (underbaseCents a piece). One of NONE, EXTRA_COLOR, PER_UNIT.
pricing.surcharges.underbaseCentsinteger or nullNo0–10000000.
pricing.surcharges.darkGarmentCentsinteger or nullNoPer piece on dark colours (DTG pretreatment, white ink). 0–10000000.
pricing.surcharges.puffCentsinteger or nullNoEmbroidery 3D puff, per piece. 0–10000000.
pricing.surcharges.extraPerThousandStitchesCentsinteger or nullNoEmbroidery beyond the last stitch band, per 1,000 stitches per piece. 0–10000000.
pricing.surcharges.doubleSidedPercentnumber or nullNoLarge format: printing both sides adds this percent of the printed piece. 0–500.
costTableobject or nullNoOur cost per piece and fees in the same shape; null removes it (decoration cost then counts as 0).
costTable.basisenumYesOne of COLORS, STITCHES, SIZE_BAND, SQUARE_INCH, SQUARE_FOOT, PER_PIECE.
costTable.columnsarray of objectYesUp to 30 items.
costTable.columns[].keystringYesA stable key, e.g. "2", "8k", "12x12". Up to 40 characters.
costTable.columns[].labelstringYesWhat the column reads: "2 colours", "≤ 8,000". Up to 80 characters.
costTable.columns[].maxnumber or nullNoColors: the most ink colours; STITCHES: the most stitches in the band. At most 10000000.
costTable.columns[].maxWidthInnumber or nullNoSIZE_BAND: the widest print. At most 1000.
costTable.columns[].maxHeightInnumber or nullNoSIZE_BAND: the tallest print. At most 1000.
costTable.breaksarray of objectYesUp to 30 items.
costTable.breaks[].minQuantityintegerYesThe row applies from this many pieces (the order's quantity of the design). 1–10000000.
costTable.breaks[].cellsarray of numberYesPrice per piece per column, in cents (SQUARE_INCH / SQUARE_FOOT: cents per square inch / foot, fractions allowed). Up to 30 items.
costTable.feesobjectNoDefault {}.
costTable.fees.setupPerColorCentsinteger or nullNoScreens or plates: per ink colour, per location, once per order. 0–10000000.
costTable.fees.setupPerLocationCentsinteger or nullNoSet-up per location, once per order. 0–10000000.
costTable.fees.digitizingCentsinteger or nullNoEmbroidery digitizing, once per design location (not charged when already digitized). 0–10000000.
costTable.fees.artCentsinteger or nullNoArt service (redraw, clean-up, separations), when asked for. 0–10000000.
costTable.fees.designLayoutCentsinteger or nullNoLarge format design / layout fee, once per design. 0–10000000.
costTable.fees.minimumCentsinteger or nullNoLeast a location's decoration costs on an order; the difference is added as a fee. 0–10000000.
costTable.surchargesobjectNoDefault {}.
costTable.surcharges.underbaseenum or nullNoDark garments: NONE, EXTRA_COLOR (the white underbase counts as one more colour and screen) or PER_UNIT (underbaseCents a piece). One of NONE, EXTRA_COLOR, PER_UNIT.
costTable.surcharges.underbaseCentsinteger or nullNo0–10000000.
costTable.surcharges.darkGarmentCentsinteger or nullNoPer piece on dark colours (DTG pretreatment, white ink). 0–10000000.
costTable.surcharges.puffCentsinteger or nullNoEmbroidery 3D puff, per piece. 0–10000000.
costTable.surcharges.extraPerThousandStitchesCentsinteger or nullNoEmbroidery beyond the last stitch band, per 1,000 stitches per piece. 0–10000000.
costTable.surcharges.doubleSidedPercentnumber or nullNoLarge format: printing both sides adds this percent of the printed piece. 0–500.
turnaroundDaysinteger or nullNo0–365.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"SCREEN_PRINT","name":"Dana Whitfield"}'

Response

201: the answer's fields
FieldTypeDescription
idstring
typeenumSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestring
descriptionstring or null
activeboolean
sortOrderinteger
fulfillmentenumIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or null
vendorobject or null
vendor.idstring
vendor.namestring
decoratorNamestring or nullOutsourced: the decorator.
pricinganyThe price table (see pricing on create).
costTableanyOur cost in the same shape (the decorator's price list when outsourced). Present only for roles with costing.read.
turnaroundDaysinteger or null
createdAtstring (date-time)
updatedAtstring (date-time)

Get a decoration method

GET /organizations/{organizationId}/decoration-methods/{methodId}

One method with its price table, fees, surcharges and (with costing.read) cost table. Read-only.

Permissiondecoration.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP tooldecorationMethods_get (toolset decoration)

Parameters

NameInTypeRequiredDescription
methodIdpathstringYes

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods/{methodId}" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstring
typeenumSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestring
descriptionstring or null
activeboolean
sortOrderinteger
fulfillmentenumIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or null
vendorobject or null
vendor.idstring
vendor.namestring
decoratorNamestring or nullOutsourced: the decorator.
pricinganyThe price table (see pricing on create).
costTableanyOur cost in the same shape (the decorator's price list when outsourced). Present only for roles with costing.read.
turnaroundDaysinteger or null
createdAtstring (date-time)
updatedAtstring (date-time)

Update a decoration method

PATCH /organizations/{organizationId}/decoration-methods/{methodId}

Changes the fields sent (a table replaces the whole table). New quote lines and re-priced ones use it; saved quotes keep their snapshot.

Permissiondecoration.manage (Owner, Admin)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP tooldecorationMethods_update (toolset decoration)

Parameters

NameInTypeRequiredDescription
methodIdpathstringYes

Request body

FieldTypeRequiredDescription
typeenumNoSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestringNoUp to 120 characters.
descriptionstring or nullNoUp to 2000 characters.
activebooleanNoInactive methods are not offered on new designs.
sortOrderintegerNo0–10000.
fulfillmentenumNoIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or nullNoOutsourced: the vendor (GET /vendors) that decorates.
decoratorNamestring or nullNoOutsourced: the decorator's name (required without a vendor). Up to 200 characters.
pricingobjectNoDefault: the method type's starting table.
pricing.basisenumYesOne of COLORS, STITCHES, SIZE_BAND, SQUARE_INCH, SQUARE_FOOT, PER_PIECE.
pricing.columnsarray of objectYesUp to 30 items.
pricing.columns[].keystringYesA stable key, e.g. "2", "8k", "12x12". Up to 40 characters.
pricing.columns[].labelstringYesWhat the column reads: "2 colours", "≤ 8,000". Up to 80 characters.
pricing.columns[].maxnumber or nullNoColors: the most ink colours; STITCHES: the most stitches in the band. At most 10000000.
pricing.columns[].maxWidthInnumber or nullNoSIZE_BAND: the widest print. At most 1000.
pricing.columns[].maxHeightInnumber or nullNoSIZE_BAND: the tallest print. At most 1000.
pricing.breaksarray of objectYesUp to 30 items.
pricing.breaks[].minQuantityintegerYesThe row applies from this many pieces (the order's quantity of the design). 1–10000000.
pricing.breaks[].cellsarray of numberYesPrice per piece per column, in cents (SQUARE_INCH / SQUARE_FOOT: cents per square inch / foot, fractions allowed). Up to 30 items.
pricing.feesobjectNoDefault {}.
pricing.fees.setupPerColorCentsinteger or nullNoScreens or plates: per ink colour, per location, once per order. 0–10000000.
pricing.fees.setupPerLocationCentsinteger or nullNoSet-up per location, once per order. 0–10000000.
pricing.fees.digitizingCentsinteger or nullNoEmbroidery digitizing, once per design location (not charged when already digitized). 0–10000000.
pricing.fees.artCentsinteger or nullNoArt service (redraw, clean-up, separations), when asked for. 0–10000000.
pricing.fees.designLayoutCentsinteger or nullNoLarge format design / layout fee, once per design. 0–10000000.
pricing.fees.minimumCentsinteger or nullNoLeast a location's decoration costs on an order; the difference is added as a fee. 0–10000000.
pricing.surchargesobjectNoDefault {}.
pricing.surcharges.underbaseenum or nullNoDark garments: NONE, EXTRA_COLOR (the white underbase counts as one more colour and screen) or PER_UNIT (underbaseCents a piece). One of NONE, EXTRA_COLOR, PER_UNIT.
pricing.surcharges.underbaseCentsinteger or nullNo0–10000000.
pricing.surcharges.darkGarmentCentsinteger or nullNoPer piece on dark colours (DTG pretreatment, white ink). 0–10000000.
pricing.surcharges.puffCentsinteger or nullNoEmbroidery 3D puff, per piece. 0–10000000.
pricing.surcharges.extraPerThousandStitchesCentsinteger or nullNoEmbroidery beyond the last stitch band, per 1,000 stitches per piece. 0–10000000.
pricing.surcharges.doubleSidedPercentnumber or nullNoLarge format: printing both sides adds this percent of the printed piece. 0–500.
costTableobject or nullNoOur cost per piece and fees in the same shape; null removes it (decoration cost then counts as 0).
costTable.basisenumYesOne of COLORS, STITCHES, SIZE_BAND, SQUARE_INCH, SQUARE_FOOT, PER_PIECE.
costTable.columnsarray of objectYesUp to 30 items.
costTable.columns[].keystringYesA stable key, e.g. "2", "8k", "12x12". Up to 40 characters.
costTable.columns[].labelstringYesWhat the column reads: "2 colours", "≤ 8,000". Up to 80 characters.
costTable.columns[].maxnumber or nullNoColors: the most ink colours; STITCHES: the most stitches in the band. At most 10000000.
costTable.columns[].maxWidthInnumber or nullNoSIZE_BAND: the widest print. At most 1000.
costTable.columns[].maxHeightInnumber or nullNoSIZE_BAND: the tallest print. At most 1000.
costTable.breaksarray of objectYesUp to 30 items.
costTable.breaks[].minQuantityintegerYesThe row applies from this many pieces (the order's quantity of the design). 1–10000000.
costTable.breaks[].cellsarray of numberYesPrice per piece per column, in cents (SQUARE_INCH / SQUARE_FOOT: cents per square inch / foot, fractions allowed). Up to 30 items.
costTable.feesobjectNoDefault {}.
costTable.fees.setupPerColorCentsinteger or nullNoScreens or plates: per ink colour, per location, once per order. 0–10000000.
costTable.fees.setupPerLocationCentsinteger or nullNoSet-up per location, once per order. 0–10000000.
costTable.fees.digitizingCentsinteger or nullNoEmbroidery digitizing, once per design location (not charged when already digitized). 0–10000000.
costTable.fees.artCentsinteger or nullNoArt service (redraw, clean-up, separations), when asked for. 0–10000000.
costTable.fees.designLayoutCentsinteger or nullNoLarge format design / layout fee, once per design. 0–10000000.
costTable.fees.minimumCentsinteger or nullNoLeast a location's decoration costs on an order; the difference is added as a fee. 0–10000000.
costTable.surchargesobjectNoDefault {}.
costTable.surcharges.underbaseenum or nullNoDark garments: NONE, EXTRA_COLOR (the white underbase counts as one more colour and screen) or PER_UNIT (underbaseCents a piece). One of NONE, EXTRA_COLOR, PER_UNIT.
costTable.surcharges.underbaseCentsinteger or nullNo0–10000000.
costTable.surcharges.darkGarmentCentsinteger or nullNoPer piece on dark colours (DTG pretreatment, white ink). 0–10000000.
costTable.surcharges.puffCentsinteger or nullNoEmbroidery 3D puff, per piece. 0–10000000.
costTable.surcharges.extraPerThousandStitchesCentsinteger or nullNoEmbroidery beyond the last stitch band, per 1,000 stitches per piece. 0–10000000.
costTable.surcharges.doubleSidedPercentnumber or nullNoLarge format: printing both sides adds this percent of the printed piece. 0–500.
turnaroundDaysinteger or nullNo0–365.

Example

curl -X PATCH "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods/{methodId}" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"SCREEN_PRINT","name":"Dana Whitfield","description":"string"}'

Response

200: the answer's fields
FieldTypeDescription
idstring
typeenumSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
namestring
descriptionstring or null
activeboolean
sortOrderinteger
fulfillmentenumIN_HOUSE, or OUTSOURCED to a decorator (its price list is the cost table). One of IN_HOUSE, OUTSOURCED.
vendorIdstring or null
vendorobject or null
vendor.idstring
vendor.namestring
decoratorNamestring or nullOutsourced: the decorator.
pricinganyThe price table (see pricing on create).
costTableanyOur cost in the same shape (the decorator's price list when outsourced). Present only for roles with costing.read.
turnaroundDaysinteger or null
createdAtstring (date-time)
updatedAtstring (date-time)

Delete a decoration method

DELETE /organizations/{organizationId}/decoration-methods/{methodId}

Destructive: deletes the method. Design placements that used it ask for a method again; saved quotes keep their prices. Prefer active: false.

Permissiondecoration.manage (Owner, Admin)
Risksensitive, OAuth scope skuflow.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access.
MCP tooldecorationMethods_delete (toolset decoration)
ApprovalOver MCP, this tool always waits for your approval in SKUFlow. See Approvals.

Parameters

NameInTypeRequiredDescription
methodIdpathstringYes

Example

curl -X DELETE "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods/{methodId}" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
oktrue

The starting price table of a method type

GET /organizations/{organizationId}/decoration-method-defaults

The table a new method of this type starts from (typical prices to edit). Read-only.

Permissiondecoration.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP tooldecorationMethods_defaultTable (toolset decoration)

Parameters

NameInTypeRequiredDescription
typequeryenumYesSCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER (vinyl), SUBLIMATION, LASER (engraving), PAD_PRINT (promo), UV_PRINT or LARGE_FORMAT_PRINT. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-method-defaults?type=SCREEN_PRINT" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields

A value of type any.

Price one decoration location

GET /organizations/{organizationId}/decoration-methods/{methodId}/price

What one location costs with this method at a quantity: per piece (with the column and quantity break used, surcharges), the location's total and its one-time fees (screens, digitizing, minimum). dark prices a dark garment (underbase, DTG surcharge); the option flags match a placement's options. Read-only.

Permissiondecoration.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP tooldecorationMethods_price (toolset decoration)

Parameters

NameInTypeRequiredDescription
methodIdpathstringYes
quantityqueryintegerYes1–1000000.
darkqueryboolean or enumNoA dark garment colour.
inkColorsqueryintegerNo1–30.
stitchCountqueryintegerNo0–1000000.
sizeBandKeyquerystringNoUp to 40 characters.
printWidthInquerynumberNoAt most 10000.
printHeightInquerynumberNoAt most 10000.
underbasequeryboolean or enumNoForce the underbase on or off (default: on dark colours).
puffqueryboolean or enumNo
alreadyDigitizedqueryboolean or enumNo
artServicequeryboolean or enumNo
doubleSidedqueryboolean or enumNo
setupWaivedqueryboolean or enumNo

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/decoration-methods/{methodId}/price?quantity=1" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
unitCentsintegerPrice per piece.
columnLabelstring
breakMinQuantityinteger
totalCentsinteger
feesarray of object
fees[].keystring{placementKey}:{kind}: name it in waivedFees to leave it off.
fees[].kindenumOne of setup, digitizing, art, layout, minimum.
fees[].labelstring
fees[].amountCentsinteger
fees[].costCentsanyOur cost of the fee. Present only for roles with costing.read.
fees[].costKnownanyFalse when the method has no cost table (the fee's cost counts as 0). Present only for roles with costing.read.
feesCentsinteger
problemsarray of string
costCentsanyOur cost per piece. Present only for roles with costing.read.

The online designer's settings

GET /organizations/{organizationId}/design-studio

Whether the online designer (/design/{slug}) is on, the products and decoration methods it offers, whether visitors can add text, clipart and their own art, and the least pieces a design is sent with. Read-only.

Permissiondecoration.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP tooldesignStudio_get (toolset decoration)

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/design-studio" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
enabledboolean
headlinestring or null
introstring or null
productIdsarray of stringThe catalog products visitors can design, in order.
methodIdsarray of stringThe decoration methods visitors can choose; the first that suits an area is its default.
allowTextboolean
allowClipartboolean
allowUploadsboolean
minQuantityinteger
slugstring
pathstringThe public page: /design/{slug} on the app.
clipartCountintegerSKUFlow's built-in clipart shapes.
businessClipartCountintegerThe business's own artwork tagged "clipart" (offered too).

Change the online designer

PATCH /organizations/{organizationId}/design-studio

Customer-visible: switching it on publishes /design/{slug}, where anyone can design one of productIds with one of methodIds and send it as a request. Needs at least one product (garments and promo goods; not large format) and one method to switch on. Products and methods: GET /products, GET /decoration-methods.

Permissiondecoration.manage (Owner, Admin)
Risksensitive, OAuth scope skuflow.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access.
MCP tooldesignStudio_update (toolset decoration)
ApprovalOver MCP, this tool asks for your OK first (in the AI app when it supports it, otherwise in SKUFlow). See Approvals.

Request body

FieldTypeRequiredDescription
enabledbooleanNo
headlinestring or nullNoUp to 200 characters.
introstring or nullNoUp to 2000 characters.
productIdsarray of stringNoUp to 60 items.
methodIdsarray of stringNoUp to 12 items.
allowTextbooleanNo
allowClipartbooleanNo
allowUploadsbooleanNo
minQuantityintegerNo1–10000.

Example

curl -X PATCH "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/design-studio" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true,"headline":"string","intro":"string"}'

Response

200: the answer's fields
FieldTypeDescription
enabledboolean
headlinestring or null
introstring or null
productIdsarray of stringThe catalog products visitors can design, in order.
methodIdsarray of stringThe decoration methods visitors can choose; the first that suits an area is its default.
allowTextboolean
allowClipartboolean
allowUploadsboolean
minQuantityinteger
slugstring
pathstringThe public page: /design/{slug} on the app.
clipartCountintegerSKUFlow's built-in clipart shapes.
businessClipartCountintegerThe business's own artwork tagged "clipart" (offered too).

On this page