DevelopersAPI reference

Orders API

REST endpoints for orders in SKUFlow: 19 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 ordersGET /organizations/{organizationId}/ordersread
Create an order by handPOST /organizations/{organizationId}/orderswrite
Get an orderGET /organizations/{organizationId}/orders/{orderId}read
Change an orderPATCH /organizations/{organizationId}/orders/{orderId}write
Delete an orderDELETE /organizations/{organizationId}/orders/{orderId}sensitive
Make an order from an approved quotePOST /organizations/{organizationId}/quotes/{quoteId}/orderwrite
Make an order from an invoicePOST /organizations/{organizationId}/invoices/{invoiceId}/orderwrite
Make an order from a store's batchPOST /organizations/{organizationId}/stores/{storeId}/orderwrite
Preview a store's production batchGET /organizations/{organizationId}/stores/{storeId}/order-batchread
Mark lines' goodsPOST /organizations/{organizationId}/orders/{orderId}/goodswrite
Start productionPOST /organizations/{organizationId}/orders/{orderId}/startwrite
Finish productionPOST /organizations/{organizationId}/orders/{orderId}/finishwrite
Mark an order shippedPOST /organizations/{organizationId}/orders/{orderId}/shipwrite
Complete an orderPOST /organizations/{organizationId}/orders/{orderId}/completewrite
Put an order on holdPOST /organizations/{organizationId}/orders/{orderId}/holdwrite
Resume an orderPOST /organizations/{organizationId}/orders/{orderId}/resumewrite
Cancel an orderPOST /organizations/{organizationId}/orders/{orderId}/cancelwrite
Preview buying for ordersGET /organizations/{organizationId}/orders/purchases/previewread
Buy blanks and decoration for ordersPOST /organizations/{organizationId}/orders/purchaseswrite

List orders

GET /organizations/{organizationId}/orders

Orders (ORD-n), rush first then by in-hands date. view: open (not shipped, completed or cancelled), late (open and past due) or all; or one status; filter by customer, quote, invoice or store. Each has its units, jobs done and lines still waiting on goods. counts has how many orders are in each status. Read-only.

Permissionorders.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP toolorders_list (toolset orders)

Parameters

NameInTypeRequiredDescription
statusqueryenumNoAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
viewqueryenumNoOne of open, late, all.
customerIdquerystringNo
quoteIdquerystringNo
invoiceIdquerystringNo
storeIdquerystringNo
queryquerystringNoUp to 200 characters.
limitqueryintegerNo1–200.
offsetqueryintegerNo

Example

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

Response

200: the answer's fields
FieldTypeDescription
itemsarray of object
items[].idstringOrder id.
items[].identifierstringORD-n.
items[].titlestring
items[].statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
items[].sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
items[].customerIdstring or null
items[].customerobject or null
items[].customer.idstring
items[].customer.namestring
items[].quoteIdstring or null
items[].invoiceIdstring or null
items[].storeIdstring or null
items[].dueDatestring or nullIn-hands date, YYYY-MM-DD.
items[].rushboolean
items[].paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
items[].depositCentsinteger or null
items[].fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
items[].createdAtstring (date-time)
items[].updatedAtstring (date-time)
items[].unitsnumber
items[].lineCountinteger
items[].jobCountinteger
items[].jobsDoneinteger
items[].goodsWaitingintegerLines whose blanks are still needed or on order.
totalinteger
countsobject
todaystring

Create an order by hand

POST /organizations/{organizationId}/orders

Makes an order from lines typed or picked from the catalog (productVariantId; with designId the design's placements become jobs). For an approved quote use POST /quotes/{quoteId}/order, for an invoice POST /invoices/{invoiceId}/order, for a closed store POST /stores/{storeId}/order. The order starts at its first closed gate (art, payment, goods).

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_create (toolset orders)

Request body

FieldTypeRequiredDescription
customerIdstring or nullNoFrom GET /customers; null for stock made for the shelf.
propertyIdstring or nullNoThe ship-to address.
titlestring or nullNoUp to 200 characters.
dueDatestring or nullNoThe in-hands date (YYYY-MM-DD).
rushbooleanNo
paymentTermsenumNoWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or nullNo0–100000000.
fulfillmentenumNoSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
notesstring or nullNoFor the team: production notes.
customerNotesstring or nullNoShown to the customer in their portal.
businessUnitIdstring or nullNo
invoiceIdstring or nullNoThe invoice it is billed on (payment is read from it).
linesarray of objectYesUp to 500 items.
lines[].descriptionstring or nullNoWhat it is (default: the product's name). Up to 500 characters.
lines[].productVariantIdstring or nullNoA catalog variant (GET /products/{productId}): colour and size.
lines[].designIdstring or nullNoThe design printed on it (GET /designs): makes the jobs.
lines[].quantitynumberYesAt most 1000000.
lines[].unitPriceCentsintegerNo0–100000000.
lines[].goodsStatusenumNoBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].personalizationarray of objectNoUp to 10 items.
lines[].personalization[].labelstringYesUp to 30 characters.
lines[].personalization[].valuestringYesUp to 100 characters.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lines":[{"quantity":1}]}'

Response

201: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Get an order

GET /organizations/{organizationId}/orders/{orderId}

One order with its lines (colour, size, goods status, the purchase orders buying them), jobs (one per design placement: press, day, status), gates (art approved, payment cleared with paid and required amounts, goods ready), the production sheet (breakdown) and what the customer sees. Reading re-checks the gates. Read-only otherwise.

Permissionorders.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP toolorders_get (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

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

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Change an order

PATCH /organizations/{organizationId}/orders/{orderId}

Changes the fields sent on an open order. lines (before production only, and not once blanks were bought) replaces every line; jobs follow the designs. artApproved: true waives the art gate (approved by phone), paymentWaived: true the payment gate. Gates are re-checked. customerNotes shows in the customer's portal.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_update (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Request body

FieldTypeRequiredDescription
customerIdstring or nullNoFrom GET /customers; null for stock made for the shelf.
propertyIdstring or nullNoThe ship-to address.
titlestring or nullNoUp to 200 characters.
dueDatestring or nullNoThe in-hands date (YYYY-MM-DD).
rushbooleanNo
paymentTermsenumNoWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or nullNo0–100000000.
fulfillmentenumNoSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
notesstring or nullNoFor the team: production notes.
customerNotesstring or nullNoShown to the customer in their portal.
businessUnitIdstring or nullNo
invoiceIdstring or nullNoThe invoice it is billed on (payment is read from it).
linesarray of objectNoUp to 500 items.
lines[].descriptionstring or nullNoWhat it is (default: the product's name). Up to 500 characters.
lines[].productVariantIdstring or nullNoA catalog variant (GET /products/{productId}): colour and size.
lines[].designIdstring or nullNoThe design printed on it (GET /designs): makes the jobs.
lines[].quantitynumberYesAt most 1000000.
lines[].unitPriceCentsintegerNo0–100000000.
lines[].goodsStatusenumNoBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].personalizationarray of objectNoUp to 10 items.
lines[].personalization[].labelstringYesUp to 30 characters.
lines[].personalization[].valuestringYesUp to 100 characters.
artApprovedbooleanNo
paymentWaivedbooleanNo

Example

curl -X PATCH "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"customerId":"customer_id","propertyId":"property_id","title":"string"}'

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Delete an order

DELETE /organizations/{organizationId}/orders/{orderId}

Destructive: deletes a CANCELLED order with its lines and jobs. Refused (409) when it isn't cancelled or purchase orders were made for it.

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

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

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

Response

200: the answer's fields
FieldTypeDescription
oktrue

Make an order from an approved quote

POST /organizations/{organizationId}/quotes/{quoteId}/order

Turns an APPROVED (or invoiced) quote into an order: each size of a decorated product line becomes a line with its blank to buy, other lines are listed, one-time fees are left out; the design placements become jobs. Payment terms follow the deposit asked (DEPOSIT, else NONE) unless given. One order per quote (409) unless allowAnother.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_createFromQuote (toolset orders)

Parameters

NameInTypeRequiredDescription
quoteIdpathstringYes

Request body

FieldTypeRequiredDescription
dueDatestring or nullNoThe in-hands date (YYYY-MM-DD).
rushbooleanNo
fulfillmentenumNoSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
notesstring or nullNo
allowAnotherbooleanNoMake a second order even though one exists.
paymentTermsenumNoWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or nullNo0–100000000.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/quotes/{quoteId}/order" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dueDate":"2026-11-03","rush":true,"fulfillment":"SHIP"}'

Response

201: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Make an order from an invoice

POST /organizations/{organizationId}/invoices/{invoiceId}/order

Turns an invoice's lines into an order (decorated lines carry their sizes). Payment terms default to FULL (production waits for the invoice to be paid) unless given. One order per invoice (409) unless allowAnother.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_createFromInvoice (toolset orders)

Parameters

NameInTypeRequiredDescription
invoiceIdpathstringYes

Request body

FieldTypeRequiredDescription
dueDatestring or nullNoThe in-hands date (YYYY-MM-DD).
rushbooleanNo
fulfillmentenumNoSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
notesstring or nullNo
allowAnotherbooleanNoMake a second order even though one exists.
paymentTermsenumNoWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or nullNo0–100000000.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/invoices/{invoiceId}/order" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dueDate":"2026-11-03","rush":true,"fulfillment":"SHIP"}'

Response

201: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Make an order from a store's batch

POST /organizations/{organizationId}/stores/{storeId}/order

Turns a store's placed orders into one production order: one line per product, colour, size and design, personalised pieces kept apart with their names and numbers. Art and payment are not held (the store's designs and checkout covered them). One per store (409) unless allowAnother; see GET /stores/{storeId}/order-batch first.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_createFromStore (toolset orders)

Parameters

NameInTypeRequiredDescription
storeIdpathstringYes

Request body

FieldTypeRequiredDescription
dueDatestring or nullNoThe in-hands date (YYYY-MM-DD).
rushbooleanNo
fulfillmentenumNoSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
notesstring or nullNo
allowAnotherbooleanNoMake a second order even though one exists.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/stores/{storeId}/order" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dueDate":"2026-11-03","rush":true,"fulfillment":"SHIP"}'

Response

201: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Preview a store's production batch

GET /organizations/{organizationId}/stores/{storeId}/order-batch

What POST /stores/{storeId}/order would make: units per product, colour and size across the store's placed orders, and the personalised pieces. Read-only.

Permissionorders.read (Owner, Admin, Staff, Member)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP toolorders_storeBatch (toolset orders)

Parameters

NameInTypeRequiredDescription
storeIdpathstringYes

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/stores/{storeId}/order-batch" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields

A value of type any.

Mark lines' goods

POST /organizations/{organizationId}/orders/{orderId}/goods

Marks order lines' blanks: IN_STOCK (taken from the shelf), NOT_NEEDED (the customer's own goods, a service), RECEIVED (arrived without a purchase order) or NEEDED. When every line's goods are here the order moves on.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_setGoods (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Request body

FieldTypeRequiredDescription
lineIdsarray of stringYesUp to 500 items.
goodsStatusenumYesBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/goods" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lineIds":["line_id"],"goodsStatus":"NEEDED"}'

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Start production

POST /organizations/{organizationId}/orders/{orderId}/start

Moves a READY order to IN_PRODUCTION and queues its jobs. An order still waiting on art, payment or goods is refused (409) unless force: true, which waives the gates still closed.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_startProduction (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Request body

FieldTypeRequiredDescription
forcebooleanNo

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/start" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"force":true}'

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Finish production

POST /organizations/{organizationId}/orders/{orderId}/finish

Marks every job done and the order READY_TO_SHIP (or ready for pickup). Finishing the last job on the board does the same.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_finishProduction (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/finish" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Mark an order shipped

POST /organizations/{organizationId}/orders/{orderId}/ship

Marks the order SHIPPED (shipped, picked up or delivered); the customer's portal shows it. Open jobs are closed.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_ship (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/ship" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Complete an order

POST /organizations/{organizationId}/orders/{orderId}/complete

Closes a shipped (or ready) order as COMPLETED. It can't be changed afterwards.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_complete (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/complete" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Put an order on hold

POST /organizations/{organizationId}/orders/{orderId}/hold

Pauses an open order (its jobs stop) with a reason; resume returns it where it was.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_hold (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Request body

FieldTypeRequiredDescription
reasonstring or nullNoUp to 500 characters.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/hold" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"string"}'

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Resume an order

POST /organizations/{organizationId}/orders/{orderId}/resume

Takes an order off hold: back to where it was (a gated order re-checks its gates).

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_resume (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/resume" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Cancel an order

POST /organizations/{organizationId}/orders/{orderId}/cancel

Cancels an order that hasn't shipped: jobs not started are removed. Purchase orders made for it stay (cancel them with the vendor: POST /purchase-orders/{purchaseOrderId}/cancel). Invoices are unchanged.

Permissionorders.write (Owner, Admin, Staff)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_cancel (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdpathstringYes

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/{orderId}/cancel" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
idstringOrder id.
identifierstringORD-n.
titlestring
statusenumAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
sourceenumOne of QUOTE, INVOICE, STORE, MANUAL.
customerIdstring or null
customerobject or null
customer.idstring
customer.namestring
quoteIdstring or null
invoiceIdstring or null
storeIdstring or null
dueDatestring or nullIn-hands date, YYYY-MM-DD.
rushboolean
paymentTermsenumWhat must be paid before production: NONE, DEPOSIT (depositCents, else any payment) or FULL. One of NONE, DEPOSIT, FULL.
depositCentsinteger or null
fulfillmentenumSHIP, PICKUP or DELIVERY (by the shop). One of SHIP, PICKUP, DELIVERY.
createdAtstring (date-time)
updatedAtstring (date-time)
propertyIdstring or null
propertyobject or null
quoteobject or null
quote.idstring
quote.identifierstring
invoiceobject or null
invoice.idstring
invoice.identifierstring
invoice.totalCentsinteger
invoice.amountPaidCentsinteger
storeobject or null
store.idstring
store.namestring
heldFromenum or nullAWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS (gates, moved by the server), READY (for production), IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED. One of AWAITING_ART, AWAITING_PAYMENT, AWAITING_GOODS, READY, IN_PRODUCTION, READY_TO_SHIP, SHIPPED, COMPLETED, ON_HOLD, CANCELLED.
holdReasonstring or null
notesstring or null
customerNotesstring or nullShown to the customer in their portal.
artApprovedAtstring (date-time) or null
paymentClearedAtstring (date-time) or null
goodsReadyAtstring (date-time) or null
productionStartedAtstring (date-time) or null
producedAtstring (date-time) or null
shippedAtstring (date-time) or null
completedAtstring (date-time) or null
cancelledAtstring (date-time) or null
linesarray of object
lines[].idstring
lines[].descriptionstring
lines[].productIdstring or null
lines[].productVariantIdstring or null
lines[].designIdstring or null
lines[].colorNamestring or null
lines[].sizestring or null
lines[].quantitynumber
lines[].unitPriceCentsinteger
lines[].costCentsinteger or nullBlank cost per unit (costing.read only).
lines[].goodsStatusenumBlanks for the line: NEEDED, ORDERED (on a purchase order), RECEIVED, IN_STOCK (from the shelf), NOT_NEEDED. One of NEEDED, ORDERED, RECEIVED, IN_STOCK, NOT_NEEDED.
lines[].quantityReceivednumber
lines[].personalizationarray of object
lines[].personalization[].labelstring
lines[].personalization[].valuestring
lines[].purchaseOrdersarray of object
lines[].purchaseOrders[].idstring
lines[].purchaseOrders[].identifierstring
lines[].purchaseOrders[].statusstring
jobsarray of object
jobs[].idstringJob id.
jobs[].orderIdstring
jobs[].namestring
jobs[].designIdstring or null
jobs[].areaNamestring or null
jobs[].methodIdstring or null
jobs[].methodTypeenum or nullA decoration method type. One of SCREEN_PRINT, EMBROIDERY, DTG, DTF, HEAT_TRANSFER, SUBLIMATION, LASER, PAD_PRINT, UV_PRINT, LARGE_FORMAT_PRINT.
jobs[].quantityinteger
jobs[].statusenumWAITING (the order isn't ready), QUEUED, IN_PROGRESS, DONE. One of WAITING, QUEUED, IN_PROGRESS, DONE.
jobs[].outsourcedbooleanSent to an outsourced decorator (vendorId).
jobs[].vendorIdstring or null
jobs[].resourceIdstring or nullThe press or machine it is planned on.
jobs[].scheduledDatestring or null
jobs[].sortOrderinteger
jobs[].estimatedMinutesinteger
jobs[].assignedUserIdstring or null
jobs[].startedAtstring (date-time) or null
jobs[].completedAtstring (date-time) or null
jobs[].notesstring or null
jobs[].resourceobject or null
jobs[].resource.idstring
jobs[].resource.namestring
jobs[].vendorobject or null
jobs[].vendor.idstring
jobs[].vendor.namestring
jobs[].methodobject or null
jobs[].method.idstring
jobs[].method.namestring
jobs[].purchaseOrdersarray of object
jobs[].purchaseOrders[].idstring
jobs[].purchaseOrders[].identifierstring
jobs[].purchaseOrders[].statusstring
gatesobjectWhere the order stands on art, payment and goods; paid so far and what is required.
gates.artApprovedboolean
gates.paymentClearedboolean
gates.goodsReadyboolean
gates.paidCentsinteger
gates.requiredCentsinteger
gates.totalCentsinteger or null
customerStagestringWhat the customer sees: ART_APPROVAL, PAYMENT, IN_PRODUCTION, READY, SHIPPED, COMPLETED…
unitsnumber
breakdownanyUnits per product and design by colour and size (the production sheet).
todaystring

Preview buying for orders

GET /organizations/{organizationId}/orders/purchases/preview

What POST /orders/purchases would order for these orders, grouped by vendor: blanks still needed (from the vendor linked to the product's supplier, or none yet) and outsourced decoration (from the method's decorator, at its cost table). Read-only.

Permissionpurchasing.manage (Owner, Admin)
Riskread, OAuth scope skuflow.read. Read: reads only.
MCP toolorders_purchasePreview (toolset orders)

Parameters

NameInTypeRequiredDescription
orderIdsquerystring or array of stringYes

Example

curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/purchases/preview?orderIds=string" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY"

Response

200: the answer's fields

A value of type any.

Buy blanks and decoration for orders

POST /organizations/{organizationId}/orders/purchases

Makes DRAFT purchase orders for orders: one per vendor for the blanks still needed (each line linked to its order line, which becomes ORDERED; a supplier's vendor is made when missing) and one per outsourced decorator for its jobs. Blanks with no vendor go to vendorId or are answered in linesWithoutVendor. Nothing is sent: POST /purchase-orders/{purchaseOrderId}/send. Receiving them moves the orders on.

Permissionpurchasing.manage (Owner, Admin)
Riskwrite, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolorders_createPurchases (toolset orders)
PlanInventory and purchasing: the Pro plan and up.

Request body

FieldTypeRequiredDescription
orderIdsarray of stringYesUp to 100 items.
locationIdstring or nullNoWhere blanks arrive (default: the default stock location).
vendorIdstring or nullNoBuy blanks with no supplier from this vendor.
expectedDatestring or nullNoA calendar date in the business's own calendar, YYYY-MM-DD.

Example

curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/orders/purchases" \
  -H "Authorization: Bearer $SKUFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"orderIds":["order_id"]}'

Response

201: the answer's fields
FieldTypeDescription
purchaseOrdersarray of object
purchaseOrders[].idstring
purchaseOrders[].identifierstring
purchaseOrders[].vendorIdstring
purchaseOrders[].kindstring
purchaseOrders[].linesinteger
linesWithoutVendoranyLines that could not be bought (no vendor).

On this page