DUBOW + ORDER DESK

Connect Order Desk
to Dubow.

A practical setup guide for sending fulfillment orders through Order Desk. Configure the integration, map inventory details, and troubleshoot order metadata in one place.

Guided setup Linked to Dubow API

Where do you want to start?

Find the right setup or reference page.
ORDERDESKStart here
Decision Guide

When to Use OrderDesk vs Standard API

Use OrderDesk whenUse Standard API when
The customer already imports orders from shopping carts into Order Desk.The customer is building a direct integration from their own system to Dubow.
The customer wants Order Desk rules, folders, metadata, and shipping class matching to control the order flow.The customer needs full control over the JSON payload and direct endpoint behavior.
The customer prefers a guided app connection with Dubow credentials and configurable defaults.The customer has development resources and wants to submit orders, status requests, invoice requests, and webhook URLs directly.
Mode switch behavior

The buttons in the header switch the documentation mode. In OrderDesk mode, the API sections are hidden and the navigation changes to OrderDesk setup topics. In Standard API mode, the full Dubow API reference is shown.

ORDERDESKStart here
Connection Setup

Connect Order Desk to Dubow

  1. Open Order Desk.
  2. Go to Integrations, then Manage Integrations.
  3. Open the Print on Demand tab.
  4. Find and enable Dubow.
  5. Enter the Dubow API credentials provided by Dubow.
  6. Click connect, then configure the integration settings below.
Credential ownership

Dubow creates and provides the integration credentials. Order Desk support cannot retrieve or reset Dubow credentials.

ORDERDESKStart here
Settings

OrderDesk Integration Settings

SettingUseRecommendation
Default Shipping ClassFallback shipping method when the order does not specify a Dubow-recognized method.Set a safe default, then configure shipping class matches for specific methods.
Procurement TypeControls how garment procurement is passed to Dubow.Use Auto unless Dubow instructs otherwise. Use Inventory or Custom only when all products fit that model.
Default Design TypeDefault decoration method for items.Set the most common method. Override per item with design_type_x when needed.
Third Party Shipping IDThird-party shipping account Dubow should use.Only set this after confirming with the Dubow rep.
After Import, Move ToFolder used after Order Desk sends the order to Dubow.Use a folder that makes successful submission obvious.
After Shipment, Move ToFolder used after Dubow sends shipment details back to Order Desk.Use a completed or shipped workflow folder.
Default Shipment Return AddressFallback return address for shipments.Set a default address. Use Order Desk rules for order-specific return addresses.
ORDERDESKStart here
Shipping

Shipping Class Match

If shopping cart shipping method names do not match Dubow shipping method names, Dubow will not know which method to use and the default shipping class will be applied. Use Order Desk's shipping class match section to map customer-facing methods to Dubow methods.

Shopping cart method exampleDubow method targetResult
StandardUPSG or agreed Dubow methodOrders using Standard are sent to Dubow with the mapped method.
ExpeditedAgreed expedited Dubow methodPrevents expedited orders from falling back to the default class.
Unmatched methodDefault Shipping ClassFallback method is used for all unmatched orders.
ORDERDESKInventory and mapping
Order Data

Preparing Orders for Dubow

OrderDesk sends order-level details through checkout data or order metadata. Item-level details usually come from the matched OrderDesk inventory item metadata and can be supplemented or overridden by variations.

Core concept

The connected store order must carry a SKU that matches the OrderDesk inventory item Code/SKU. That match is what lets OrderDesk pull in the Dubow production metadata saved on the inventory item.

ORDERDESKInventory and mapping
Inventory Setup

Inventory Item Setup: How OrderDesk Connects Store SKUs to Dubow Production Data

Customers often expect their connected store to send every production detail to Dubow. In most OrderDesk workflows, the store only sends the item Code/SKU. OrderDesk uses that Code/SKU to find the matching inventory item, then syncs the metadata fields saved on that inventory item into the order item before sending the order to Dubow.

1. Store sends Code/SKU

The connected store sends the ordered item with a SKU such as DEEPBLKK240.

2. OrderDesk matches inventory

The OrderDesk inventory item must use the same value in Code/SKU. If the SKU does not match, the production metadata will not sync to the order item.

3. Metadata supplies Dubow fields

The inventory item metadata tells Dubow the garment SKU, mill, design, colorway, print location, procurement type, and services.

4. Dubow receives the production-ready item

OrderDesk sends the matched item and metadata to Dubow as production instructions for the integration order.

Important

The fields on the left side of the OrderDesk inventory screen, such as Current Stock, Price, Cost, Weight, and Location, are not required for Dubow order submission. The critical value on the left is Code/SKU, because it is what links the store item to the saved metadata fields.

Screen areaWhat it doesDubow guidance
NameHuman-readable inventory item name.Helpful for the customer, but not used as the Dubow product lookup value.
Code/SKUInventory matching key used by OrderDesk.Must match the SKU coming from the connected store. Example: DEEPBLKK240.
Metadata FieldsName/value fields stored on the inventory item.This is where Dubow production fields belong, such as print_sku, mill, print_design_id_1, colorway_1, print_location_1, and procurement_type.
VariationsOptional item-level variants such as color, size, or service-related overrides.Use when the store does not already provide the color, or when a specific item variation needs additional services.
ORDERDESKInventory item metadata example
Code/SKU = DEEPBLKK240

Metadata Fields:
print_sku = K240
mill = PORT AUTHORITY
print_design_id_1 = 7471923
colorway_1 = 9135939
print_location_1 = Left Chest
procurement_type = Custom
ORDERDESKInventory and mapping
Sync Flow

How Inventory Details Sync Into Orders

Saving metadata on an OrderDesk inventory item is only the first step. The Dubow fields must also sync into the actual order item before that order is submitted to Dubow.

Store Product SKU

The connected store sends a SKU on the order item, such as DEEPBLKK240.

OrderDesk Order Item SKU

OrderDesk stores that SKU on the imported order item.

Inventory Code/SKU Match

The order item SKU must match an OrderDesk inventory item Code/SKU.

Metadata Sync

OrderDesk syncs saved inventory metadata and variations onto the order item.

Dubow Submission

Dubow receives the synced product, design, colorway, location, procurement, and service fields.

ScenarioResultCustomer action
Store sends DEEPBLKK240 and inventory Code/SKU is DEEPBLKK240.Metadata can sync into the order item.Submit after confirming the synced order item includes Dubow fields.
Store sends DEEPBLK-K240 but inventory Code/SKU is DEEPBLKK240.OrderDesk may not find the inventory item.Fix the store SKU, create a matching inventory item, or use an OrderDesk rule/mapping.
Store sends no SKU.Inventory metadata cannot reliably sync.Make the store send a SKU or use rules to identify and map the item before submission.
SKU changes after launch.Previously working items can start submitting without Dubow metadata.Update the OrderDesk inventory item, store SKU, or mapping rule at the same time.
Existing orders are separate

If an order was already imported before the inventory item was fixed, the corrected metadata may not automatically appear on that order item. Resync or re-save the order item before resubmitting.

ORDERDESKInventory and mapping
Metadata Mapping

Required Metadata Mapping for Dubow

The metadata fields on the inventory item are the bridge between the customer's store SKU and the Dubow API fields. Use this table to explain what each field controls.

OrderDesk fieldMaps to DubowWhen to useExample
print_skuIntegrationProduct.ProductName or customer product lookup.Required for most decorated item setups. This is the product Dubow should decorate, not necessarily the customer's storefront SKU.K240
millIntegrationProduct.MillUse when the Dubow product needs a mill/manufacturer to resolve cleanly. Some account-specific setups may use print_mill; use the field name Dubow confirms for the account.PORT AUTHORITY
procurement_typeIntegrationProduct.ProcurementTypeRequired when the item needs to specify how product is sourced.Custom or Contract
print_design_id_1Designs[0].DesignIDUse for an existing design already in Dubow/DOTS.7471923
colorway_1IntegrationColorway.ColorwayIDUse with an existing design when a colorway is required.9135939
print_location_1IntegrationColorway.GarmentLocationNameRequired for every decoration location.Left Chest
Do not confuse SKUs

Code/SKU is the OrderDesk inventory matching key. print_sku is the Dubow production SKU/style to decorate. They can be the same, but they do not have to be.

ORDERDESKInventory and mapping
Field Sources

Metadata vs Variations vs Order Item Overrides

OrderDesk can receive item details from several places. Customers should understand where a field comes from and which type of setup is best for each value.

SourceBest forNotes
Inventory item metadataPermanent Dubow setup fields like print_sku, mill, print_design_id_1, colorway_1, print_location_1, and procurement_type.Best default for repeated products. This is usually where Dubow production setup should live.
Inventory item variationsColor fallback, size fallback, service choices, or variant-specific overrides.Useful when the connected store does not send a clean color/size value or when one variant needs a specific service.
Order item metadataValues imported from the store or synced from inventory into the order.These values must be present before the order is submitted to Dubow.
Manual order item editsEmergency correction on one order.Fixes that order only. It does not repair the inventory item for future orders.
OrderDesk rulesConditional routing, metadata cleanup, syncing inventory details, holding bad orders, or adding services.Useful for advanced customers or stores with inconsistent data.
Practical rule

Use inventory metadata for stable Dubow setup, variations for values that change by option, and rules for conditional fixes or review workflows.

ORDERDESKInventory and mapping
Variations

Variation Fields: Color Overrides and Services

Variations are useful when the connected store does not already provide enough item detail, or when one item variation needs a different color or service setup than the base inventory item.

Color fallback

If the store does not send a usable color, add a variation such as color = Black so OrderDesk can pass the color to Dubow.

Service override

Add Services as a variation when only certain variants need polybagging, inserts, labels, or other services.

Variant-specific metadata

Use variations when a size, color, or SKU variant needs a different value than the base inventory item metadata.

Variation fieldPurposeExample
colorSupplies garment color when the storefront does not provide it or when the storefront color needs to be standardized.Black
sizeSupplies the item size when the storefront does not provide it cleanly.XL
ServicesAdds Dubow additional services for this item or variation.Bag2 - Polybag, Insert
ORDERDESKVariation supplies missing color
Variation Fields:
color = Black
ORDERDESKVariation adds services
Variation Fields:
Services = Bag2 - Polybag, Insert, Label W/Name
ORDERDESKInventory and mapping
Store Data Cleanup

Store Color, Size, and Product Code Mapping

Different stores send color, size, and SKU information differently. Decide during setup whether the store SKU already contains everything Dubow needs, or whether OrderDesk should supply missing values through variations, metadata, or rules.

Store behaviorCommon issueRecommended setup
SKU includes product, color, and size.The store SKU may be good for OrderDesk matching but not the same as Dubow's production SKU.Use Code/SKU for the store match and print_sku for the Dubow product/style.
SKU only identifies the product.Color and size may be missing from the Dubow item.Add color and size as variations or make sure the store sends them as item options.
Store sends Colour instead of color.The field name may not match the expected setup.Standardize to the agreed field name or use a rule to copy/normalize the value.
Store sends customer-facing color names.Customer color names may not match Dubow or vendor names cleanly.Use color conversion, variation mapping, or agreed color names from the product setup.
Store SKU does not equal Dubow's product code.Customers may put the storefront SKU into print_sku by mistake.Use product code matching or metadata mapping so the storefront SKU maps to the correct Dubow print_sku.
ORDERDESKStore SKU with Dubow production SKU
Code/SKU = DEEPBLKK240

Metadata Fields:
print_sku = K240
mill = PORT AUTHORITY
procurement_type = Custom
ORDERDESKVariation supplies color and size
Variation Fields:
color = Deep Black
size = XL
ORDERDESKInventory and mapping
Fixing Existing Orders

After Fixing Inventory, Resync Existing Orders

Updating an OrderDesk inventory item helps future imports, but it may not automatically repair orders that were already imported. Existing failed orders usually need the corrected inventory details synced onto the order item before resubmission.

Do this before resubmitting

Open the failed order and confirm the order item itself contains the corrected Dubow fields. If not, resync item details from inventory or re-save the order item so the metadata is applied.

  1. Fix the OrderDesk inventory item Code/SKU, metadata fields, and variations.
  2. Open the already-imported OrderDesk order.
  3. Use the available OrderDesk action to sync item details with inventory, or re-save the order item if that is the customer's configured workflow.
  4. Verify the order item now shows required Dubow metadata such as print_sku, mill, print_design_id_1 or print_url_1, print_location_1, and procurement_type.
  5. Resubmit the order to Dubow.
Customer actionWhat it affects
Edit inventory item metadataFuture orders and any existing orders that are manually resynced.
Edit one order item manuallyOnly that order item. Future imports are unchanged.
Run a sync inventory details actionApplies current inventory details to selected existing order items.
Fix store SKUFuture imports from the store. Existing imported orders may still need item resync.
ORDERDESKOrder fields

Order Metadata and Checkout Data

FieldPurposeNotes
ShippingAccountThird-party shipping account number.Use only when Dubow should ship on a third-party account.
PackingSlipURL for the PDF packing slip.Must be accessible to Dubow.
DateToShipRequested ship date.Use Y-m-d format.
DateDropDeadDate the order should reach the customer.Use Y-m-d format when a firm deadline applies.
First & Last NameFirst and last name of recipient.Name of recipient
Address1Address field sent to Dubow.e.g. 123 1st Street North
CityCity of recipiente.g. Saint Cloud
StateState of recipient. Only needed if within United States.e.g. MN
Postal(Zip)Zipcode of Citye.g. 56303
CountryCountry of recipient.e.g. US
BulkShipFlags an order for bulk shipping.Set to 1 for bulk shipping.
ORDERDESKOrder fields

Metadata Field Reference

These fields can be stored on the OrderDesk inventory item or added to the order item. For repeated artwork fields, replace x with a number from 1 to 8. Example: print_url_2, print_location_2, design_type_2.

Inventory item setup

For most customers, set these once on the OrderDesk inventory item. When the store sends a matching Code/SKU, the metadata syncs into the order item and becomes the production data sent to Dubow.

FieldPurposeNotes
print_skuDubow garment or product style to decorate.This is not always the same as the storefront SKU or OrderDesk Code/SKU. Order Desk can append color and size. Add * when size and color should not be appended.
print_sku_overridePass the print SKU as the complete vendor part number.Set to 1.
print_url_xArtwork file URL.Values 1 through 8 accepted. Use print_url when only one design is sent.
print_preview_xPreview image URL.Values 1 through 8 accepted. print_preview or image can be used for one preview.
print_location_xDecoration location.Required for each design.
print_design_id_xDubow Design ID.Use this instead of print_url_x for existing Dubow designs.
print_design_code_xCustomer design code.Use when sending a print URL instead of a Design ID.
colorway_xColorway ID.Used for embroidery thread colorways.
design_type_xDecoration method override.Use when the item differs from the default design type.
NoDecorationFlags an undecorated item.Set to 1.
product_name_fieldControls product identifier type.Options: ProductName or CustomerProductName.
colorGarment color.Order Desk attempts to match this to Dubow's color abbreviation list.
sizeGarment size.Used with SKU building and line item sizing.
mill or print_millMill/manufacturer value.Use the field name confirmed for the customer account. In many Dubow OrderDesk setups, mill is used directly.
procurement_typeItem-level procurement override.Options: Custom, Contract, Inventory.
ServicesAdditional services to apply to the item.Can be saved as item metadata or added as a variation override. Use a comma-separated list when more than one service is needed. Example: Bag2 - Polybag, Insert, Label W/Name.
retail_priceRetail price of the item.Optional reporting or commercial value.
harmonized_codeHS code.Useful for cross-border shipping workflows.
ExampleItem services metadata
Services = Bag2 - Polybag, Insert, Label W/Name
ORDERDESKOrder fields
OrderDesk Examples

OrderDesk Metadata Examples

Use these examples when configuring Order Desk item metadata or troubleshooting what Order Desk is sending to Dubow.

ORDER DESKExisting design item metadata
Code/SKU: DEEPBLKK240

Metadata Fields:
print_sku: K240
mill: PORT AUTHORITY
print_design_id_1: 7471923
colorway_1: 9135939
print_location_1: Left Chest
procurement_type: Custom
Services: Bag2 - Polybag, Insert, Label W/Name
ORDER DESKNew artwork item metadata
Code/SKU: STORE-TEE-BLACK-L

Metadata Fields:
print_sku: 2000
mill: Gildan
print_url_1: https://cdn.example.com/art/customer-logo.png
print_design_code_1: CUSTOMER-LOGO-001
print_location_1: Full Back
design_type_1: Direct to Film
procurement_type: Contract
ORDER DESKOrder metadata
PONumber: OD-10001
SecondaryPO: STORE-ORDER-8891
EndUserPO: CUSTOMER-REF-22
OrderNotes: Rush if possible
OrderStatusNotificationUrl: https://yourdomain.com/webhooks/order-status
ORDER DESKVariation color and services
Variation Fields:
color: Black
size: XL
Services: Bag2 - Polybag, Insert
ORDER DESKTwo decoration locations
Metadata Fields:
print_sku: K240
mill: PORT AUTHORITY
print_design_id_1: 7471923
colorway_1: 9135939
print_location_1: Left Chest
print_design_id_2: 7471924
colorway_2: 9135940
print_location_2: Full Back
procurement_type: Custom
Important

Order Desk sends metadata as name/value fields. Field names should match the labels shown in this section unless Dubow provides account-specific overrides.

ORDERDESKArtwork and designs
ORDERDESK METADATAArt setup within Order Desk

Artwork and Design Rules

New artwork

Send print_url_x, print_location_x, and optionally print_design_code_x and print_preview_x.

Existing Dubow design

Send print_design_id_x, colorway_x when applicable, and print_location_x.

Multiple designs

Use numbered fields from 1 to 8, keeping each design's URL, location, preview, design ID, design code, colorway, and design type aligned by number.

ORDERDESKArtwork and designs
ORDERDESK METADATAMatch each numbered design field

Numbered Artwork Fields Must Stay Together

For multi-location or multi-design items, keep each numbered group aligned. Fields ending in _1 describe design slot 1. Fields ending in _2 describe design slot 2.

Design slotFields that should matchUse case
Existing design 1print_design_id_1, colorway_1, print_location_1, design_type_1, print_preview_1First existing Dubow/DOTS design.
Existing design 2print_design_id_2, colorway_2, print_location_2, design_type_2, print_preview_2Second existing Dubow/DOTS design.
New art 1print_url_1, print_design_code_1, print_location_1, design_type_1, print_preview_1First new artwork file.
New art 2print_url_2, print_design_code_2, print_location_2, design_type_2, print_preview_2Second new artwork file.
ORDERDESKTwo existing designs
print_design_id_1 = 7471923
colorway_1 = 9135939
print_location_1 = Left Chest
design_type_1 = Embroidery

print_design_id_2 = 7471924
colorway_2 = 9135940
print_location_2 = Full Back
design_type_2 = Direct to Film
ORDERDESKTwo new artwork files
print_url_1 = https://cdn.example.com/art/left-chest.png
print_design_code_1 = LEFT-CHEST-001
print_location_1 = Left Chest
design_type_1 = Embroidery

print_url_2 = https://cdn.example.com/art/full-back.png
print_design_code_2 = FULL-BACK-001
print_location_2 = Full Back
design_type_2 = Direct to Film
Common mistake

Do not send colorway_2 for print_design_id_1. The numbers must stay aligned for Dubow to apply the correct location and colorway to each design.

ORDERDESKArtwork and designs

Custom Text and Personalization

FieldPurposeFormat
custom_text_xName, number, or other personalized text.Append 1 through 8 for more than one line.
custom_text_detailsProduction details for the custom text.Comma-separated: Font, Color, Position, Width, Height, Notes. Notes are optional.
custom_text_locationPlacement for the custom text.Examples: Full Front, Left Chest, Back.
ExampleCustom text metadata
custom_text_1 = SCHERFENBERG
custom_text_2 = 12
custom_text_details = Block, White, Full Back, 10, 12, Center between shoulders
custom_text_location = Full Back
ORDERDESKWorkflow and support
Workflow

Recommended OrderDesk Workflow

  1. Import the order from the connected shopping cart into Order Desk.
  2. Match each order item SKU to the correct OrderDesk inventory item Code/SKU.
  3. Sync inventory metadata and variations into the order item before submission.
  4. Use rules, product settings, item metadata, and variations to populate Dubow-required production data.
  5. Move orders with missing SKU, artwork, location, procurement, or shipping data to a Needs Review folder.
  6. Confirm shipping class matches before sending live orders.
  7. Send complete orders to Dubow through the enabled Dubow integration.
  8. Move successfully submitted orders into the configured post-import folder.
  9. Receive shipment details back into Order Desk and push tracking back to the shopping cart when configured.
ORDERDESKWorkflow and support
Automation

OrderDesk Rule Examples

Rules can prevent bad orders from reaching Dubow and can fill in missing metadata when the store does not send enough information.

Rule needExample actionWhy it helps
Sync inventory details after importRun an action to sync order items with inventory details.Ensures Dubow fields saved on the inventory item appear on the order item before submission.
Add service based on SKU, tag, or product optionAdd item metadata Services with values such as Bag2 - Polybag or Insert.Applies additional services only when needed.
Route blank or undecorated itemsAdd NoDecoration or move the order to a review folder.Prevents decorated-item validation errors when no artwork is expected.
Hold missing metadataMove to Needs Review when print_sku, print_location_1, or artwork fields are missing.Stops incomplete orders before they generate Dubow API errors.
Move successful submissionsMove to Submitted to Dubow after the Dubow integration action succeeds.Makes it clear which orders have already been sent.
Recommended workflow

Create a Needs Review folder for orders missing SKU matches, artwork, location, procurement, shipping, or service setup. Submit to Dubow only after required metadata is present on the order item.

ORDERDESKWorkflow and support

OrderDesk Preflight Checklist

CheckWhy it matters
☐Dubow credentials are connected.Required before any order can be sent to Dubow.
☐Default shipping class is set.Used when a method is not matched.
☐Shipping class matches are configured.Prevents all orders from falling back to the default method.
☐Procurement type is confirmed.Incorrect procurement values can route products incorrectly.
☐Store SKU matches the OrderDesk inventory item Code/SKU.If the SKU does not match, OrderDesk will not sync the saved Dubow metadata into the order item.
☐Required inventory metadata is saved on the inventory item.Confirm print_sku, mill, print_design_id_1 or print_url_1, colorway_1 when needed, print_location_1, and procurement_type.
☐Existing orders were resynced after inventory fixes.Updating inventory metadata does not automatically fix order items that were imported before the correction.
☐Numbered artwork fields are aligned.print_design_id_1, colorway_1, and print_location_1 must describe the same design slot.
☐Color and size are supplied by the store, variation fields, or rules.Dubow needs a clean product/color/size combination for production and procurement.
☐Each decorated item has artwork or design ID and location metadata.Dubow needs production instructions for each design.
☐Custom text includes details and location.Personalization requires both content and production instructions.
ORDERDESKWorkflow and support

OrderDesk Troubleshooting

OrderDesk sends orders into the Dubow API, so many Dubow validation errors can appear in the Order Desk activity log. Use this section to translate those messages into the likely OrderDesk setup or metadata fix.

Common SKU and Metadata Mistakes

MistakeSymptomFix
Store SKU does not match inventory Code/SKU.Dubow metadata does not appear on the order item.Fix the store SKU, create a matching inventory item, or use a mapping rule.
Metadata saved on inventory but not synced to the order.Dubow receives missing print_sku, design, colorway, or location values.Sync item details into the order item before resubmitting.
print_sku and art URL are swapped.Product lookup or artwork lookup fails.Put the product/style in print_sku and artwork URLs in print_url_x.
Field name typo.Required Dubow value is missing even though the customer thinks it was entered.Use exact metadata names such as print_sku, print_location_1, and procurement_type.
colorway_1 without print_design_id_1.Colorway cannot be tied to the correct design.Keep numbered fields aligned by design slot.
print_location_2 with no print_url_2 or print_design_id_2.Extra location may not apply correctly.Use matching numbered fields for every design group.

OrderDesk Setup Checks

IssueLikely causeFix
Wrong shipping method usedShopping cart method did not match a Dubow method.Add or correct the shipping class match. The default shipping class is used when no match exists.
Credential connection failsCredentials are missing, incorrect, or not supplied by Dubow.Confirm the Dubow username and password supplied for the OrderDesk integration. Do not expose credentials in order metadata.
Artwork missingItem lacks print_url_x or print_design_id_x.Add artwork URL metadata or an existing Dubow design ID on the item.
Decoration location missingItem lacks print_location_x.Add a valid location for each design.
SKU does not resolve as expectedSKU building appended color and size, or override was not set.Use print_sku_override, *, or procurement-specific settings as appropriate.
Inventory metadata did not sync into the orderThe SKU on the incoming store item did not match the OrderDesk inventory item Code/SKU, or the item was edited after import without syncing inventory details.Correct the store SKU or OrderDesk inventory Code/SKU, then use OrderDesk's sync item details action on the order item before resubmitting.
Wrong Dubow product was usedThe customer assumed Code/SKU and print_sku are the same value.Set Code/SKU to the store matching value and print_sku to the Dubow production SKU/style.
Color missing or incorrectThe store did not send color, or the color value does not map cleanly.Add color as a variation field or standardize color values through OrderDesk product settings.
Existing failed order still fails after inventory was fixedThe inventory item was corrected, but the already-imported order item still has the old or missing metadata.Resync inventory details into the existing order item, then resubmit.
Wrong design or location on a multi-location itemNumbered artwork fields are mixed, such as colorway_2 being paired with print_design_id_1.Keep _1 fields together, _2 fields together, and so on.
Order submits before setup is completeNo Needs Review workflow exists for missing metadata.Add rules to hold orders missing SKU, artwork, location, procurement, shipping, or service values.
Additional service not appliedThe new Services item metadata is missing or the value does not match a supported Dubow service.Add Services to the item metadata or variation fields and separate multiple services with commas, for example Bag2 - Polybag, Insert, Label W/Name.
ORDERDESKWorkflow and support

Common Dubow Errors in OrderDesk

Common API errors from OrderDesk submissions, with likely causes and steps to resolve them.

Showing 66 of 66 errors

Auth
Unauthorized. Please check UserID and Password.
What it means
The Authorization block is missing, incorrect, or using credentials for the wrong environment.
How to fix in OrderDesk
Confirm Authorization.UserID, Authorization.Password, and whether you are calling sandbox or production.
Auth
Invalid Authorization UserId
What it means
The request user ID is missing, zero, or not recognized.
How to fix in OrderDesk
Use the assigned Dubow API UserID. If using a child customer, the authenticated user must be allowed to submit for that customer.
Order
Orders list is Empty
What it means
The request did not include any orders in Orders[].
How to fix in OrderDesk
Send at least one order object inside the Orders array.
Order
A PoNumber (Purchase Order Number) was not given.
What it means
The order is missing PoNumber or it is blank.
How to fix in OrderDesk
Send a non-empty, unique PoNumber for every order.
Order
This PO already exists in our system. Duplicate?
What it means
The submitted PoNumber already exists for that customer.
How to fix in OrderDesk
Use a unique PoNumber. For resubmits, use a revision value such as PO12345-REV1.
Order
Duplicate order. This PONumber already exists.
What it means
Same as duplicate PO. The customer PO has already been accepted or created.
How to fix in OrderDesk
Do not resend the same PO unless directed. Use a new PO value when submitting a replacement order.
Order
Duplicate PONumber for CustomerID
What it means
Duplicate PO for the submitted CustomerID.
How to fix in OrderDesk
Use a unique PoNumber for the customer.
Order
Is not a valid CustomerID.
What it means
The submitted CustomerID does not exist.
How to fix in OrderDesk
Confirm the customer/company ID with Dubow.
Order
is not a valid child customer
What it means
The authenticated user is not allowed to submit orders for the requested child customer.
How to fix in OrderDesk
Use the correct child customer or request that Dubow assign access to the authenticated parent customer.
Order
Customer is in excess of their Credit Limit.
What it means
The account is blocked by a credit limit rule.
How to fix in OrderDesk
Contact Dubow support or accounting before resubmitting.
Order
is not a valid ContactID.
What it means
The submitted ContactID does not exist.
How to fix in OrderDesk
Confirm the contact ID with Dubow.
Order
The Contact's owning Customer is not the specified Customer.
What it means
The contact exists but belongs to a different customer.
How to fix in OrderDesk
Use a ContactID that belongs to the submitted CustomerID.
Order
Contact is not active.
What it means
The contact exists but is inactive.
How to fix in OrderDesk
Use an active contact assigned to the same customer.
Order
The Order didn't contain any Manifests.
What it means
The order did not include Manifests[].
How to fix in OrderDesk
Add at least one manifest with shipping and line item details.
Payload
Unable to parse payload
What it means
The request body is not valid JSON or the content type is wrong.
How to fix in OrderDesk
Validate the JSON and send Content-Type: application/json.
Payload
One or more required fields are missing or invalid
What it means
A required field is missing, misspelled, or using the wrong type.
How to fix in OrderDesk
Compare your payload with the required examples and field reference.
Shipping
An IntegrationManifest cannot be scheduled to ship on a date earlier than or equal to the day it is placed
What it means
DateToShip is today or in the past.
How to fix in OrderDesk
Use a future valid ship date and account for Dubow turn time rules.
Shipping
An IntegrationManifest cannot have a deadline date earlier or equal to the day it is placed.
What it means
DateDropDead is today or in the past.
How to fix in OrderDesk
Use a future deadline date.
Shipping
Each IntegrationManifest must define at least one LineItems.
What it means
The manifest has no LineItems[].
How to fix in OrderDesk
Add at least one line item to every manifest.
Shipping
ShipMethodAbbreviation is required
What it means
The manifest is missing a ship method.
How to fix in OrderDesk
Include a valid ShipMethodAbbreviation from available ship methods.
Shipping
Missing Address1 or Zip on ShipToAddress
What it means
The shipping address is incomplete.
How to fix in OrderDesk
Provide the required shipping address fields listed in the shipping section.
Shipping
Address must have at least one of Address1,2,3
What it means
No address line was supplied.
How to fix in OrderDesk
Provide a complete ShipToAddress. Keep using the stricter address requirements documented above.
Shipping
FedEx ship methods can only be used with a provided 3rd Party Account#.
What it means
The selected FedEx method requires a third-party shipping account.
How to fix in OrderDesk
Set the correct third-party account in the shipping metadata, or change the shipping method mapping to an available option.
Shipping
Ship method '{abbr}' does not support a 3rd Party Account#. Remove the 3rd Party Account# or choose a ship method that supports it.
What it means
The selected shipping method does not allow third-party billing.
How to fix in OrderDesk
Remove the third-party account from the order or update the shipping class mapping to a compatible shipping method.
Product
A ProductName was given without a Mill and no match or multiple was found
What it means
ProductName is ambiguous or not found.
How to fix in OrderDesk
Include Mill, use ProductID, or confirm product mapping from Lookup Lists.
Product
A ProductName was given without a Mill: Multiple products were found with name
What it means
ProductName and the supplied VendorName matched more than one internal ProductID. A valid vendor name does not guarantee a unique match.
How to fix in OrderDesk
Verify the intended product and resubmit with its Mill or exact ProductID. For example, a lookup for 2000 under S&S Activewear can match multiple records.
Product
A ProductName was given with a Mill and no match or multiple was found
What it means
The product and mill combination did not resolve.
How to fix in OrderDesk
Verify the product style and mill combination in Lookup Lists.
Product
A VendorProductName was given with a Mill and no match or multiple was found
What it means
The vendor product lookup failed.
How to fix in OrderDesk
Verify VendorProductName and Mill, or use another supported product lookup path.
Product
An Invalid ProductID was specified
What it means
The submitted ProductID does not exist.
How to fix in OrderDesk
Use a valid Dubow product ID from the product lookup list.
Product
Each IntegrationProduct must unambiguously specify a Product
What it means
Multiple product identifiers resolve to different products.
How to fix in OrderDesk
Use one clear lookup method, or make sure all product fields resolve to the same part.
Product
Cannot lookup inventory. SKU does not exist or multiple in the system.
What it means
The inventory SKU is missing, inactive, or ambiguous.
How to fix in OrderDesk
Confirm the SKU with Dubow or use a more specific product identifier.
Product
Inventory metadata did not sync
What it means
OrderDesk did not find a matching inventory item from the incoming store SKU, so the saved metadata fields were not copied to the order item.
How to fix in OrderDesk
Make the store SKU match the OrderDesk inventory item Code/SKU, then sync item details with inventory before resubmitting.
Product
print_sku is missing or incorrect
What it means
The item has a store SKU but does not have the Dubow product SKU metadata needed for production.
How to fix in OrderDesk
Add print_sku to the inventory item metadata and confirm mill or print_mill when required.
Product
Not possible to dynamically create an integration product
What it means
The customer is not enabled for dynamic part creation, or required fields are missing.
How to fix in OrderDesk
Confirm setup with Dubow and include CustomerProductName, Description, and Color.
Product
[PartNumber] is an inactive part.
What it means
The product exists but is inactive.
How to fix in OrderDesk
Remove the item or contact Dubow to verify availability.
Product
An invalid VendorID was specified: '{vendorId}'
What it means
The vendor identifier is not recognized by Dubow.
How to fix in OrderDesk
Correct the vendor identifier in the outgoing product data, or use a valid VendorName and a unique product reference.
Product
No vendor was found matching VendorName '{name}'
What it means
The supplied VendorName does not match a supplier in Dubow.
How to fix in OrderDesk
Correct the supplier name in the outgoing integration data. Use a recognized VendorName.
Product
Multiple products were found with name '{name}' supplied by {vendor} (ProductIDs: {ids}). Provide a Mill or ProductID to disambiguate
What it means
The product name and supplier match more than one Dubow product.
How to fix in OrderDesk
Correct the product mapping using the exact Dubow ProductID or an appropriate Mill alongside the product name.
Size
Each LineItem must have at least one LineItemSize to define size and quantity.
What it means
The line item is missing LineItemSizes[].
How to fix in OrderDesk
Add at least one size row with quantity.
Size
LineItem for Dubow Owned Inventory Part should not contain more than 1 LineItemSize.
What it means
A Dubow-owned inventory line item has multiple size rows.
How to fix in OrderDesk
Send one size row only or split inventory products into separate line items.
Size
Each LineItemSize must have a quantity greater than 0.
What it means
Quantity is zero, negative, or missing.
How to fix in OrderDesk
Set every LineItemSizes[].Quantity value to a positive integer.
Size
Quantity must be greater than 0
What it means
Quantity is zero, negative, or missing.
How to fix in OrderDesk
Use positive integer quantities.
Size
Each LineItemSize must specify a SizeIndex either in string or integer enumeration.
What it means
The line item size cannot be determined.
How to fix in OrderDesk
Send a valid SizeAsString or SizeIndex.
Size
An unambiguous size cannot be determined for all LineItems.
What it means
The supplied size text cannot be mapped.
How to fix in OrderDesk
Use a supported size format such as XL, 2XLT, or Medium.
Size
SizeAsString value is not recognized
What it means
The size value is not recognized.
How to fix in OrderDesk
Use a supported size format from the documentation.
Design
No IntegrationDesigns included with LineItem X but NoDecoration does not equal true
What it means
A decorated item is missing Designs[].
How to fix in OrderDesk
Add Designs[], set NoDecoration: true, or use the inventory workflow.
Design
Missing Design Reference
What it means
The design did not include DesignID, CustomerDesignCode, DesignCode, or FilePath.
How to fix in OrderDesk
Provide a valid existing design reference or send a design URL workflow with DesignTypeName.
Design
Could not use DesignID, DesignCode or CustomerDesignCode...
What it means
No existing design could be resolved and no valid design type was provided for new art.
How to fix in OrderDesk
Use a valid design reference or include DesignTypeName for new art.
Design
DesignID does not exist.
What it means
The submitted design ID is not valid.
How to fix in OrderDesk
Confirm the design in DOTS or use a valid CustomerDesignCode or design URL workflow.
Design
DesignID not found or not valid for account
What it means
The design is missing or not assigned to the customer.
How to fix in OrderDesk
Use a valid, customer-authorized DesignID.
Design
Customer does not have rights to DesignID
What it means
The design exists but is not available to the submitted customer.
How to fix in OrderDesk
Use a customer-owned design or request Dubow to assign rights.
Design
Cannot resolve DesignCode
What it means
The submitted design code did not resolve to a design.
How to fix in OrderDesk
Use a valid DesignID, DesignCode, CustomerDesignCode, or design URL workflow.
Design
DesignTypeName is required
What it means
New art or design resolution needs a decoration type.
How to fix in OrderDesk
Set DesignTypeName in the design block, for example Embroidery.
Design
There are multiple colorways for this design, but no colorway was provided. Please provide a colorway.
What it means
The design has multiple colorways and none was selected.
How to fix in OrderDesk
Send IntegrationColorway.ColorwayID with the existing DesignID.
Design
ColorwayID not found or not associated with DesignID
What it means
The colorway is invalid or does not belong to the design.
How to fix in OrderDesk
Verify the ColorwayID belongs to the specified DesignID.
Design
Incorrect number of thread breaks (Ordinal) called for Design ####. - X of Y Colors Received
What it means
The submitted color ordinals do not match the design's thread breaks.
How to fix in OrderDesk
Update IntegrationColorway.Colors[] ordinals to match the design.
Design
Design #### is an associated design and requires additional locations in "GarmentLocationName" split by a "/" for each location
What it means
An associated design requires multiple locations in order.
How to fix in OrderDesk
Send slash-separated locations such as Full Front/Full Back.
Design
FilePath is not a valid URL
What it means
The art URL is malformed or inaccessible.
How to fix in OrderDesk
Use a properly formatted, publicly accessible https:// link.
Design
Design FilePath and DesignID cannot be used together
What it means
The payload mixes an existing design with new-art submission.
How to fix in OrderDesk
Choose either existing design fields or design URL fields, not both.
Design
CustomerDesignCode already used on another design
What it means
The customer design code is not unique.
How to fix in OrderDesk
Use a unique CustomerDesignCode or reuse the existing design reference if intended.
Design
Less than 24qty used per colorway for screen print.
What it means
Screen print line quantity is below the minimum.
How to fix in OrderDesk
Increase the quantity to at least 24 units per colorway or use another approved decoration method.
Services
A service code was provided that is not supported
What it means
The service name/code does not map to a valid service part.
How to fix in OrderDesk
Use only valid service codes listed in the Additional Services section.
Payload
TEST URL! This error will only appear on test requests.
What it means
The test endpoint is returning its test-mode confirmation message.
How to fix in OrderDesk
No production action is needed. Use this only to verify test behavior.
Payload
TrackingNumber cannot be blank when OrderStatus is Shipped
What it means
A shipped status update is missing tracking information.
How to fix in OrderDesk
Provide a valid TrackingNumber when sending or consuming shipped updates.
Decoration
Part {partName} is not available for the {designType} decoration method.
What it means
The specified product is restricted from the selected decoration method.
How to fix in OrderDesk
Update the product or decoration method in the order item metadata. Confirm the revised details are synced to the order before resubmitting.
Decoration
Part {partName} is not available for the {location} imprint location.
What it means
The specified product is restricted from the selected imprint location.
How to fix in OrderDesk
Correct the location metadata (such as print_location_1) or choose a different product, then sync the updated item details before resubmitting.
ORDERDESKWorkflow and support

Support Packet for Dubow or Order Desk

Need help with your Dubow integration?Jake Scherfenberg · IT Managerjake.scherfenberg@dubowtextile.com
Email Support

Collect these details before escalating an OrderDesk-to-Dubow issue.

  • Order Desk order ID and shopping cart order ID.
  • Dubow customer or program information, if known.
  • Folder, rule, and integration action used to submit the order.
  • Order metadata, checkout data, item metadata, and item variations.
  • Screenshot or export of the OrderDesk inventory item showing Code/SKU and metadata fields.
  • Shipping method from the shopping cart and the intended Dubow method.
  • Error response or activity log entry from Order Desk.
DUBOW DEVELOPER DOCUMENTATION

Integrate with Dubow.
Without the guesswork.

Everything you need to send orders, work with products and designs, and retrieve status updates. Start with a task or jump directly into the technical reference.

Explore API endpoints
API v2.0 Updated October 26, 2026
FIRST TIME HERE?

Start with the basics

01
Get authenticatedSet up credentials
02
Choose a payloadStart with a working example
03
Validate and sendCheck important rules first
Use the Test environment before going live.
Direct Integration or Cloud IO?See which connection handles outages and automatically forwards queued orders.

What would you like to do?

Jump straight to the relevant documentation.
STANDARD APIStart here
QUICK NAVIGATION

Choose the Right Documentation

Use this section when you need to build, test, or troubleshoot an integration order. The detailed field glossary remains available in the Field Glossary topic, but these tools are designed around the questions customers usually ask during implementation.

STANDARD APIExamples and reference
Payload Examples

Examples and common workflows

Start with a complete request, explore small field-level fragments, or follow a workflow. Every example is illustrative and must be adapted to your customer and design identifiers.

Request samples and fragments

Minimal order using an existing design

Use this when the design and colorway already exist in Dubow/DOTS.

JSONExisting design order
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-EXISTING-1001",
      "OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/status",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "IsResidential": true,
          "ShipToAddress": {
            "Address1": "Jane Customer",
            "Address3": "123 Main Street",
            "City": "Minneapolis",
            "State": "MN",
            "Zip": "55401",
            "Country": "US",
            "PhoneNumber": "555-123-4567",
            "EmailAddress": "customer@example.com"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "Description": "Basic Tee",
                "ProcurementType": "Contract",
                "Color": "Black"
              },
              "LineItemSizes": [
                { "Quantity": 12, "SizeAsString": "M" }
              ],
              "Designs": [
                {
                  "DesignTypeName": "Embroidery",
                  "DesignID": 8675309,
                  "IntegrationColorway": {
                    "ColorwayID": 111111111,
                    "GarmentLocationName": "Left Chest"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Minimal order using a design URL

Use this when the customer is providing new art by URL instead of referencing an existing Dubow design.

JSONDesign via URL
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-URL-1002",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "John Customer",
            "Address3": "456 Oak Ave",
            "City": "Brooklyn",
            "State": "NY",
            "Zip": "11201",
            "Country": "US"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "Description": "Basic Tee",
                "ProcurementType": "Contract",
                "Color": "Navy"
              },
              "LineItemSizes": [
                { "Quantity": 24, "SizeAsString": "L" }
              ],
              "Designs": [
                {
                  "DesignTypeName": "DigitalPrint",
                  "FilePath": "https://cdn.example.com/art/customer-logo.png",
                  "CustomerDesignCode": "CUSTOMER-LOGO-001",
                  "Urls": [
                    {
                      "Url": "https://cdn.example.com/mockups/customer-logo-back.png",
                      "Description": "Back preview"
                    }
                  ],
                  "IntegrationColorway": {
                    "GarmentLocationName": "Full Back"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Inventory order

Inventory product lookup should be clear and inventory line items should contain only one size entry.

JSONInventory item
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-INVENTORY-1003",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "Inventory Recipient",
            "Address3": "789 Lake Road",
            "City": "Chicago",
            "State": "IL",
            "Zip": "60601",
            "Country": "US"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "CustomerProductName": "INV-SKU-001",
                "Description": "Inventory Item",
                "ProcurementType": "Custom"
              },
              "LineItemSizes": [
                { "Quantity": 1, "SizeAsString": "M" }
              ]
            }
          ]
        }
      ]
    }
  ]
}

NoDecoration order

Use this for undecorated items. Designs are omitted intentionally.

JSONNo decoration line item
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-NODEC-1004",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "Blank Goods Recipient",
            "Address3": "100 Market Street",
            "City": "Dallas",
            "State": "TX",
            "Zip": "75201",
            "Country": "US"
          },
          "LineItems": [
            {
              "NoDecoration": true,
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "Description": "Basic Tee",
                "ProcurementType": "Contract",
                "Color": "White"
              },
              "LineItemSizes": [
                { "Quantity": 6, "SizeAsString": "XL" }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Personalization example

Personalization applies to the full quantity of the line item. Use separate line items for unique names or numbers per unit.

JSONCustomizations
{
  "Designs": [
    {
      "DesignTypeName": "Embroidery",
      "DesignID": 8675309,
      "IntegrationColorway": {
        "ColorwayID": 111111111,
        "GarmentLocationName": "Left Chest"
      },
      "Customizations": [
        {
          "DesignTypeName": "Direct to Film",
          "Font": "Block",
          "Color": "White",
          "Position": "Full Back",
          "Width": 10,
          "Height": 12,
          "Notes": "Center between shoulders",
          "TextLines": [
            { "LineNumber": 1, "Text": "SCHERFENBERG" },
            { "LineNumber": 2, "Text": "12" }
          ]
        }
      ]
    }
  ]
}

Associated design with multiple locations

Use slash-separated locations in the same child-design order used by the associated design.

JSONAssociated design
{
  "Designs": [
    {
      "DesignTypeName": "Embroidery",
      "DesignID": 7009594,
      "IntegrationColorway": {
        "ColorwayID": 8598247,
        "GarmentLocationName": "Left Chest/Right Chest"
      }
    }
  ]
}

Line item with services

Use this when an item needs handling services such as polybag or hangtag.

JSONServices on line item
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    { "Quantity": 12, "SizeAsString": "L" }
  ],
  "Services": [
    { "Name": "polybag" },
    { "Name": "hangtag" }
  ]
}

Invoice status request

Use this to check billing and invoice details for a submitted PO.

JSONInvoice status request
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "RequestItems": [
    { "CustomerPo": "PO-EXISTING-1001" }
  ]
}

Order callback URLs

Use callback URLs when your system can receive automatic status or shipment updates.

JSONWebhook fields on order
{
  "CustomerID": 1234,
  "ContactID": 5678,
  "PoNumber": "PO-WEBHOOK-1001",
  "OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
  "ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment",
  "Manifests": []
}

Order status request

Use this if the customer is polling instead of relying only on automatic webhooks. Look up status by either OrderID or CustomerPo.

JSONStatus lookup
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "RequestItems": [
    { "OrderID": 8675309 },
    { "CustomerPo": "PO-EXISTING-1001" }
  ]
}
Example behavior

This example intentionally shows both lookup styles in one request. Each RequestItems entry only needs one lookup field.

Common workflows

How-To Recipes

Existing design

  1. Confirm customer rights to the DesignID.
  2. Send DesignID.
  3. Send IntegrationColorway.ColorwayID.
  4. Send GarmentLocationName.
  5. Send at least one size with quantity greater than zero.

New artwork by URL

  1. Send DesignTypeName.
  2. Send FilePath for the art file.
  3. Send CustomerDesignCode as the customer's art reference.
  4. Send IntegrationColorway.GarmentLocationName.
  5. Add preview URLs when available.

Personalization

  1. Add Customizations[] inside a design.
  2. Add one or more TextLines[].
  3. Use separate line items for unique personalization per unit.
  4. Include customization DesignTypeName when needed.

Additional full-order scenarios

These examples show complete, valid orders using different design submission types and multiple manifests.

JSONMinimal: Existing Design
{
  "Authorization": {
	"UserID": 1111,
	"Password": "abc123"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "ORDER-0001",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "John Smith",
			"Address3": "123 Test St",
			"City": "Duluth",
			"State": "MN",
			"Zip": "55802",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Black Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 2,
				  "SizeAsString": "XL"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "Embroidery",
				  "DesignID": 8675309,
				  "IntegrationColorway": {
					"ColorwayID": 111111111,
					"GarmentLocationName": "Left Chest"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONMinimal: New Art via URL
{
  "Authorization": {
	"UserID": 1111,
	"Password": "abc123"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "ORDER-0002",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "Jane Doe",
			"Address3": "456 Demo Ave",
			"City": "Minneapolis",
			"State": "MN",
			"Zip": "55401",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "White Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 3,
				  "SizeAsString": "L"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "DigitalPrint",
				  "FilePath": "https://cdn.example.com/art/image1.png",
				  "CustomerDesignCode": "ABC123",
				  "IntegrationColorway": {
					"GarmentLocationName": "Full Back"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONFull: Existing Design with 2 Manifests, 2 Products
{
  "Authorization": {
	"UserID": 1111,
	"Password": "abc123"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "ORDER-0003",
	  "OrderStatusNotificationUrl": "https://yourserver.com/webhook",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "IsResidential": true,
		  "ShipperReference": "REF-001",
		  "PackingSlipUrl": "https://files.example.com/slip1.pdf",
		  "DateToShip": "2024-05-10",
		  "DateDropDead": "2024-05-15",
		  "TaxID": "123-45-6789",
		  "ShipToAddress": {
			"Address1": "Jake Smith",
			"Address3": "101 Main St",
			"Address4": "Suite A",
			"City": "Chicago",
			"State": "IL",
			"Zip": "60601",
			"Country": "US",
			"PhoneNumber": "555-123-4567",
			"EmailAddress": "contact@example.com"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Black Tee",
				"ProcurementType": "Contract",
				"CustomerProductName": "TEE-BLK",
				"VendorProductName": "GLD2000",
				"Color": "Black",
				"ProductTypeName": "Apparel",
				"Notes": "Ship ASAP"
			  },
			  "LineItemSizes": [
				{ "Quantity": 1, "SizeAsString": "XL" },
				{ "Quantity": 2, "SizeAsString": "L" }
			  ],
			  "Services": [
				{ "Name": "BAG2 - POLY BAG" }
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "Embroidery",
				  "DesignID": 8675309,
				  "IntegrationColorway": {
					"ColorwayID": 1111111,
					"GarmentLocationName": "Left Chest",
					"Urls": [
					  {
						"Url": "https://cdn.example.com/mockup-left.jpg",
						"Description": "Left Chest Preview"
					  }
					],
					"Customizations": [
					  {
						"Font": "Arial",
						"Color": "White",
						"Position": "Left Chest",
						"Width": 3.5,
						"Height": 1.0,
						"Notes": "Use bold",
						"TextLines": [
						  {
							"LineNumber": 1,
							"Text": "Jake"
						  }
						]
					  }
					]
				  }
				}
			  ]
			}
		  ]
		},
		{
		  "ShipMethodAbbreviation": "USPS1ST",
		  "ShipToAddress": {
			"Address1": "John Doe",
			"Address3": "202 Broadway",
			"City": "New York",
			"State": "NY",
			"Zip": "10007",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "5000",
				"Mill": "Gildan",
				"Description": "Navy Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{ "Quantity": 5, "SizeAsString": "M" }
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "Embroidery",
				  "DesignID": 1234567,
				  "IntegrationColorway": {
					"ColorwayID": 1111112,
					"GarmentLocationName": "Right Sleeve"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONFull: URL Design with 2 Manifests, 2 Products
{
  "Authorization": {
	"UserID": 1111,
	"Password": "abc123"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "ORDER-0004",
	  "OrderStatusNotificationUrl": "https://webhook.site/full-test",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "Walter Smith",
			"Address3": "789 Sample Blvd",
			"City": "Orlando",
			"State": "FL",
			"Zip": "32801",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Red Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{ "Quantity": 3, "SizeAsString": "2XL" }
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "DigitalPrint",
				  "FilePath": "https://cdn.example.com/art/redtee.png",
				  "CustomerDesignCode": "REDTEE2024",
				  "Urls": [
					{
					  "Url": "https://cdn.example.com/mockup-red.png",
					  "Description": "Front Preview"
					}
				  ],
				  "IntegrationColorway": {
					"GarmentLocationName": "Full Front"
				  }
				}
			  ]
			}
		  ]
		},
		{
		  "ShipMethodAbbreviation": "FEDEX2DAY",
		  "ShipToAddress": {
			"Address1": "John Smith",
			"Address3": "900 Example Pkwy",
			"City": "Seattle",
			"State": "WA",
			"Zip": "98101",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "64000",
				"Mill": "Gildan",
				"Description": "Heather Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{ "Quantity": 6, "SizeAsString": "S" }
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "DigitalPrint",
				  "FilePath": "https://cdn.example.com/art/heather.png",
				  "CustomerDesignCode": "HTR2024",
				  "IntegrationColorway": {
					"GarmentLocationName": "Back"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
STANDARD APIRules and support
Support

Before Contacting Dubow Support

Need assistance? Contact Jake Scherfenberg, Dubow IT Manager.

For faster troubleshooting, include the information below. Do not send production passwords by email.

Item Why it helps
☐ Environment used Sandbox, production, or cloud endpoint.
☐ CustomerID, ContactID, and PoNumber Identifies the account and order attempt.
☐ Endpoint and timestamp Helps locate logs and reproduce timing-sensitive issues.
☐ Full JSON request and response Shows payload structure and validation output.
☐ Product lookup values Include ProductID, ProductName, Mill, or CustomerProductName.
☐ Artwork identifiers Include DesignID, ColorwayID, CustomerDesignCode, and file URLs if relevant.
☐ Shipping method and address example Needed for manifest or shipment problems.
STANDARD APIRules and support
Technical support

Contact API Support

Questions about integration setup, API access, product mapping, order submissions, or errors? Contact Dubow's IT team directly.

Dubow technical contact

Jake Scherfenberg

IT Manager · Dubow Textile

jake.scherfenberg@dubowtextile.com
Email API Support

What to include

Include the endpoint you were using, your order or PO reference (if relevant), the approximate date and time, and the error message or response. This helps us troubleshoot the request faster.

Do not include API passwords, cloud tokens, or other credentials in your email. Remove unnecessary personal information from examples.

View the full troubleshooting checklist

STANDARD APIStart here

Authentication

Direct Integration API requests use a valid UserID and Password inside the JSON Authorization block. Credentials are supplied by Dubow IT. Cloud IO Order Creation uses a separate, environment-specific customerToken. See Direct vs Cloud IO before choosing your endpoint.

Warning

Use sandbox credentials only in test. Do not embed production credentials client side or in public repos.

Field Rules

Field Type Required Description
UserID int Yes Your assigned Dubow integration user ID
Password string Yes Your Dubow-provided integration password
JSONJSON Authentication Block
{
  "Authorization": {
	"UserID": 1234,
	"Password": "MySecurePassword"
  }
}

Common Authentication Errors

  • Unauthorized. Please check UserID and Password.: Happens when credentials are missing or incorrect.
  • Make sure Content-Type is set to application/json.
  • Use test credentials only in sandbox environments; live credentials should be kept secure.
STANDARD APIStart here
CONNECTIONS AND RELIABILITY

Direct Integration vs Cloud IO

Dubow offers two routes for supported API operations. The Direct Integration API connects to Dubow's systems, while the Cloud IO API provides a cloud entry point. For order submissions, Cloud IO can accept and queue requests when the underlying Integration service is unavailable.

Direct Integration APIintegration.dubowtextile.com

Requests are sent directly to the Integration service.

If the service is unavailable, requests fail. They are not queued; failed requests must be retried by the sending system.
Cloud IO APIio.dubowtextile.com

Order submissions are received through a cloud entry point.

Accepted orders can be queued and automatically forwarded when connectivity to Dubow is restored.

What happens during an outage?

01
Send the order

Submit to the supported Direct or Cloud Order Creation URL, using the correct authentication for that service.

02
If Dubow's Integration service is offline

A Direct request fails and must be retried. An order accepted by Cloud IO is retained for later forwarding.

03
When connectivity returns

Cloud IO automatically forwards queued orders. Confirm that the order was actually created before treating the submission as completed.

Queue acceptance is not final order creation

Automatic queue and resend behavior is documented for Cloud Order Creation. Do not assume pricing, status checks, design creation, or GET lookups are stored for later replay. Do not submit the same PO through both endpoints simply because a Cloud order has not yet appeared in DMS. Check the eventual order result or contact Dubow before retrying an uncertain submission.

Order Creation: production and test URLs

These routes both create orders, but they use different URL structures and Cloud Order Creation has a different authentication requirement.

Direct productionPOST
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
Cloud IO productionPOST
https://io.dubowtextile.com/v1/orders
Show Test environment URLs
Direct testPOST
https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
Cloud IO testPOST
https://test-io.dubowtextile.com/v1/orders

Authentication differences

ConnectionOrder authenticationNotes
Direct IntegrationAuthorization.UserID and Authorization.Password in the request bodyUses the standard order JSON generated by the JSON Builder.
Cloud IOEnvironment-specific customerToken supplied by Dubow ITInclude the token in the JSON body as customerToken. Confirm the full Cloud request format before switching. Never embed credentials in public or client-side code.
Using Cloud IO as your standard order route

Cloud IO can be used for supported order submissions in normal operation as well as during an Integration service outage. Build and test against the Cloud route and its token requirements before going live. Cloud IO must still be reachable for a submission to be accepted.

Which API operations have Cloud URLs?

Cloud URLs are available for Order Creation, Decoration Pricing, Hard Goods Pricing, Create Design, Products, Locations, and Ship Methods. Accepted Cloud Order Creation requests are queued and automatically forwarded when connectivity returns.


STANDARD APIStart here

Preflight Validation Checklist

Use this checklist before submitting an order. These checks reflect common backend validation rules and the most frequent causes of rejected payloads.

Order header
  • Orders contains at least one order.
  • CustomerID, ContactID, and PoNumber are present.
  • PoNumber is unique for the customer.
Customer access
  • The authenticated UserID matches the customer or parent customer.
  • ContactID exists, belongs to the customer, and is active.
  • The customer is not blocked by credit-limit validation.
Manifest
  • Each order has at least one manifest.
  • Each manifest has one or more line items.
  • DateToShip, when provided, is after the order date.
Line item
  • Each line item has an IntegrationProduct.
  • Each line item has at least one LineItemSize.
  • Every quantity is greater than zero.
Product
  • Product identifiers resolve to one product only.
  • Use ProductName with Mill or, if unique, VendorName. A supplier may carry several matching product records; in that case, use Mill or the exact ProductID.
  • Inventory parts use only one size row.
Design
  • Decorated items include Designs.
  • Existing designs include valid DesignID and colorway data.
  • New artwork includes FilePath and/or CustomerDesignCode.

STANDARD APIRules and support

Backend Processing Rules

Some submitted values are validated, normalized, or used to drive internal DMS behavior after the request is received.

Area Behavior Customer impact
PoNumber Trimmed before use. Values longer than the supported storage length are shortened. Keep PO values concise and unique. Avoid relying on characters near the end of very long PO strings.
SecondaryPo Trimmed and length-limited. Use this for alternate references, not long notes.
EndUserPo Trimmed and stored as a short end-user reference. Use a compact value rather than a long freeform string.
OrderStatusNotificationUrl Stored as the callback for order status events. Use a stable, public HTTPS endpoint that can accept POST requests.
ShipmentNotificationUrl Stored separately from the order status callback when supplied. Use this when shipment-specific notification routing differs from general order status routing.
Customer profile Some behavior is customer-profile driven, including turn time, auto integration approval, dynamic part creation, and customer-specific charges. Your Dubow onboarding team can confirm which customer-profile rules apply to your integration.

STANDARD APIRules and support

Dates and Scheduling

Requested dates are treated as scheduling inputs. Dubow may adjust dates to satisfy business-day and customer-profile rules.

Field Behavior Recommendation
Manifests[].DateToShip Parsed as a date. Time-of-day is ignored. The final ship date may be moved to the next business day and may be pushed out by the customer turn-time rule. Submit the desired ship date, then use order status or webhooks to read the final scheduled date.
Manifests[].DateDropDead Parsed as a date. It cannot be earlier than the order date, ship date, or scheduled date. Use this only when there is a true deadline later than or equal to the requested ship date.
Business days Dates can be normalized to the next business day. Avoid sending weekend or same-day ship dates unless explicitly approved.
Note

The default production turn-time rule may be overridden by customer profile. Confirm your customer profile settings with Dubow during onboarding.


STANDARD APIOrders and status
POST ENDPOINTSubmit one or more orders

Order Creation

Use this endpoint to submit one or more orders to Dubow. Each order requires authentication and must contain at least one manifest with one or more valid decorated line items.

Loading endpoint details…

Endpoint

  • URL: https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
  • Method: POST
  • Headers: Content-Type: application/json

Field Rules

Field Type Required Description
Authorization object Yes Contains UserID and Password.
Authorization.UserID integer Yes Provided by Dubow. This is your API user ID.
Authorization.Password string Yes Provided by Dubow. API user password.
Orders array<IntegrationOrder> Yes One or more orders to create.
Orders[].CustomerID integer Yes Provided by Dubow. This is the CompanyID in DMS.
Orders[].ContactID integer Yes Provided by Dubow. This is the Customer/ContactID in DMS.
Orders[].PoNumber string Yes Customer-provided Purchase Order Number.
Orders[].Manifests array<Manifest> Yes At least one manifest is required and each must contain at least one LineItem.
Orders[].ReturnAddress object No Optional return address for the order.
Orders[].OrderStatusNotificationUrl string (URL) No Optional webhook callback URL for order status updates. See Webhook section.
Orders[].ShipmentNotificationUrlstringNoHTTPS callback URL for shipment notifications. See Webhooks.
Orders[].SecondaryPo string No Secondary purchase order reference.
Orders[].EndUserPo string No End user PO reference if applicable.
Orders[].PlatformstringNoOptional identifier of the platform from which the order originated.
Orders[].CustomerStorestringNoOptional customer store or program reference.
Orders[].BulkShip boolean No Enable Bulk shipping to ship multiple orders together.
Orders[].Notes string No Order-level notes.
JSONMinimal: Existing Design
{
  "Authorization": {
	"UserID": 1234,
	"Password": "abcd"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "PO10001",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "John Smith",
			"Address3": "123 Main St",
			"City": "Minneapolis",
			"State": "MN",
			"Zip": "55401",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Basic Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 1,
				  "SizeAsString": "M"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "Embroidery",
				  "DesignID": 8675309,
				  "IntegrationColorway": {
					"ColorwayID": 111111111,
					"GarmentLocationName": "Left Chest",
					"Urls": [
					  {
						"Url": "https://www.abcxyz.com/preview.jpg",
						"Description": "Left Chest Preview"
					  }
					]
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONMinimal: Design via URL
{
  "Authorization": {
	"UserID": 1234,
	"Password": "abcd"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "PO10002",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "Jane Doe",
			"Address3": "456 Oak Ave",
			"City": "Brooklyn",
			"State": "NY",
			"Zip": "11201",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Basic Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 2,
				  "SizeAsString": "L"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "DigitalPrint",
				  "FilePath": "https://azbycx.com/images/686388.png",
				  "CustomerDesignCode": "686388",
				  "Urls": [
					{
					  "Url": "https://azbycx.com/images/686388-5250-black-back.png",
					  "Description": "Back Preview"
					}
				  ],
				  "IntegrationColorway": {
					"GarmentLocationName": "FULL Back"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONFull: Existing Design
{
  "Authorization": {
	"UserID": 1234,
	"Password": "abcd"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "PO20001",
	  "ReturnAddress": {
		"Address1": "Returns Dept",
		"Address3": "123 Circle Court",
		"City": "Minneapolis",
		"State": "MN",
		"Zip": "55401",
		"Country": "US",
		"PhoneNumber": "555-123-4567",
		"EmailAddress": "returns@example.com"
	  },
	  "OrderStatusNotificationUrl": "https://example.com/status-hook",
	  "CommitLater": true,
	  "IsTestOrder": true,
	  "SecondaryPo": "PO-ALT-002",
	  "EndUserPo": "ENDUSER-202",
	  "Notes": "Urgent rush order - notify on any delays.",
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "IsResidential": true,
		  "ShipToAddress": {
			"Address1": "ATTN John Smith",
			"Address3": "852 1st Ave",
			"City": "Brooklyn",
			"State": "NY",
			"Zip": "11201",
			"Country": "US",
			"PhoneNumber": "555-999-8888",
			"EmailAddress": "john@example.com"
		  },
		  "LineItems": [
			{
			  "Name": "SKU-ABC",
			  "RetailPrice": 22.50,
			  "HarmonizedCode": "610910",
			  "NoDecoration": false,
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Basic Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 3,
				  "SizeAsString": "XL"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "Embroidery",
				  "DesignID": 8675309,
				  "IntegrationColorway": {
					"ColorwayID": 111111111,
					"GarmentLocationName": "Left Chest",
					"Urls": [
					  {
						"Url": "https://www.abcxyz.com/preview.jpg",
						"Description": "Left Chest Preview"
					  }
					]
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}
JSONFull: Design via URL
{
  "Authorization": {
	"UserID": 1234,
	"Password": "abcd"
  },
  "Orders": [
	{
	  "CustomerID": 1234,
	  "ContactID": 5678,
	  "PoNumber": "PO20002",
	  "OrderStatusNotificationUrl": "https://example.com/status-hook",
	  "IsTestOrder": false,
	  "Manifests": [
		{
		  "ShipMethodAbbreviation": "UPSG",
		  "ShipToAddress": {
			"Address1": "John Doe",
			"Address3": "512 Elm Street",
			"City": "Chicago",
			"State": "IL",
			"Zip": "60601",
			"Country": "US"
		  },
		  "LineItems": [
			{
			  "IntegrationProduct": {
				"ProductName": "2000",
				"Mill": "Gildan",
				"Description": "Basic Tee",
				"ProcurementType": "Contract"
			  },
			  "LineItemSizes": [
				{
				  "Quantity": 5,
				  "SizeAsString": "S"
				}
			  ],
			  "Designs": [
				{
				  "DesignTypeName": "DigitalPrint",
				  "FilePath": "https://azbycx.com/images/686388.png",
				  "CustomerDesignCode": "686388",
				  "Urls": [
					{
					  "Url": "https://azbycx.com/images/686388-5250-black-back.png",
					  "Description": "Back Preview"
					}
				  ],
				  "IntegrationColorway": {
					"GarmentLocationName": "FULL Back"
				  }
				}
			  ]
			}
		  ]
		}
	  ]
	}
  ]
}

STANDARD APIOrders and status
POST ENDPOINTRetrieve existing order status

Order Status

Use this Webhook/Endpoint to retrieve the current status of orders submitted to Dubow. Status updates can also be received via webhook if configured.

Loading endpoint details…
Tip

If you include OrderStatusNotificationUrl in the Order Creation request, you will receive automatic status updates via webhook and do not need to poll the status endpoint.

Webhook Endpoint (Automatic)

Include OrderStatusNotificationUrl in your Order Creation request and we will POST status updates to that URL.

Status Check Endpoint (Manual)

  • URL: https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status
  • Method: POST
  • Headers: Content-Type: application/json

Call Fields

Field Type Required Description
Authorization object Yes Container for UserID and Password.
Authorization.UserID integer Yes API user identifier.
Authorization.Password string Yes API user password.
RequestItems array Yes One or more request objects used to look up order status.
RequestItems[].OrderIDintegerConditionalDubow Order Number. Required when CustomerPo is not provided.
RequestItems[].CustomerPostringConditionalCustomer Purchase Order Number. Required when OrderID is not provided.
Lookup requirement

Each RequestItems[] entry must contain either OrderID or CustomerPo. You do not need to provide both. Use one lookup value per request item for the clearest result.

Response Fields

Field Type Required Description
ResponseSummary object Always Includes IsSuccess, Errors, and Authorization result for the call.
ResponseSummary.Authorization.TransactionID string|null No Transaction identifier, may be null.
ResponseSummary.Authorization.UserID integer No Authenticated user ID.
ResponseSummary.Authorization.Password null No Redacted in responses.
ResponseSummary.Authorization.IsAuthenticated boolean Always Authentication success flag.
Orders array When IsSuccess is true Collection of order summaries.
Orders[].CustomerPo string No Customer PO number.
Orders[].OrderID integer No Internal Dubow order identifier.
Orders[].CustomerID integer No Customer identifier.
Orders[].ReceivingStatus string No Receiving state, for example No.
Orders[].ShippingStatus string No Shipping state, for example No.
Orders[].IsInvoiced boolean No Whether the order has been invoiced.
Orders[].IsCanceled boolean No Whether the order has been canceled.
Orders[].ShippingCost number No Order-level shipping cost returned as a JSON number, for example 0.
Orders[].HandlingCost number No Order-level handling cost returned as a JSON number, for example 2.22.
Orders[].OrderStatus string No Current stage of the order. See OrderStatus values.
Orders[].UniqueTrackingNumbers array<UniqueTrackingNumber> No Distinct tracking numbers for the order. See “UniqueTrackingNumbers item fields”.
Orders[].LineItems array<LineItem> No Per-line item progress details. See “Line item fields returned.”
Shipping and handling costs

ShippingCost and HandlingCost are numeric amounts returned on each Orders[] object. A value of 0 is valid.

Date format

Date fields in this response use the Microsoft JSON date format, for example /Date(1757566800000-0500)/.

OrderStatus values

Value Description
Entered Order has been entered into our system.
Partially Received Product has been received but not for the entire order.
Received All product for the order has been received.
Order in Production Order has entered production.
Produced Order has been fully produced.
QA Order has passed Quality Assurance.
Partially QA'd Some of the product on the order has passed Quality Assurance.
Partially Shipped Some of the product on the order has been shipped.
Shipped The entire order has been shipped.
Invoiced Order has been invoiced and may be awaiting payment.
Canceled Order was canceled.

Line item fields returned

Field Type Required Description
Orders[].LineItems[].LineItemName string No Display name of the item.
Orders[].LineItems[].Requested integer No Quantity requested.
Orders[].LineItems[].Received integer No Quantity received.
Orders[].LineItems[].BackOrdered integer No Quantity on back order.
Orders[].LineItems[].Shipped integer No Quantity shipped.
Orders[].LineItems[].Damaged integer No Quantity damaged.
Orders[].LineItems[].ArtNotReceived boolean No Artwork has not been received.
Orders[].LineItems[].ArtBeingProcessed boolean No Artwork is in processing.
Orders[].LineItems[].WaitingForApproval boolean No Awaiting approval.
Orders[].LineItems[].OnHold boolean No On hold status.
Orders[].LineItems[].DateToShip_Orig string No Original ship date in Microsoft JSON format.
Orders[].LineItems[].DateToShip string No Current ship date in Microsoft JSON format.
Orders[].LineItems[].DateArtCompleted string No Artwork completion date in Microsoft JSON format.
Orders[].LineItems[].ReceivingHistory array|null No Receiving events for the line item, null when none.
Orders[].LineItems[].IsShippable boolean No True if the line item can be shipped.
Orders[].LineItems[].LineItemID integer No Line item identifier.
Orders[].LineItems[].IsScheduled boolean No True if the line is scheduled in production.

UniqueTrackingNumbers item fields

Field Type Required Description
Orders[].UniqueTrackingNumbers[].TrackingNumber string Yes The carrier’s tracking number.
Orders[].UniqueTrackingNumbers[].DateShipped string (ISO 8601) No Shipment timestamp, for example 2025-08-04T12:51:00.
Orders[].UniqueTrackingNumbers[].ShipMethodName string No Readable service name, for example FedEx 2 day or UPS Ground.
Orders[].UniqueTrackingNumbers[].ShipperReference string No Reference provided by the shipper, useful for label or shipment lookup.

Webhook Alternative

If you include OrderStatusNotificationUrl in your order request, Dubow will push order status updates automatically to that endpoint.

JSONSample Order Status Call: by OrderID
{
	"Authorization": {
		"UserID": 1234,
		"Password": "ABCDEFG"
	},
	"RequestItems": [
		{
			"OrderID": 8675309
		}
	]
}
JSONSample Order Status Call: by CustomerPo
{
	"Authorization": {
		"UserID": 1234,
		"Password": "ABCDEFG"
	},
	"RequestItems": [
		{
			"CustomerPo": "PO-100245"
		}
	]
}
JSONSample Order Status Response
{
    "ResponseSummary": {
        "IsSuccess": true,
        "Errors": [],
        "Authorization": {
            "TransactionID": null,
            "UserID": 1234,
            "Password": null,
            "IsAuthenticated": true,
            "EmployeeID": null
        }
    },
    "Orders": [
        {
            "CustomerPo": "PO-100245",
            "OrderID": 8675309,
            "ReceivingStatus": "No",
            "ShippingStatus": "No",
            "IsInvoiced": false,
            "IsCanceled": false,
            "LineItems": [
                {
                    "LineItemName": "2000 - Basic Tee | NoSize",
                    "Requested": 4,
                    "Received": 0,
                    "BackOrdered": 4,
                    "Shipped": 0,
                    "Damaged": 0,
                    "ArtNotReceived": false,
                    "ArtBeingProcessed": false,
                    "WaitingForApproval": false,
                    "OnHold": false,
                    "DateToShip_Orig": "/Date(1793077200000-0500)/",
                    "DateToShip": "/Date(1796623200000-0600)/",
                    "DateArtCompleted": "/Date(1759336500000-0500)/",
                    "ReceivingHistory": null,
                    "IsShippable": false,
                    "LineItemID": 11111111,
                    "IsScheduled": false
                }
            ],
            "UniqueTrackingNumbers": [],
            "CustomerID": 1234,
            "OrderStatus": "Entered",
            "ShippingCost": 0,
            "HandlingCost": 2.22
        }
    ]
}

STANDARD APIOrders and status
POST ENDPOINTRetrieve invoice status

Invoice Status

Use this endpoint to retrieve invoicing and billing status for your submitted orders. This is useful for reconciliation, accounts payable, and reporting workflows.

Loading endpoint details…

Endpoint

  • URL: https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice
  • Method: POST
  • Headers: Content-Type: application/json

Field Rules

Field Type Required Description
Authorization object Yes Contains UserID and Password.
Authorization.UserID integer Yes API user identifier.
Authorization.Password string Yes API user password.
RequestItems array Yes One or more request objects for invoice lookup.
RequestItems[].CustomerPo string Yes Purchase Order Number.

Response Fields

Field Type Required Description
OrderID integer No Internal Dubow order identifier.
CustomerID integer No Customer identifier.
IsInvoiced boolean No Whether the order has been invoiced.
IsCanceled boolean No Whether the order has been canceled.
ShippingTotal number No Total shipping charges.
DecorationTotal number No Total decoration charges.
GarmentTotal number No Total garment charges.
Services number No Total for services.
Total number No Grand total for the invoice.
AmountDue number No Outstanding balance.
AmountPaid number No Amount already paid.
AmountCredited number No Credits applied.
AmountDebited number No Debits applied.
DateInvoiced string (ISO 8601) No Date and time the invoice was created.
LineItems array No Collection of invoiced line items.
JSONSample Invoice Status Response
{
	"ResponseSummary": {
		"IsSuccess": true,
		"Errors": [],
		"Authorization": {
			"TransactionID": null,
			"UserID": 12345,
			"Password": null,
			"IsAuthenticated": true
		}
	},
	"Invoices": [
		{
			"OrderID": 8675309,
			"CustomerPO": "111111",
			"IsInvoiced": false,
			"IsCanceled": false,
			"ShippingTotal": 0,
			"DecorationTotal": 0.00,
			"GarmentTotal": 0.00,
			"Services": 0.00,
			"Total": 0.0000,
			"AmountDue": 0.0000,
			"AmountPaid": 0.0000,
			"AmountCredited": 0.0000,
			"AmountDebited": 0.0000,
			"LineItems": [
				{
					"LineItemName": null,
					"PartName": "LK8000 ",
					"GarmentLocationName": "LEFT CHEST",
					"CustomerDesignCode": null,
					"DesignID": "55555",
					"IsService": false,
					"DecorationTotal": 0.00,
					"GarmentTotal": 0.00,
					"Services": 0,
					"Total": 0.00
				},
				{
					"LineItemName": null,
					"PartName": "LK8000 ",
					"GarmentLocationName": "LEFT CHEST",
					"CustomerDesignCode": null,
					"DesignID": "55555",
					"IsService": false,
					"DecorationTotal": 0.00,
					"GarmentTotal": 0.00,
					"Services": 0,
					"Total": 0.00
				}
			],
			"DateInvoiced": null
		}
	]
}		

STANDARD APIProduct and design APIs
GET ENDPOINTSearch the Dubow product catalog

Products

Use this GET endpoint to retrieve active product records and the exact values needed for order submission. Do not guess a product name, mill, size, or color. Call this endpoint first, then use the returned values in the order payload.

Loading endpoint details…

This is a read-only product lookup. Use returned product details to build an IntegrationProduct block in an order request.

How filters work

All query parameters are optional. Omit every parameter to return the full available product list. Supply one or more parameters to narrow the results. When combining parameters, all supplied filters are applied to the request.

Original four-environment URL table

Complete endpoint URLs

EnvironmentComplete URL
Cloud Productionhttps://io.dubowtextile.com/v1/products
Cloud Testhttps://test-io.dubowtextile.com/v1/products
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products

Query parameters

ParameterTypeRequiredFillable valueExample
productNamestringNoThe product style or part name to search for. Use the value returned in the response Name field when an exact match is required.G500
productIdintegerNoThe numeric product identifier returned in the response Id field.5001
millstringNoThe manufacturer or mill name. Use the spelling returned in the response Mill field.Gildan
URL encoding

Query values containing spaces or special characters must be URL encoded. For example, Port Authority becomes Port%20Authority.

GET request examples

GETReturn the full product catalog
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products
GETFind a product by style or part name
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productName=G500
GETFind one product by numeric ID
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productId=5001
GETReturn products from one mill
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?mill=Gildan
GETCombine product name and mill filters
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productName=K240&mill=Port%20Authority

Response fields

FieldTypeMeaning and reuse
IdintegerUnique product identifier. May be sent back as productId in later lookup requests.
NamestringExact product style or part name. Use this value for product matching in integration payloads.
DescriptionstringHuman-readable product description.
MillstringExact manufacturer or mill name. Use this spelling when a mill is required to disambiguate the product.
ProductTypestringProduct classification, such as T-Shirt.
IsActivebooleanIndicates whether the product is currently active. Submit active products only.
RequiresMillbooleanWhen true, the product style may require disambiguation. Prefer the returned Mill or exact ProductID; VendorName can also be used if it resolves to exactly one product.
Sizesarray<string>Accepted size names for the product. Use these exact values in LineItemSizes[].SizeAsString.
Colorsarray<string>Available product colors. Use the returned spelling when supplying a product color.
RESPONSEProducts result
[
  {
    "Id": 5001,
    "Name": "G500",
    "Description": "Gildan Heavy Cotton Tee",
    "Mill": "Gildan",
    "ProductType": "T-Shirt",
    "IsActive": true,
    "RequiresMill": true,
    "Sizes": ["S", "M", "L", "XL", "2XL"],
    "Colors": ["White", "Black", "Navy", "Red"]
  }
]
STANDARD APIProduct and design APIs
GET ENDPOINTLook up supported decoration locations

Locations

Returns valid garment and print locations. Use the returned Name in design creation and order payload location fields.

Loading endpoint details…
Original four-environment URL table

Complete endpoint URLs

EnvironmentBase URL
Cloud Productionhttps://io.dubowtextile.com/v1/locations
Cloud Testhttps://test-io.dubowtextile.com/v1/locations
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations

Query parameters

ParameterTypeRequiredDescriptionExample
namestringNoFilters by location name or matching text.Left%20Chest
idintegerNoFilters by the Dubow location ID.3
How to build the URL

Replace placeholder values such as {name} with your filter value, URL-encode spaces as %20, and omit unused filters.

Complete GET examples

GETReturn all locations
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations
GETFind Left Chest by name
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations?name=Left%20Chest
GETFind a location by ID
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations?id=3

Response fields

FieldTypeUse
IDintegerDubow location identifier. Can be used with the id filter.
NamestringCanonical location name to submit in design and order payloads.
DescriptionstringReadable explanation of the placement.
Aliasesarray of stringsOther recognized names or abbreviations for the location.
RESPONSELocations result
[
  {
    "ID": 3,
    "Name": "Left Chest",
    "Description": "Standard left chest placement",
    "Aliases": ["LC", "Left Breast"]
  }
]
STANDARD APIProduct and design APIs
CREATE DESIGN APICreate a standalone design

Create Design

Creates one or more standalone designs before they are used on an order. Each design identifies the artwork, decoration method, finished dimensions, location, and one or more colorways.

Loading endpoint details…

Use this endpoint to create a new design. To reference an existing design while placing an order, use the Designs[] order fields instead.

Original four-environment URL table

Complete endpoint URLs

EnvironmentComplete URL
Cloud Productionhttps://io.dubowtextile.com/v1/designs/new
Cloud Testhttps://test-io.dubowtextile.com/v1/designs/new
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new

Design fields

FieldTypeRequiredDescription and example
Designs[].DesignNamestringYesReadable design title, for example Acme Left Chest Logo.
Designs[].DesignTypeNamestringYesDecoration method for the design. See Available Decoration Method Names below.
Designs[].WidthdecimalYesRequested finished width in inches.
Designs[].HeightdecimalYesRequested finished height in inches.
Designs[].FileUrlstring URLYesDirect HTTPS URL to the source artwork file. The URL must be accessible to Dubow without an interactive login.
Designs[].LocationstringYesGarment or imprint location. Use a value returned by the Locations endpoint.
Designs[].ColorwaysarrayYesAt least one colorway describing garment color and colorway-specific artwork instructions.
Designs[].ContactIDintegerAccount-dependentDubow contact receiving or owning the design.
Designs[].ProgramIDintegerNoProgram to associate with the design when applicable.
Designs[].AdditionalNotesstringNoProduction or art instructions.
Designs[].IsHatbooleanNoIndicates that the design is intended for headwear.
Designs[].ProportionalBystringNoDimension used to preserve proportions, for example Width.
Designs[].ChargePONumberstringNoPO reference used for applicable design charges.
Designs[].AdditionalServicesarray of stringsNoRequested design services, for example Digitizing.

Available Decoration Method Names

Use one of these method names in Designs[].DesignTypeName.

  • Applique
  • Digital Print
  • Direct to Film
  • Dye Sublimation
  • Embroidery
  • Screen Print
  • HG Flat
  • HG Cylindrical
  • HG Dye Sublimation
  • Heat Transfer
  • Laser Etch
  • Pad Print
  • Ultra Print
  • Magnet
  • Pinback Button
  • Sticker
  • Poster

Colorway fields

FieldTypeRequiredDescription
Colorways[].GarmentColorstringYesGarment color this colorway is intended for.
Colorways[].NotesstringNoColorway-specific instructions.
Colorways[].CustomerColorwayCodestringNoCustomer's identifier for the colorway.
Colorways[].ColorwayFileUrlstring URLNoDirect URL to a colorway-specific preview or artwork file.
Colorways[].BreaksarrayConditionalThread, ink, or production break details for this colorway.
Using production breaks

When your design requires thread, ink, or production breaks, contact Dubow for the accepted values to include in Colorways[].Breaks. The example below uses an empty array.

REQUESTComplete design creation example
{
  "Authorization": {
    "TransactionID": "design-create-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "Designs": [
    {
      "DesignName": "Acme Left Chest Logo",
      "ContactID": 9001,
      "ProgramID": 5678,
      "DesignTypeName": "Embroidery",
      "Width": 3.5,
      "Height": 2.0,
      "FileUrl": "https://files.example.com/art/acme-logo.ai",
      "Location": "Left Chest",
      "AdditionalNotes": "Match approved brand colors",
      "IsHat": false,
      "ProportionalBy": "Width",
      "ChargePONumber": "PO-55123",
      "AdditionalServices": ["Digitizing"],
      "Colorways": [
        {
          "GarmentColor": "Navy",
          "Notes": "Use white thread for the primary logo",
          "CustomerColorwayCode": "CW-NAVY-01",
          "ColorwayFileUrl": "https://files.example.com/art/acme-navy.png",
          "Breaks": []
        },
        {
          "GarmentColor": "White",
          "Notes": "Use navy thread for the primary logo",
          "CustomerColorwayCode": "CW-WHITE-01",
          "ColorwayFileUrl": "https://files.example.com/art/acme-white.png",
          "Breaks": []
        }
      ]
    }
  ]
}

Response fields

FieldTypeReturnedDescription
ResponseSummaryobjectAlwaysCall-level success, errors, and authorization result. See ResponseSummary.
ResultsarraySuccessful resultOne result object for each design processed by the request.
Results[].IsCreatedbooleanPer resultIndicates whether the design was created.
Results[].DesignIDintegerPer resultDubow design identifier assigned to the created design. Save this value for later order submissions.
Results[].OrderIDinteger or nullPer resultOrder identifier when the creation workflow is associated with an order. The supplied standalone design example returns null.
Results[].PoNumberstring or nullPer resultPO reference returned for the design result. In the supplied example it reflects ChargePONumber.
Results[].ColorwaysarrayPer resultColorways created for the design.
Results[].Colorways[].NumberintegerPer colorwayDubow colorway number assigned to the created colorway.
Results[].Colorways[].NamestringPer colorwayReturned colorway name. The supplied example uses the garment color.
Results[].MessagesOnDesignvalue or nullPer resultDesign-level messages when returned. The supplied successful example returns null.
Save the returned IDs

After creation, retain DesignID and the returned colorway Number values. They identify the newly created design and colorways for subsequent integration workflows.

RESPONSECreate design result
{
  "ResponseSummary": {
    "IsSuccess": true,
    "Errors": [],
    "Authorization": {
      "TransactionID": "design-create-001",
      "UserID": 1234,
      "Password": null,
      "IsAuthenticated": true
    }
  },
  "Results": [
    {
      "IsCreated": true,
      "DesignID": 44210,
      "OrderID": null,
      "PoNumber": "PO-55123",
      "Colorways": [
        { "Number": 88101, "Name": "Navy" },
        { "Number": 88102, "Name": "White" }
      ],
      "MessagesOnDesign": null
    }
  ]
}
STANDARD APIRules and support
Pricing APIs

Pricing

Use the pricing endpoints to retrieve decoration price grids or hard goods pricing. Choose the endpoint based on whether the request is for a decoration method or a hard goods part.

Decoration Pricing

Returns quantity and production-measure price ranges for screen print, pad print, embroidery, applique, and other decoration methods.

Hard Goods Pricing

Returns matching hard goods part records and their available pricing ranges.

STANDARD APIProduct and design APIs
PRICING APIDecoration price grids

Decoration Pricing

Returns the applicable decoration price grid for a pricing type, decoration method, quantity, and the measurement required by that method.

Loading endpoint details…
Original four-environment URL table

Complete endpoint URLs

EnvironmentComplete URL
Cloud Productionhttps://io.dubowtextile.com/v1/pricing/decoration
Cloud Testhttps://test-io.dubowtextile.com/v1/pricing/decoration
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration
Unused fields

Fields that do not apply to the selected decoration method may be omitted from PricingRequest or included with a value of null. The examples below omit unused fields to keep requests concise.

Accepted PricingType values

ValueWhen to useProgramID
ProgramRetrieves pricing assigned to a specific Dubow program.Required. Supply the numeric program ID provided by Dubow.
IntegratedRetrieves integration-specific pricing available to the authenticated customer.Omit or set to null unless Dubow instructs otherwise.
DefaultRetrieves the default pricing grid.Omit or set to null.

DecorationMethod and measurement rules

Use the exact supported method name. See Available Decoration Method Names for the complete business-facing list. The pricing specification explicitly confirms the API values shown below.

DecorationMethod valueRequired pricing fieldsFields to omit or set to null
ScreenPrintQuantity, ColorsStitchCount, Height, Width
PadPrintQuantity, ColorsStitchCount, Height, Width
AppliqueQuantity, StitchCountColors, Height, Width
EmbroideryQuantity, StitchCountColors, Height, Width
Other enabled methodsQuantity, Height, WidthColors, StitchCount

Available Decoration Method Names

Use the exact documented name in PricingRequest.DecorationMethod, design creation, or order payload fields where a decoration method is required.

VALUESSupported decoration method names
Applique
Digital Print
Direct to Film
Dye Sublimation
Embroidery
Screen Print
HG Flat
HG Cylindrical
HG Dye Sublimation
Heat Transfer
Laser Etch
Pad Print
Ultra Print
Magnet
Pinback Button
Sticker
Poster
Common names

Direct to Film may be referred to as DTFx, and Ultra Print may be referred to as UVTx. Submit the formal decoration method name shown above unless Dubow has approved another account-specific value.

Exact API spelling

The available-method list uses readable names such as Digital Print and Direct to Film. Confirm the exact API value with Dubow before sending a method that is not one of the four explicitly defined above.

Request fields

FieldTypeRequiredAccepted value
AuthorizationobjectYesStandard Dubow authorization block.
PricingRequest.PricingTypestringYesProgram, Integrated, or Default.
PricingRequest.ProgramIDinteger or nullConditionalRequired only when PricingType is Program.
PricingRequest.DecorationMethodstringYesExact supported API method value.
PricingRequest.QuantityintegerYesTotal quantity being priced.
PricingRequest.Colorsinteger or nullConditionalRequired for Screen Print and Pad Print.
PricingRequest.StitchCountinteger or nullConditionalRequired for Embroidery and Applique.
PricingRequest.Heightdecimal or nullConditionalRequired with Width for dimension-based methods.
PricingRequest.Widthdecimal or nullConditionalRequired with Height for dimension-based methods.
REQUESTScreen Print, unused fields omitted
{
  "Authorization": {
    "TransactionID": "price-sp-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PricingRequest": {
    "PricingType": "Program",
    "ProgramID": 5678,
    "DecorationMethod": "ScreenPrint",
    "Quantity": 48,
    "Colors": 3
  }
}
REQUESTEmbroidery, unused fields omitted
{
  "Authorization": {
    "TransactionID": "price-emb-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PricingRequest": {
    "PricingType": "Integrated",
    "DecorationMethod": "Embroidery",
    "Quantity": 24,
    "StitchCount": 8500
  }
}
REQUESTDimension-based method with nulls
{
  "Authorization": {
    "TransactionID": "price-size-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PricingRequest": {
    "PricingType": "Default",
    "ProgramID": null,
    "DecorationMethod": "CONFIRMED_METHOD_VALUE",
    "Quantity": 12,
    "StitchCount": null,
    "Colors": null,
    "Height": 4.0,
    "Width": 6.0
  }
}

Response fields

The pricing response contains the shared ResponseSummary plus a PriceGrid object. Each object in PriceGrid.Prices[] is a returned pricing tier.

FieldTypeReturnedMeaning
ResponseSummaryobjectAlwaysCall-level success, errors, and authorization result. See ResponseSummary.
PriceGridobjectSuccessful resultThe resolved pricing grid and its pricing tiers.
PriceGrid.PricingTypestringSuccessful resultPricing type resolved for the result, such as Program, Integrated, or Default.
PriceGrid.ProgramIDinteger or nullSuccessful resultProgram identifier associated with the returned grid when applicable.
PriceGrid.DecorationMethodstringSuccessful resultDecoration method represented by the returned grid.
PriceGrid.PriceGridNamestringSuccessful resultReadable name of the pricing grid that was selected.
PriceGrid.CurrencystringSuccessful resultCurrency used by the returned prices. The supplied example returns USD.
PriceGrid.PricingModelstringSuccessful resultPricing model for the grid. The supplied example returns Matrix.
PriceGrid.PricesarraySuccessful resultPricing tiers returned for the resolved grid.
PriceGrid.Prices[].ColorsintegerMethod-dependentColor count represented by this tier for color-based methods such as Screen Print or Pad Print.
PriceGrid.Prices[].MinimumQuantityintegerTier fieldLowest quantity included in the returned tier.
PriceGrid.Prices[].MaximumQuantityintegerTier fieldHighest quantity included in the returned tier.
PriceGrid.Prices[].UnitPricedecimalTier fieldPer-unit decoration price for that returned tier.
How to use the tiers

Match the order quantity to the tier whose MinimumQuantity and MaximumQuantity contain that quantity. UnitPrice is the price returned for that tier. Method-specific measurement fields can differ by decoration method.

RESPONSEDecoration pricing result
{
  "ResponseSummary": {
    "IsSuccess": true,
    "Errors": [],
    "Authorization": {
      "TransactionID": "price-sp-001",
      "UserID": 1234,
      "Password": null,
      "IsAuthenticated": true
    }
  },
  "PriceGrid": {
    "PricingType": "Program",
    "ProgramID": 5678,
    "DecorationMethod": "ScreenPrint",
    "PriceGridName": "Screen Print - Standard",
    "Currency": "USD",
    "PricingModel": "Matrix",
    "Prices": [
      { "Colors": 3, "MinimumQuantity": 24, "MaximumQuantity": 47, "UnitPrice": 2.75 },
      { "Colors": 3, "MinimumQuantity": 48, "MaximumQuantity": 71, "UnitPrice": 2.25 }
    ]
  }
}
STANDARD APIProduct and design APIs
PRICING APIHard goods price grids

Hard Goods Pricing

Returns hard goods price records matching the supplied PartName search value.

Loading endpoint details…
Original four-environment URL table

Complete endpoint URLs

EnvironmentComplete URL
Cloud Productionhttps://io.dubowtextile.com/v1/pricing/hardgoods
Cloud Testhttps://test-io.dubowtextile.com/v1/pricing/hardgoods
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods
Condensed search values

Use the values below rather than the complete internal PR- PartName or a color-specific suffix. Group values such as Sticker, Mug, and Poster return the matching products in that family.

Request fields

FieldTypeRequiredDescription
AuthorizationobjectYesStandard Dubow authorization block.
PartNamestringYesUse one supported search value from the table below.

Supported hard goods search values

PartName search valueDescription
MugCeramic and stainless mugs in available sizes and colors.
ButtonPinback buttons in available round and square sizes.
PosterPrinted posters in available dimensions.
StickerPrinted stickers in available sizes.
CanCoolerClassic and skinny can coolers in available finishes.
CoasterAvailable coaster products.
15798BIC notebook with matching pen.
16OZSTEIN16 oz ceramic stein.
20VIKTMB20 oz Viking stainless steel tumbler.
CCLM00724 oz Coleman FreeFlow hydration bottle.
CDKW005Peristyle bottle.
CDKW024Wine tumbler.
CDKW03930 oz Viking tumbler.
CDKW044Iconic tumbler.
CDKW05620 oz Rainbow Nova tumbler.
CDKW05820 oz Nova metallic tumbler.
LG9221Tuscany journal.
LG9346Tuscany Bluetooth speaker.
METALMAGNET_2X22 x 2 metal magnet.
MG40416.9 oz bottle with duo lid.
PICTUREFRAME4 x 6 brushed aluminum picture frame.
PINTGLASS16 oz pint glass.
PL-419728 oz water bottle.
SKINNYTUMB20 oz skinny tumbler.
STAINLESSPINTGLASSStainless steel pint glass.

Request examples

REQUESTAll sticker products
{
  "Authorization": {
    "TransactionID": "pricing-sticker-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PartName": "Sticker"
}
REQUESTAll mug products
{
  "Authorization": {
    "TransactionID": "pricing-mug-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PartName": "Mug"
}
REQUESTAll pinback buttons
{
  "Authorization": {
    "TransactionID": "pricing-button-001",
    "UserID": 1234,
    "Password": "your-integration-password",
    "IsAuthenticated": false
  },
  "PartName": "Button"
}

Response fields

FieldTypeReturnedDescription
ResponseSummaryobjectAlwaysCall-level success, errors, and authorization result. See ResponseSummary.
PricesarraySuccessful resultMatching hard goods price records.
Prices[].PartIDintegerPer resultDubow internal identifier for the matching hard good.
Prices[].PartNamestringPer resultComplete matching internal PartName.
Prices[].Range1decimalPer resultFirst configured price value.
Prices[].Range2decimalPer resultSecond configured price value.
Pricing ranges

For the quantities represented by Range1 and Range2, confirm the applicable pricing tiers with Dubow.

RESPONSEExample family result
{
  "ResponseSummary": {
    "IsSuccess": true,
    "Errors": [],
    "Authorization": {
      "TransactionID": "pricing-sticker-001",
      "UserID": 1234,
      "Password": null,
      "IsAuthenticated": true
    }
  },
  "Prices": [
    { "PartID": 101, "PartName": "PR-STICKERSML-WHITE", "Range1": 0.85, "Range2": 0.45 },
    { "PartID": 102, "PartName": "PR-STICKERMED-WHITE", "Range1": 1.10, "Range2": 0.60 }
  ]
}
STANDARD APIProduct and design APIs
GET ENDPOINTLook up shipping methods

Ship Methods

Returns valid shipping methods. Use the returned Abbreviation as ShipMethodAbbreviation in an order manifest.

Loading endpoint details…
Original four-environment URL table

Complete endpoint URLs

EnvironmentBase URL
Cloud Productionhttps://io.dubowtextile.com/v1/shipmethods
Cloud Testhttps://test-io.dubowtextile.com/v1/shipmethods
Integration Productionhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods
Integration Testhttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods

Query parameters

ParameterTypeRequiredDescriptionExample
namestringNoFilters by the readable ship method name.UPS%20Ground
idintegerNoFilters by the Dubow ship method ID.12
vendorNamestringNoFilters by carrier or shipping vendor.UPS
How to build the URL

Enter actual values, URL-encode spaces, and omit unused query parameters. Combine multiple filters with &.

Complete GET examples

GETReturn all ship methods
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods
GETFind UPS Ground by name
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?name=UPS%20Ground
GETReturn all UPS methods
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?vendorName=UPS
GETFilter by vendor and ID
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?vendorName=UPS&id=12

Response fields

FieldTypeUse
IdintegerDubow ship method identifier. Can be used with the id filter.
NamestringReadable shipping method name.
AbbreviationstringValue to send as ShipMethodAbbreviation in Orders[].Manifests[].
VendorNamestringCarrier or shipping vendor name.
RESPONSEShip methods result
[
  { "Id": 12, "Name": "UPS Ground", "Abbreviation": "UPSG", "VendorName": "UPS" },
  { "Id": 15, "Name": "UPS 2nd Day Air", "Abbreviation": "UPS2", "VendorName": "UPS" }
]
ORDER FIELDUse the returned abbreviation
{
  "ShipMethodAbbreviation": "UPSG"
}
STANDARD APIOrders and status
CALLBACKSAutomatic updates to your application

Webhooks

See Order Status section for more information.

Webhooks allow you to receive real-time updates about your orders without polling the API. Simply include a webhook URL in your order submission to be notified when key events occur.

Include callback URLs in the order request when you want Dubow to push updates instead of relying only on polling.

JSONCallback URLs on order
{
  "OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
  "ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment"
}
JSONBasic webhook acknowledgment
{
  "received": true,
  "message": "Webhook accepted"
}

How to Use

  • Include OrderStatusNotificationUrl or ShipmentNotificationUrl in your IntegrationOrder
  • These fields function identically. Dubow will send the same JSON payload to either
  • Must be a valid HTTPS URL that can accept JSON POST payloads

Best Practices

  • Return HTTP 200 OK to acknowledge receipt
  • Log payloads and timestamps for reconciliation
  • Implement retry logic in case of delivery failure or timeout
STANDARD APIOrder JSON structure

Manifests

A manifest groups one or more line items being shipped to the same address with a shared shipping method. Each order must contain at least one manifest.

Field Rules

Field Type Required Description
ShipMethodAbbreviation string Yes Carrier and method code. See available ship methods
ShipToAddress object Yes Complete destination address for the shipment.
LineItems array<LineItem> Yes One or more decorated items included in the shipment.
IsResidential boolean No Residential address flag.
ThirdPartyAccountNumber string No Account number for third‑party shipping billing.
PackingSlipUrl string (URL) No Link to a PDF packing slip to include in the carton.
Notes string No Manifest‑level instructions or notes.
JSONSample Manifest
{
  "ShipMethodAbbreviation": "UPSG",
  "IsResidential": true,
  "ThirdPartyAccountNumber": "123456789",
  "PackingSlipUrl": "https://files.example.com/slips/po1001.pdf",
  "Notes": "Pack with extra padding",
  "ShipToAddress": {
	"Address1": "ATTN John Smith",
	"Address3": "123 1st ST",
	"City": "Austin",
	"State": "TX",
	"Zip": "73301",
	"Country": "US",
	"PhoneNumber": "555-222-3333",
	"EmailAddress": "john@example.com"
  }
}

STANDARD API/Order JSON hierarchy

Where each order field belongs

An order contains manifests. Each manifest contains shipping details and line items. Each line item contains product data, quantities, artwork designs, and optional services. Follow this structure when building the Orders[] JSON.

Important: this is a nesting guide

Not all fields shown are mandatory for every request. A ReturnAddress, when used, is an order-level field, not part of ShipToAddress. Check each reference page for conditional fields and valid identifiers.

Order JSON example

This is a syntactically valid example request with placeholder account, product, and design identifiers. Replace those values before testing.

JSONIllustrative complete order request
{
  "Authorization": {
    "UserID": 1234,
    "Password": "your-password"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-SAMPLE-001",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "Recipient",
            "Address3": "123 Main St",
            "City": "St. Cloud",
            "State": "MN",
            "Zip": "56304",
            "Country": "US"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "ProcurementType": "Contract",
                "Description": "Basic Tee"
              },
              "LineItemSizes": [
                {
                  "Quantity": 4,
                  "SizeAsString": "M"
                }
              ],
              "Designs": [
                {
                  "DesignID": 8675309,
                  "IntegrationColorway": {
                    "ColorwayID": 111111111,
                    "GarmentLocationName": "LEFT CHEST"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
STANDARD APIOrder JSON structure
ORDER PAYLOADFields at the order level

Order Header

Every order needs CustomerID, ContactID, PoNumber, and at least one manifest.

JSONMinimal required order header
{
  "CustomerID": 1234,
  "ContactID": 5678,
  "PoNumber": "PO10001",
  "Manifests": [
    {
      "ShipMethodAbbreviation": "UPSG",
      "ShipToAddress": {
        "Address1": "Jane Customer",
        "Address3": "123 Main Street",
        "City": "Minneapolis",
        "State": "MN",
        "Zip": "55401",
        "Country": "US"
      },
      "LineItems": []
    }
  ]
}
JSONOrder header with tracking fields
{
  "CustomerID": 1234,
  "ContactID": 5678,
  "PoNumber": "PO10002",
  "SecondaryPo": "STORE-ORDER-4455",
  "EndUserPo": "ENDUSER-7788",
  "OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
  "ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment",
  "Manifests": []
}

Transactional Data provides critical order-level details that ensure accurate processing and tracking.

CustomerID

A unique identifier for the customer associated with the order. This is required for customer-specific data mapping.

  • Type: Integer
  • Example: 12345

PONumber

The primary purchase order number for the transaction. Used to reference orders within the system.

  • Type: String
  • Example: PO123456

SecondaryPO

Additional purchase order numbers for reference. Useful for orders linked to multiple POs.

  • Type: String (optional)
  • Example: PO654321

EndUserPO

A purchase order number provided by the end user, if applicable. This is often used for drop shipping scenarios.

  • Type: String
  • Example: ENDUSER123

ContactID

An identifier for the main contact associated with the order. Ensures direct communication for order issues or clarifications.

  • Type: Integer
  • Example: 4544

Order Notes

Freeform text for any special instructions or notes related to the order.

  • Type: String (optional)
  • Example: Full Front needs to be 4 inches down from collar.

STANDARD APIOrder JSON structure
ORDER PAYLOADLineItems[] within each manifest

Products & Line Items

A line item represents a product being decorated and shipped. Each manifest must contain at least one valid line item.

Field Rules

Field Type Required Description
IntegrationProduct object Yes Product details for the decorated item.
LineItemSizes array<LineItemSize> Yes One or more sizes and quantities for this item.
Designs array<Design> Yes One or more decoration designs applied to this item.
Name string No SKU or unique identifier.
NoDecoration boolean No Set to true if this item does not require decoration.
Notes string No Per-line-item notes shown to production.
RetailPrice number No MSRP or end-customer visible price.
HarmonizedCode string No International customs classification.
CountryOfOriginstringNoCountry-of-origin value for the line item when applicable. Confirm the required format with Dubow IT.
Services array<string> No Additional service codes to apply (for example folding).
Designs array<Design> Conditional Required unless NoDecoration is true.

IntegrationProduct

Use one clear product lookup method. Avoid mixing identifiers that could resolve to different products.

JSONPreferred contract product lookup
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract",
    "Color": "Black"
  }
}
JSONDynamic product candidate
{
  "IntegrationProduct": {
    "CustomerProductName": "CUSTOM-HOODIE-001",
    "Description": "Customer supplied fleece hoodie",
    "ProcurementType": "Custom",
    "Color": "Heather Gray"
  }
}
JSONSupplier lookup using VendorName (illustrative)
{
  "IntegrationProduct": {
    "ProductName": "K240",
    "VendorName": "Sanmar",
    "Description": "Polo",
    "ProcurementType": "Custom",
    "Color": "Navy"
  }
}
A vendor does not guarantee a unique product

VendorName is a supplier filter, not the manufacturer's Mill and not a unique identifier. For example, ProductName 2000 with VendorName S&S Activewear can return several product records. In that case, provide the correct Mill or use the exact ProductID. The sample above is illustrative and must resolve to one product to succeed.

This object identifies which product is being decorated and how it is sourced.

Field Type Required Description
ProductName string Yes* Product identifier (e.g. 2000)
Mill string Conditional Garment manufacturer or brand, for example Gildan. Use when the ProductName is ambiguous, including when a supplier lookup using VendorName produces multiple matches.
VendorName string No Supplier name, for example Sanmar or S&S Activewear. Can be used with ProductName as an alternative to Mill when the combination identifies one product. Multiple products may share the same name and vendor, so use Mill or ProductID if the lookup remains ambiguous.
Description string Yes Text description of the product
ProcurementType string Yes Contract, or Custom
CustomerProductName string Conditional Used only if customer is enabled for part creation. Unlike ProductName, which errors if missing, this field allows dynamic part creation.
VendorProductName string No Vendor style number
ProductTypeName string No Category name (e.g. Apparel, Tote)
Color string No Color description
ProductID int No Internal Dubow ID
Notes string No Internal product notes
Urls array No Array of preview or mockup images

Product Lookup Priority and Ambiguity Rules

Dubow resolves the product to a single internal part before the order can be created. Use the most specific identifier available and avoid sending conflicting identifiers.

Recommended order Field pattern Best use
1 ProductID Use when Dubow has provided the internal product ID.
2 ProductName + Mill Use for catalog products where the same style number may exist under multiple mills.
3 ProductName + VendorName Use when the supplier, such as Sanmar or S&S Activewear, is known but the Mill is not. This succeeds only when the combination resolves to one product; otherwise add the correct Mill or use ProductID.
4 CustomerProductName Use when Dubow has mapped your SKU to a Dubow product or when dynamic part creation is enabled.
5 VendorProductName + Mill Use when the vendor style is the known lookup value.
Avoid conflicting identifiers

If multiple product identifiers are provided and they resolve to different internal products, the request can fail because the product is ambiguous.

Dynamic Part Creation

Some customers are configured for automatic part creation through integration. This is customer-profile controlled and is not enabled for every customer.

Requirement Description
CustomerProductName Required. Used to create or look up the customer-specific product.
Description Required. Used as the new product description.
Color Required. Used as the product color.
Customer profile setting Dynamic part creation must be enabled by Dubow for the customer.
Created part naming

When dynamic creation is enabled, Dubow creates the internal product using a DYN- prefix followed by the submitted CustomerProductName.

ProcurementType Values

Value Description
Contract You supply the garments and Dubow decorates and ships per your manifests.
Custom Dubow procures product from your specified vendor; include detailed Description in IntegrationProduct.

LineItemSizes

JSONContract apparel line item with multiple sizes
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 3,
      "SizeAsString": "M"
    },
    {
      "Quantity": 2,
      "SizeAsString": "L"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Embroidery",
      "DesignID": 8675309,
      "IntegrationColorway": {
        "ColorwayID": 111111111,
        "GarmentLocationName": "Left Chest"
      }
    }
  ]
}
JSONLine item with one size
{
  "IntegrationProduct": {
    "CustomerProductName": "INV-HAT-BLK",
    "Description": "Black Hat",
    "Color": "Black",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 1,
      "SizeAsString": "OSFA"
    }
  ],
  "NoDecoration": true
}

This is an array defining how many of each size are being ordered.

Field Type Required Description
Quantity integer Yes Number of units for the given size.
SizeAsString string Conditional Size label such as XL.
SizeIndexintegerConditionalNumeric size enumeration supported by the API. Provide SizeAsString instead when possible; the numeric value must be valid.
Tip

Sizes are case-insensitive and format-flexible. Common formats like 3XL, 3X-LARGE, and 3X-LARGE TALL will all be normalized internally.

NoDecoration and Inventory Decision Table

Scenario Are Designs required? Notes
Decorated contract or custom item Yes Send one or more design blocks with placement details.
NoDecoration is true No Use only for undecorated items.
Decorated item with missing Designs Invalid The request can fail unless NoDecoration is true or the inventory workflow applies.
JSONMinimal Line Item Example
{
  "IntegrationProduct": {
	"ProductName": "2000",
	"Mill": "Gildan",
	"Description": "Basic Tee",
	"ProcurementType": "Contract"
  },
  "LineItemSizes": [
	{
	  "Quantity": 1,
	  "SizeAsString": "M"
	}
  ]
}
JSONFull Line Item Example
{
  "Name": "SKU-ABC",
  "RetailPrice": 19.99,
  "HarmonizedCode": "610910",
  "NoDecoration": false,
  "Notes": "This is a test item.",
  "IntegrationProduct": {
	"ProductName": "2000",
	"CustomerProductName": "ALT-2000",
	"VendorProductName": "G5000",
	"Mill": "Gildan",
	"Description": "Basic Tee",
	"ProcurementType": "Contract",
	"ProductTypeName": "Apparel",
	"Color": "Black",
	"ProductID": 123456,
	"Notes": "Custom branded variant",
	"Urls": [
	  {
		"Url": "https://example.com/product.jpg",
		"Description": "Mockup"
	  }
	]
  },
  "LineItemSizes": [
	{
	  "Quantity": 3,
	  "SizeAsString": "XL"
	},
	{
	  "Quantity": 2,
	  "SizeAsString": "L"
	}
  ],
  "Services": [
	{ "Name": "BAG2 - POLY BAG" }
  ]
}
STANDARD APIOrder JSON structure
ORDER PAYLOADDesigns[] on a submitted line item

Designs

A design object defines what decoration to apply to a product. Each line item should include one or more designs unless NoDecoration is set to true.

This section describes Designs[] inside an order creation payload. To create a reusable design independently, use the Create Design endpoint.

Screen print minimum

Screen print designs require a minimum quantity of 24 units per colorway. Orders below this minimum may be rejected during validation.

Requirements

Existing design: DesignTypeName, DesignID, and IntegrationColorway are required.
Design via URL: DesignTypeName, FilePath and/or CustomerDesignCode, and IntegrationColorway are required. Keep examples exactly as shown.

Field Rules

JSONLine item using existing DesignID
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 1,
      "SizeAsString": "M"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Embroidery",
      "DesignID": 8675309,
      "IntegrationColorway": {
        "ColorwayID": 111111111,
        "GarmentLocationName": "Left Chest"
      }
    }
  ]
}
JSONLine item using artwork URL
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 2,
      "SizeAsString": "L"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Direct to Film",
      "FilePath": "https://cdn.example.com/art/logo.png",
      "CustomerDesignCode": "LOGO-001",
      "IntegrationColorway": {
        "GarmentLocationName": "Full Front"
      }
    }
  ]
}
Field Type Required Description
DesignTypeName string Yes (Design via URL) Decoration method name, for example Embroidery. See Available Decoration Method Names below.
DesignID integer Yes (Existing Design) Internal design identifier when referencing an existing design.
FilePath string (URL or path) Yes (Design via URL) Location of the artwork file when submitting via URL.
CustomerDesignCode string Yes (Design via URL) Your reference code for the artwork when submitting via URL.
IntegrationColorway object Yes Placement and preview information for the decoration.
Urls array<UrlRef> No Optional previews or mockups that accompany the design.
Customizations array<Customization> No Name and number personalizations for this placement. See Customizations.

Available Decoration Method Names

Use one of these method names in DesignTypeName.

  • Applique
  • Digital Print
  • Direct to Film
  • Dye Sublimation
  • Embroidery
  • Screen Print
  • HG Flat
  • HG Cylindrical
  • HG Dye Sublimation
  • Heat Transfer
  • Laser Etch
  • Pad Print
  • Ultra Print
  • Magnet
  • Pinback Button
  • Sticker
  • Poster

Association/Dual Designs:

DesignID may reference an associated design (a design that contains multiple child design numbers). When you send a DesignID for an associated design, you must provide GarmentLocationName as a single string with one location per child design, in the same order, separated by a forward slash “/”.
Tip: Find the correct associated DesignID and ColorwayID in DOTS (search by title, code, or keyword) and paste them into your payload to avoid mismatches.

JSONAssociation Use Example
"Designs": [
	{
		"DesignTypeName": "Embroidery",
		"DesignID": 7009594,
		"IntegrationColorway": {
			"ColorwayID": 8598247,
			"GarmentLocationName": "Left Chest/Right Chest"
		}
	}
]

IntegrationColorway

JSONExisting DesignID with ColorwayID and colors
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 24,
      "SizeAsString": "M"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Screen Print",
      "DesignID": 8675309,
      "IntegrationColorway": {
        "ColorwayID": 111111111,
        "GarmentLocationName": "Full Front",
        "Colors": [
          {
            "Ordinal": 1,
            "Color": "Super White",
            "Map": "Text"
          },
          {
            "Ordinal": 2,
            "Color": "Black",
            "Map": "Icon"
          }
        ]
      }
    }
  ]
}
JSONDesign URL with placement and preview
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 1,
      "SizeAsString": "XL"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Direct to Film",
      "FilePath": "https://cdn.example.com/art/back-logo.png",
      "CustomerDesignCode": "BACK-LOGO-001",
      "IntegrationColorway": {
        "GarmentLocationName": "Full Back",
        "Urls": [
          {
            "Url": "https://cdn.example.com/mockups/back-logo-preview.png",
            "Description": "Full back placement preview"
          }
        ]
      }
    }
  ]
}

This object defines where and how the design will be applied. It is always required, even when submitting art via URL.

Field Type Required Description
ColorwayID integer Yes/No Only Required when using Designs[].DesignID.
CustomerColorwayCode integer Yes/No Only Required when using Designs[].CustomerDesignCode.
Colors array<Colors> Conditional Thread or ink colors for this placement. Required for Embroidery and Screen Print when you need to specify thread/ink colors. Omit for methods that do not use thread/ink color assignments.
GarmentLocationName string Yes Placement such as Left Chest or FULL Back.
Urls array<UrlRef> No Preview images or references shown in examples.

Colors (ThreadBreaks/Ink Colors)

Use this array inside IntegrationColorway to define specific thread or ink colors.

Field Type Required Description
Color string Yes Thread or ink color name, for example Super White.
Ordinal integer Yes Position or needle index for the color. Start at 1 and keep unique within the placement.
Map string Yes Short description of what is in specified ordinal. (eg "Icon", "Text", "Trim")

Customizations (Personalizations)

Use this array inside Designs to define individual name/number customizations.

Important Note

Personalization will be used on the full quantity of the current integration product object.
For example, if the line item quantity is 5, and there is 1 customization defined, that same customization will be applied to all 5 items.
To have different customizations for each item, you must create separate integration products for each unique customization.

Field Type Required Description
DesignTypeName string No Decoration method requested for personalization. See Available Decoration Method Names.
Font string No Preferred font name for the personalization.
Color string No Requested thread or ink color.
Position string No Placement reference on the product, for example Left Chest.
Width number No Suggested maximum width in inches.
Height number No Suggested maximum height in inches.
Notes string No Special handling instructions.
Urls array<UrlRef> No Preview images or mockups related to the customization.
TextLines array<TextLine> Required for name/number Lines of text to render for player names or numbers.
TextLines Format:
Field Type Required Description
LineNumber integer Yes Sequence number of the text line, for example 1, 2
Text string Yes Text to be rendered on the product.
JSONPersonalization Example: Existing Design
"Designs": [
	{
		"DesignTypeName": "Embroidery",
		"DesignID": 7009594,
		"IntegrationColorway": {
			"ColorwayID": 8598247,
			"GarmentLocationName": "Left Chest"
		},
		"Customizations": [
			{
				"Font": "Script",
				"Color": "WHITE",
				"Position": "RIGHT CHEST",
				"DesignTypeName": "Direct to Film",
				"Width": 0,
				"Height": 0,
				"Urls": [
					{
						"Url": "https://www.abcxyz.com/designfile.png"
					}
				],
				"TextLines": [
					{
						"LineNumber": 1,
						"Text": "John Doe, CPA"
					},
					{
						"LineNumber": 2,
						"Text": "North Region Manager"
					}
				]
			},
			{
				"Font": "Script",
				"Color": "WHITE",
				"Position": "FULL BACK",
				"DesignTypeName": "Direct to Film",
				"Width": 0,
				"Height": 12,
				"Urls": [
					{
						"Url": "https://www.abcxyz.com/designfile.png"
					}
				],
				"TextLines": [
					{
						"LineNumber": 1,
						"Text": "88"
					}
				]
			}
		]
	}
]
JSONMinimal Design Example: Existing Design
"Designs": [
	{
	  "DesignTypeName": "Embroidery",
	  "DesignID": 8675309,
	  "IntegrationColorway": {
		"ColorwayID": 111111111,
		"GarmentLocationName": "Left Chest"
	  }
	}
]
JSONMinimal Design Example: Using FilePath
"Designs": [
	{
	  "DesignTypeName": "DigitalPrint",
	  "FilePath": "https://cdn.example.com/art/abc123.png",
	  "CustomerDesignCode": "ABC123",
	  "IntegrationColorway": {
		"GarmentLocationName": "Full Back"
	  }
	}
]
JSONFull Design Example: Existing Design
"Designs": [
	{
	  "DesignTypeName": "Embroidery",
	  "DesignID": 8675309,
	  "IntegrationColorway": {
		"ColorwayID": 111111111,
		"GarmentLocationName": "Left Chest",
		"Urls": [
		  {
			"Url": "https://example.com/leftchest-preview.jpg",
			"Description": "Preview for Left Chest"
		  }
		]
	  },
	  "Urls": [
		{
		  "Url": "https://example.com/mockup.jpg",
		  "Description": "Full mockup"
		}
	  ]
	}
]
JSONFull Design Example: Using FilePath
"Designs": [
	{
	  "DesignTypeName": "Embroidery",
	  "FilePath": "https://cdn.example.com/art/logo456.DST",
	  "CustomerDesignCode": "LOGO456",
	  "Urls": [
		{
		  "Url": "https://cdn.example.com/mockup-logo456.jpg",
		  "Description": "Front and back view"
		}
	  ],
	  "IntegrationColorway": {
		"GarmentLocationName": "Full Front",
		"Urls": [
		  {
			"Url": "https://cdn.example.com/front-location-preview.jpg",
			"Description": "Preview for Front"
		  }
		],
		"Colors": [
		  {
			"Color": "Super White",
			"Pantone": "1001",
			"Ordinal": 1
		  },
		  {
			"Color": "Black",
			"Pantone": "1800",
			"Ordinal": 2
		  }
		]
	  }
	}
]

STANDARD APIOrder JSON structure
ORDER PAYLOADManifest shipping and address fields

Manifests/Shipping Information

Shipping details are defined within the Manifests array of each order. Each order must include at least one manifest, and each manifest must include a complete ShipToAddress and at least one line item.

Field Rules

A manifest groups the destination, ship method, and line items being shipped together.

JSONResidential UPS Ground shipment
{
  "ShipMethodAbbreviation": "UPSG",
  "IsResidential": true,
  "ShipToAddress": {
    "Address1": "Jane Customer",
    "Address3": "123 Main Street",
    "City": "Minneapolis",
    "State": "MN",
    "Zip": "55401",
    "Country": "US",
    "PhoneNumber": "555-123-4567",
    "EmailAddress": "customer@example.com"
  },
  "LineItems": []
}
JSONThird-party shipping and packing slip
{
  "ShipMethodAbbreviation": "FEDEXG",
  "ThirdPartyAccountNumber": "123456789",
  "PackingSlipUrl": "https://files.example.com/packing-slip.pdf",
  "Notes": "Include packing slip in carton",
  "ShipToAddress": {
    "Address1": "Receiving Department",
    "Address3": "500 Warehouse Blvd",
    "City": "Austin",
    "State": "TX",
    "Zip": "73301",
    "Country": "US"
  },
  "LineItems": []
}
Field Type Required Description
ShipMethodAbbreviation string Yes Carrier and method code. See available ship methods
ShipToAddress object Yes Complete destination address for the shipment.
LineItems array Yes One or more decorated items included in the shipment.
IsResidential boolean No Residential address flag.
ThirdPartyAccountNumber string No Account number for third-party shipping billing.
PackingSlipUrl string (URL) No Link to a PDF packing slip to include in the carton.
Notes string No Manifest-level instructions or notes.

ShipToAddress Fields

This is a nested object required inside each manifest. The more complete the address, the more accurate the label and delivery rate.

Required Fields
Field Type Required Description
Address1 string Yes Recipient or attention line (for example the person or department).
Address3 string Yes Street address line as used in examples.
City string Yes City.
State string Yes State or province 2-letter code. **Only Required when Country is "US"**
Zip string Yes Postal code.
Country string Yes 2-letter country code, for example US.
Address2 string No Optional Additional Recipient or attention line (for example the person or department)
Address4 string No Optional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name.
Address5 string No Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses)
PhoneNumber string No Contact number for delivery
EmailAddress string No Contact email

Ship Methods

Select the carrier/service for each manifest using ShipMethodAbbreviation. Use the Ship Methods JSON endpoint to retrieve the exact abbreviations supported.

Field Type Required Description
ShipMethodAbbreviation string Yes Carrier/service code from the Shipping Methods feed. Use the exact abbreviation shown there.
Ship Methods lookup endpoint (JSON)

https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods

Use this feed to look up valid abbreviations before setting ShipMethodAbbreviation.

JSONSample Shipping Block (Manifest + Address)
"Manifests": [
	  {
	  "ShipMethodAbbreviation": "UPSG",
	  "IsResidential": true,
	  "PackingSlipUrl": "https://files.example.com/slip.pdf",
	  "ThirdPartyAccountNumber": "123456789",
	  "Notes": "Pack with air pillows and label clearly",
	  "ShipToAddress": {
		"Address1": "ATTN JOHN DOE",
		"Address2": "IT Dept",
		"Address3": "123 1st Street N",
		"City": "Duluth",
		"State": "MN",
		"Zip": "55802",
		"Country": "US",
		"PhoneNumber": "555-123-4567",
		"EmailAddress": "John@example.com"
	  },
	  "LineItems": [
		{
		  "Name": "Tee-Black-XL",
		  "IntegrationProduct": {
			"ProductName": "2000",
			"Mill": "Gildan",
			"Description": "Black Tee",
			"ProcurementType": "Contract"
		  },
		  "LineItemSizes": [
			{
			  "Quantity": 1,
			  "SizeAsString": "XL"
			}
		  ],
		  "Designs": [ ... ]
		}
	  ]
	}
]


STANDARD APIOrder JSON structure

Optional Services

You can request optional add-on services at the line item level using the Services array. These services support finishing, packaging, and branding enhancements.

JSONLine item with polybag and hangtag
{
  "IntegrationProduct": {
    "ProductName": "2000",
    "Mill": "Gildan",
    "Description": "Basic Tee",
    "ProcurementType": "Contract"
  },
  "LineItemSizes": [
    {
      "Quantity": 12,
      "SizeAsString": "M"
    }
  ],
  "Designs": [
    {
      "DesignTypeName": "Embroidery",
      "DesignID": 8675309,
      "IntegrationColorway": {
        "ColorwayID": 111111111,
        "GarmentLocationName": "Left Chest"
      }
    }
  ],
  "Services": [
    {
      "Name": "polybag"
    },
    {
      "Name": "hangtag"
    }
  ]
}
JSONFull order with services
{
  "Authorization": {
    "UserID": 1234,
    "Password": "abcd"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "PO-SERVICES-1001",
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "Jane Customer",
            "Address3": "123 Main Street",
            "City": "Minneapolis",
            "State": "MN",
            "Zip": "55401",
            "Country": "US"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "Description": "Basic Tee",
                "ProcurementType": "Contract"
              },
              "LineItemSizes": [
                {
                  "Quantity": 12,
                  "SizeAsString": "M"
                }
              ],
              "Designs": [
                {
                  "DesignTypeName": "Embroidery",
                  "DesignID": 8675309,
                  "IntegrationColorway": {
                    "ColorwayID": 111111111,
                    "GarmentLocationName": "Left Chest"
                  }
                }
              ],
              "Services": [
                {
                  "Name": "polybag"
                },
                {
                  "Name": "hangtag"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

How to Apply Services

  • Services are applied per line item using the Services array
  • Each entry should be a recognized Dubow service code
  • Multiple services can be combined where compatible

Available Service Codes

Field Description
BAG2 - POLY BAG Fold garment and polybag it
LABEL W/NAME Label polybags with sizes or names
HANGTAG Attach hang tag to garment
INSERT Insert custom flyer or packing slip
PICNPAC Special sorting before shipping
JSONSample Line Item with Services
{
  "IntegrationProduct": {
	"ProductName": "2000",
	"Mill": "Gildan",
	"Description": "Black Tee",
	"ProcurementType": "Contract"
  },
  "LineItemSizes": [
	{
	  "Quantity": 2,
	  "SizeAsString": "XL"
	}
  ],
  "Services": [
	{ "Name": "BAG2 - Poly Bag" },
	{ "Name": "INSERT" }
  ],
  "Designs": [
	{
	  "DesignTypeName": "Embroidery",
	  "DesignID": 8675309,
	  "IntegrationColorway": {
		"ColorwayID": 111111111,
		"GarmentLocationName": "Left Chest"
	  }
	}
  ]
}

STANDARD APIRules and support

Troubleshooting

If your request contains invalid or incomplete data, Dubow’s API will return a structured response containing helpful error messages to aid troubleshooting.

Response Structure

All error responses follow this format:

JSONError response format
{
  "ResponseSummary": {
	"IsSuccess": false,
	"Errors": [
	  {
		"Message": "Description of the problem."
	  }
  ]
  }
}

Common Error Messages and How to Fix Them

Search for an error message or select a category to find the cause and recommended fix. Decoration restrictions identify product and imprint combinations that cannot be used.

Showing 66 of 66 errors

Auth
Unauthorized. Please check UserID and Password.
Likely cause
The Authorization block is missing, incorrect, or using credentials for the wrong environment.
How to fix
Confirm Authorization.UserID, Authorization.Password, and whether you are calling sandbox or production.
Auth
Invalid Authorization UserId
Likely cause
The request user ID is missing, zero, or not recognized.
How to fix
Use the assigned Dubow API UserID. If using a child customer, the authenticated user must be allowed to submit for that customer.
Order
Orders list is Empty
Likely cause
The request did not include any orders in Orders[].
How to fix
Send at least one order object inside the Orders array.
Order
A PoNumber (Purchase Order Number) was not given.
Likely cause
The order is missing PoNumber or it is blank.
How to fix
Send a non-empty, unique PoNumber for every order.
Order
This PO already exists in our system. Duplicate?
Likely cause
The submitted PoNumber already exists for that customer.
How to fix
Use a unique PoNumber. For resubmits, use a revision value such as PO12345-REV1.
Order
Duplicate order. This PONumber already exists.
Likely cause
Same as duplicate PO. The customer PO has already been accepted or created.
How to fix
Do not resend the same PO unless directed. Use a new PO value when submitting a replacement order.
Order
Duplicate PONumber for CustomerID
Likely cause
Duplicate PO for the submitted CustomerID.
How to fix
Use a unique PoNumber for the customer.
Order
Is not a valid CustomerID.
Likely cause
The submitted CustomerID does not exist.
How to fix
Confirm the customer/company ID with Dubow.
Order
is not a valid child customer
Likely cause
The authenticated user is not allowed to submit orders for the requested child customer.
How to fix
Use the correct child customer or request that Dubow assign access to the authenticated parent customer.
Order
Customer is in excess of their Credit Limit.
Likely cause
The account is blocked by a credit limit rule.
How to fix
Contact Dubow support or accounting before resubmitting.
Order
is not a valid ContactID.
Likely cause
The submitted ContactID does not exist.
How to fix
Confirm the contact ID with Dubow.
Order
The Contact's owning Customer is not the specified Customer.
Likely cause
The contact exists but belongs to a different customer.
How to fix
Use a ContactID that belongs to the submitted CustomerID.
Order
Contact is not active.
Likely cause
The contact exists but is inactive.
How to fix
Use an active contact assigned to the same customer.
Order
The Order didn't contain any Manifests.
Likely cause
The order did not include Manifests[].
How to fix
Add at least one manifest with shipping and line item details.
Payload
Unable to parse payload
Likely cause
The request body is not valid JSON or the content type is wrong.
How to fix
Validate the JSON and send Content-Type: application/json.
Payload
One or more required fields are missing or invalid
Likely cause
A required field is missing, misspelled, or using the wrong type.
How to fix
Compare your payload with the required examples and field reference.
Shipping
An IntegrationManifest cannot be scheduled to ship on a date earlier than or equal to the day it is placed
Likely cause
DateToShip is today or in the past.
How to fix
Use a future valid ship date and account for Dubow turn time rules.
Shipping
An IntegrationManifest cannot have a deadline date earlier or equal to the day it is placed.
Likely cause
DateDropDead is today or in the past.
How to fix
Use a future deadline date.
Shipping
Each IntegrationManifest must define at least one LineItems.
Likely cause
The manifest has no LineItems[].
How to fix
Add at least one line item to every manifest.
Shipping
ShipMethodAbbreviation is required
Likely cause
The manifest is missing a ship method.
How to fix
Include a valid ShipMethodAbbreviation from available ship methods.
Shipping
Missing Address1 or Zip on ShipToAddress
Likely cause
The shipping address is incomplete.
How to fix
Provide the required shipping address fields listed in the shipping section.
Shipping
Address must have at least one of Address1,2,3
Likely cause
No address line was supplied.
How to fix
Provide a complete ShipToAddress. Keep using the stricter address requirements documented above.
Shipping
FedEx ship methods can only be used with a provided 3rd Party Account#.
Likely cause
The selected FedEx method requires a third-party shipping account.
How to fix
Provide the appropriate third-party account number in the manifest, or select another available shipping method.
Shipping
Ship method '{abbr}' does not support a 3rd Party Account#. Remove the 3rd Party Account# or choose a ship method that supports it.
Likely cause
The selected shipping method does not allow third-party billing.
How to fix
Remove the third-party account number, or choose a ship method that supports third-party billing.
Product
A ProductName was given without a Mill and no match or multiple was found
Likely cause
ProductName is ambiguous or not found.
How to fix
Include Mill, use ProductID, or confirm product mapping from Lookup Lists.
Product
A ProductName was given without a Mill: Multiple products were found with name
Likely cause
ProductName and the supplied VendorName matched more than one internal ProductID. A valid vendor name does not guarantee a unique match.
How to fix
Verify the intended product and resubmit with its Mill or exact ProductID. For example, a lookup for 2000 under S&S Activewear can match multiple records.
Product
A ProductName was given with a Mill and no match or multiple was found
Likely cause
The product and mill combination did not resolve.
How to fix
Verify the product style and mill combination in Lookup Lists.
Product
A VendorProductName was given with a Mill and no match or multiple was found
Likely cause
The vendor product lookup failed.
How to fix
Verify VendorProductName and Mill, or use another supported product lookup path.
Product
An Invalid ProductID was specified
Likely cause
The submitted ProductID does not exist.
How to fix
Use a valid Dubow product ID from the product lookup list.
Product
Each IntegrationProduct must unambiguously specify a Product
Likely cause
Multiple product identifiers resolve to different products.
How to fix
Use one clear lookup method, or make sure all product fields resolve to the same part.
Product
Cannot lookup inventory. SKU does not exist or multiple in the system.
Likely cause
The inventory SKU is missing, inactive, or ambiguous.
How to fix
Confirm the SKU with Dubow or use a more specific product identifier.
Product
Inventory metadata did not sync
Likely cause
OrderDesk did not find a matching inventory item from the incoming store SKU, so the saved metadata fields were not copied to the order item.
How to fix
Make the store SKU match the OrderDesk inventory item Code/SKU, then sync item details with inventory before resubmitting.
Product
print_sku is missing or incorrect
Likely cause
The item has a store SKU but does not have the Dubow product SKU metadata needed for production.
How to fix
Add print_sku to the inventory item metadata and confirm mill or print_mill when required.
Product
Not possible to dynamically create an integration product
Likely cause
The customer is not enabled for dynamic part creation, or required fields are missing.
How to fix
Confirm setup with Dubow and include CustomerProductName, Description, and Color.
Product
[PartNumber] is an inactive part.
Likely cause
The product exists but is inactive.
How to fix
Remove the item or contact Dubow to verify availability.
Product
An invalid VendorID was specified: '{vendorId}'
Likely cause
The vendor identifier is not recognized by Dubow.
How to fix
Confirm the correct VendorID, or identify the supplier with VendorName and resolve the product to a single match.
Product
No vendor was found matching VendorName '{name}'
Likely cause
The supplied VendorName does not match a supplier in Dubow.
How to fix
Check the vendor spelling and use a recognized name, such as Sanmar or S&S Activewear.
Product
Multiple products were found with name '{name}' supplied by {vendor} (ProductIDs: {ids}). Provide a Mill or ProductID to disambiguate
Likely cause
The product name and supplier match more than one Dubow product.
How to fix
Specify the correct Mill or exact ProductID to select a single product.
Size
Each LineItem must have at least one LineItemSize to define size and quantity.
Likely cause
The line item is missing LineItemSizes[].
How to fix
Add at least one size row with quantity.
Size
LineItem for Dubow Owned Inventory Part should not contain more than 1 LineItemSize.
Likely cause
A Dubow-owned inventory line item has multiple size rows.
How to fix
Send one size row only or split inventory products into separate line items.
Size
Each LineItemSize must have a quantity greater than 0.
Likely cause
Quantity is zero, negative, or missing.
How to fix
Set every LineItemSizes[].Quantity value to a positive integer.
Size
Quantity must be greater than 0
Likely cause
Quantity is zero, negative, or missing.
How to fix
Use positive integer quantities.
Size
Each LineItemSize must specify a SizeIndex either in string or integer enumeration.
Likely cause
The line item size cannot be determined.
How to fix
Send a valid SizeAsString or SizeIndex.
Size
An unambiguous size cannot be determined for all LineItems.
Likely cause
The supplied size text cannot be mapped.
How to fix
Use a supported size format such as XL, 2XLT, or Medium.
Size
SizeAsString value is not recognized
Likely cause
The size value is not recognized.
How to fix
Use a supported size format from the documentation.
Design
No IntegrationDesigns included with LineItem X but NoDecoration does not equal true
Likely cause
A decorated item is missing Designs[].
How to fix
Add Designs[], set NoDecoration: true, or use the inventory workflow.
Design
Missing Design Reference
Likely cause
The design did not include DesignID, CustomerDesignCode, DesignCode, or FilePath.
How to fix
Provide a valid existing design reference or send a design URL workflow with DesignTypeName.
Design
Could not use DesignID, DesignCode or CustomerDesignCode...
Likely cause
No existing design could be resolved and no valid design type was provided for new art.
How to fix
Use a valid design reference or include DesignTypeName for new art.
Design
DesignID does not exist.
Likely cause
The submitted design ID is not valid.
How to fix
Confirm the design in DOTS or use a valid CustomerDesignCode or design URL workflow.
Design
DesignID not found or not valid for account
Likely cause
The design is missing or not assigned to the customer.
How to fix
Use a valid, customer-authorized DesignID.
Design
Customer does not have rights to DesignID
Likely cause
The design exists but is not available to the submitted customer.
How to fix
Use a customer-owned design or request Dubow to assign rights.
Design
Cannot resolve DesignCode
Likely cause
The submitted design code did not resolve to a design.
How to fix
Use a valid DesignID, DesignCode, CustomerDesignCode, or design URL workflow.
Design
DesignTypeName is required
Likely cause
New art or design resolution needs a decoration type.
How to fix
Set DesignTypeName in the design block, for example Embroidery.
Design
There are multiple colorways for this design, but no colorway was provided. Please provide a colorway.
Likely cause
The design has multiple colorways and none was selected.
How to fix
Send IntegrationColorway.ColorwayID with the existing DesignID.
Design
ColorwayID not found or not associated with DesignID
Likely cause
The colorway is invalid or does not belong to the design.
How to fix
Verify the ColorwayID belongs to the specified DesignID.
Design
Incorrect number of thread breaks (Ordinal) called for Design ####. - X of Y Colors Received
Likely cause
The submitted color ordinals do not match the design's thread breaks.
How to fix
Update IntegrationColorway.Colors[] ordinals to match the design.
Design
Design #### is an associated design and requires additional locations in "GarmentLocationName" split by a "/" for each location
Likely cause
An associated design requires multiple locations in order.
How to fix
Send slash-separated locations such as Full Front/Full Back.
Design
FilePath is not a valid URL
Likely cause
The art URL is malformed or inaccessible.
How to fix
Use a properly formatted, publicly accessible https:// link.
Design
Design FilePath and DesignID cannot be used together
Likely cause
The payload mixes an existing design with new-art submission.
How to fix
Choose either existing design fields or design URL fields, not both.
Design
CustomerDesignCode already used on another design
Likely cause
The customer design code is not unique.
How to fix
Use a unique CustomerDesignCode or reuse the existing design reference if intended.
Design
Less than 24qty used per colorway for screen print.
Likely cause
Screen print line quantity is below the minimum.
How to fix
Increase the quantity to at least 24 units per colorway or use another approved decoration method.
Services
A service code was provided that is not supported
Likely cause
The service name/code does not map to a valid service part.
How to fix
Use only valid service codes listed in the Additional Services section.
Payload
TEST URL! This error will only appear on test requests.
Likely cause
The test endpoint is returning its test-mode confirmation message.
How to fix
No production action is needed. Use this only to verify test behavior.
Payload
TrackingNumber cannot be blank when OrderStatus is Shipped
Likely cause
A shipped status update is missing tracking information.
How to fix
Provide a valid TrackingNumber when sending or consuming shipped updates.
Decoration
Part {partName} is not available for the {designType} decoration method.
Likely cause
The specified product is restricted from the selected decoration method.
How to fix
Choose a permitted decoration method for this product or select a different product. Contact API Support if the restriction needs review.
Decoration
Part {partName} is not available for the {location} imprint location.
Likely cause
The specified product is restricted from the selected imprint location.
How to fix
Choose another imprint location permitted for this product or select a different product. Contact API Support if needed.

HTTP Status Codes

Status Meaning When it happens
200 OK Successful request with IsSuccess true.
400 Bad Request Malformed JSON or missing required fields.
401 Unauthorized Invalid Authorization credentials.
404 Not Found Endpoint or resource not found.
429 Too Many Requests Rate limit exceeded.
500 Server Error An unexpected error occurred.

Best Practices

  • Always inspect ResponseSummary.IsSuccess before processing
  • Log errors with ResponseSummary.Errors[].Message
  • Validate your payload against field requirements before submission
  • Use test mode with realistic payloads before sending live orders
JSONSample Error Response
{
  "ResponseSummary": {
	"IsSuccess": false,
	"Errors": [
	  {
		"Message": "A ProductName was given without a Mill and no match or multiple was found: 'PR-10000-Black-M'"
	  },
	  {
		"Message": "Each IntegrationProduct must unambiguously specify a Product: PR-10000-Black-M."
	  },
	  {
		"Message": "No IntegrationDesigns included with Lineitem PR-10000-Black-M but NoDecoration does not equal true."
	  },
	  {
		"Message": "TEST URL!  This error will only appear on test requests."
	  }
	]
  }
}

STANDARD APIStart here

Sandbox & Test Mode

Use unique PO values for every test. Keep customer, contact, product, and design values aligned with the test account setup.

JSONSandbox smoke test order
{
  "Authorization": {
    "UserID": 1234,
    "Password": "test-password"
  },
  "Orders": [
    {
      "CustomerID": 1234,
      "ContactID": 5678,
      "PoNumber": "SANDBOX-SMOKE-1001",
      "IsTestOrder": true,
      "Manifests": [
        {
          "ShipMethodAbbreviation": "UPSG",
          "ShipToAddress": {
            "Address1": "Sandbox Test",
            "Address3": "123 Test Street",
            "City": "Minneapolis",
            "State": "MN",
            "Zip": "55401",
            "Country": "US"
          },
          "LineItems": [
            {
              "IntegrationProduct": {
                "ProductName": "2000",
                "Mill": "Gildan",
                "Description": "Basic Tee",
                "ProcurementType": "Contract"
              },
              "LineItemSizes": [
                {
                  "Quantity": 1,
                  "SizeAsString": "M"
                }
              ],
              "Designs": [
                {
                  "DesignTypeName": "Embroidery",
                  "DesignID": 8675309,
                  "IntegrationColorway": {
                    "ColorwayID": 111111111,
                    "GarmentLocationName": "Left Chest"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Dubow’s integration environment supports full-featured testing without affecting live orders or production. You can validate payloads, test error handling, and preview responses using all the exact same information in this documentation.

How to Use Test Mode

  • Contact your CSR to request Test Credentials
  • Use the test environment endpoint noted in the Endpoints & Lookup Lists
  • Test orders are accepted and validated but are never routed to the production environment
  • Some responses will contain the message: TEST URL! This error will only appear on test requests.
  • You can simulate real orders with full data, including designs and manifests

What You Can Test

  • Validation errors for missing fields
  • Design handling (FilePath and DesignID logic)
  • Webhook callbacks (with your own test URL)
  • OrderStatus API behavior and responses

Best Practices

  • Use unique PoNumbers (prefixed with TEST- or similar) to avoid conflicts
  • Do not mix test orders with live artwork or production POs as they will not be processed
  • Use OrderStatusNotificationUrl pointing to a test endpoint to verify webhook behavior


STANDARD API / Examples and tools

JSON syntax checker

Paste a request or response to verify JSON syntax and check its top-level structure. Validation runs entirely in this browser. No API request is sent. This does not validate product IDs, customer permissions, inventory, or business rules.

Paste a JSON document to see syntax and basic request-shape results.
A JSON syntax check cannot confirm whether the API will accept a request. For product matching and validation rules, see the Preflight checklist and Product lookup rules.
STANDARD APIExamples and reference

API Field Finder

Field reference

Find an API field

Search the fields documented throughout the API, including requests, responses, pricing, product lookups, and OrderDesk metadata. Choose a result to jump to its definition.

369indexed fields
Loading field reference… Example-only entries are labeled and may require confirmation.
Field name / pathAPI areaUsed inRequirementDetails

This index includes every named field in the supplied reference tables, plus fields visible in JSON examples. Example-only fields are identified separately and do not establish backend support. Some requirements vary by request type or customer configuration.

This glossary consolidates all request and response objects. Use the bracket notation to understand where arrays occur, for example Orders[].Manifests[].LineItems[].

Authorization (request)

Path: Authorization (top-level in request bodies)

Field Type Required Description
UserID integer Yes API user identifier issued by Dubow.
Password string Yes API user password for the given UserID.

IntegrationOrder (creation)

Path: Orders[]

Field Type Required Description
CustomerID integer Yes Company identifier in DMS. Provided by Dubow.
ContactID integer Yes Customer/contact identifier in DMS. Provided by Dubow.
PoNumber string Yes Customer purchase order number.
Manifests array<Manifest> Yes One or more shipping manifests, each with at least one LineItem.
ReturnAddress object Conditional Include to override the default return address for the order. See ReturnAddress.
OrderStatusNotificationUrl string (URL) No Webhook endpoint for status updates. If present, payload mirrors Order Status response.
ShipmentNotificationUrlstringNoHTTPS URL for automatic shipment notifications. See Webhooks.
SecondaryPo string No Secondary purchase order reference.
EndUserPo string No End-customer PO reference.
PlatformstringNoSource platform identifier, if applicable.
CustomerStorestringNoCustomer program or store code, if applicable.
Notes string No Order-level notes for production or customer service.

Manifest

Path: Orders[].Manifests[]

Field Type Required Description
ShipMethodAbbreviation string Yes Carrier/service code from the Shipping Methods feed. See Ship Methods.
ShipToAddress object Yes Complete destination address. See ShipToAddress.
LineItems array<LineItem> Yes One or more decorated items included in the shipment.
IsResidential boolean No True when the destination is a residence.
ThirdPartyAccountNumber string No Account to bill third-party freight charges.
PackingSlipUrl string (URL) No URL to a PDF packing slip to include.
Notes string No Manifest-level special instructions.

LineItem (creation)

Path: Orders[].Manifests[].LineItems[]

Field Type Required Description
IntegrationProduct object Yes Decorated product definition. See IntegrationProduct.
LineItemSizes array<LineItemSize> Yes Size and quantity breakdown. See LineItemSize.
Designs array<Design> Conditional Required unless NoDecoration is true. See Design.
Name string No SKU or unique identifier displayed in status.
NoDecoration boolean No Send product without decoration when true.
Notes string No Line-level notes for production.
RetailPrice number No End-customer visible price.
HarmonizedCode string No Customs classification code.
CountryOfOriginstringNoLine-item country of origin when provided; confirm format with Dubow IT.
Services array<Service> or array<string> No Additional service codes to apply, for example folding or bagging. See Service.

LineItemSize

Path: Orders[].Manifests[].LineItems[].LineItemSizes[]

Field Type Required Description
Quantity integer Yes Units for this size.
SizeAsString string Conditional Size label, for example XL.
SizeIndexintegerConditionalAlternative numeric size index from the supported SizeIndices enumeration. Use SizeAsString for most requests.

IntegrationProduct

Path: Orders[].Manifests[].LineItems[].IntegrationProduct

Field Type Required Description
ProcurementType string Yes Contract or Custom. See ProcurementType values.
Description string Yes Product description shown on order and status.
ProductName string Conditional Used with all ProcurementType's; SKU or style, for example 2000.
Mill string Conditional Manufacturer or brand used to disambiguate ProductName, including when a vendor filter yields multiple products.
VendorName string No Optional supplier name, for example Sanmar or S&S Activewear. Can be used with ProductName instead of Mill when it identifies exactly one product. If more than one record matches, supply Mill or the specific ProductID.
CustomerProductName string Conditional Used for Contract and Custom procurement; used only if customer is enabled for part creation. If value is not found, system creates a new dynamic part as DYN-[value], e.g. PC099 → DYN-PC099. Unlike ProductName, which errors if missing, this field allows dynamic part creation.
VendorProductName string No Vendor style number.
ProductTypeName string No Category name, for example Apparel or Tote.
Color string No Color description.
ProductID integer No Internal Dubow product id if applicable.
Notes string No Internal notes related to the product.
Urls array<UrlRef> No Preview or mockup images. See UrlRef.
ProcurementType values
Value Notes
Contract You supply the garments. Dubow decorates and ships per your manifests.
Custom Special sourcing with your vendor. Provide detailed Description.

Service

Path: Orders[].Manifests[].LineItems[].Services[]

Field Type Required Description
Name string Yes Service code, for example BAG2 (poly bag) or INSERT. See Services.

Design

Path: Orders[].Manifests[].LineItems[].Designs[]

Field Type Required Description
DesignTypeName string Yes Decoration method name, for example Embroidery. See Available Decoration Method Names.
IntegrationColorway object Yes Placement and preview information. See IntegrationColorway.
DesignID integer Conditional Required when referencing an existing design.
FilePath string (URL or path) Conditional Required when submitting a design via URL.
CustomerDesignCode string Conditional Required with design via URL to reference your artwork.
Urls array<UrlRef> No Optional previews or mockups. See UrlRef.
Customizations array<Customization> No Name and number personalizations for this placement. See Customizations.
IntegrationColorway

Path: Designs[].IntegrationColorway

Field Type Required Description
GarmentLocationName string Yes Placement such as Left Chest or FULL Back.
ColorwayID integer Yes/No Only Required when using Designs[].DesignID.
CustomerColorwayCode integer Yes/No Only Required when using Designs[].CustomerDesignCode.
Urls array<UrlRef> No Preview images of the placement.
Colors

Path: Designs[].IntegrationColorway.Colors[]

Field Type Required Description
Color string Yes Thread or ink color name, for example Super White.
Pantone string No Pantone or thread system reference, for example 1001. See Dubow Thread List for specific thread codes when using embroidery.
Ordinal integer No Position or needle index for the color. Start at 1 and keep unique within the placement.
Map string Yes Short description of what is in specified ordinal. (eg "Icon", "Text", "Trim")
Customizations (Personalizations)

Path: Designs[].Customizations[]

Field Type Required Description
TextLines array<TextLine> Conditional Required for name or number decorations. See TextLine.
Font string No Preferred font name.
Color string No Requested thread or ink color.
Position string No Location on garment, for example Left Chest.
Width number No Suggested maximum width in inches.
Height number No Suggested maximum height in inches.
Notes string No Special handling instructions.
Urls array<UrlRef> No Preview images or mockups for the customization.
TextLine

Path: Customizations[].TextLines[]

Field Type Required Description
LineNumber integer Yes Sequence number, for example 1, 2.
Text string Yes Text to render for this line.
UrlRef

Path: Designs[].Urls[], IntegrationColorway.Urls[], Customizations.Urls[], IntegrationProduct.Urls[]

Field Type Required Description
Url string (URL) Yes Link to an image or preview file.
Description string No Short label for the referenced image.

ShipToAddress

Path: Orders[].Manifests[].ShipToAddress

Field Type Required Description
Address1 string Yes Recipient or attention line.
Address3 string Yes Street address line.
City string Yes City.
State string Yes State or province code. **Only Required when Country is "US"**
Zip string Yes Postal code.
Country string Yes 2-letter country code, for example US.
Address2 string No Optional Additional Recipient or attention line (for example the person or department).
Address4 string No Optional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name.
Address5 string No Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses).
PhoneNumber string No Contact number for delivery.
EmailAddress string No Contact email for delivery updates.

ReturnAddress

Path: Orders[].ReturnAddress

Field Type Required Description
Address1 string Yes Recipient or Attention line.
Address3 string Yes Street address line.
City string Yes City.
State string Yes State or province code. **Only Required when Country is "US"**
Zip string Yes Postal code.
Country string Yes Country name or code.
Address2 string No Optional Additional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name.
Address4 string No Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses)
Address5 string No Optional field for secondary administrative areas, international province codes, or other special delivery notes that must be part of the mailing label
PhoneNumber string No Contact phone.
EmailAddress string No Contact email.

RequestItems (Order Status)

Path: RequestItems[] in Order Status request

Field Type Required Description
OrderIDintegerConditionalDubow Order Number. Required when CustomerPo is not provided.
CustomerPostringConditionalCustomer Purchase Order Number. Required when OrderID is not provided.
Required pointer

At least one lookup field is required per RequestItems entry: OrderID or CustomerPo. Both are not required.

RequestItems (Invoice Status)

Path: RequestItems[] in Invoice Status request

Field Type Required Description
CustomerPo string Yes PO number to query.

ResponseSummary

Path: ResponseSummary in responses

Field Type Required Description
IsSuccess boolean Yes True when the request succeeded.
Authorization object Yes Authentication result details. See below.
Errors array<Error> Varies Contains error entries when a request fails and may be an empty array ([]) when successful. Each entry has a Message field.
ResponseSummary.Authorization
Field Type Required Description
IsAuthenticated boolean Yes True when the provided credentials are valid.
TransactionID string|null No Transaction identifier for troubleshooting; may be null.
UserID integer No Authenticated user id.
Password null No Redacted in responses.

Error

Path: ResponseSummary.Errors[]

Field Type Required Description
Message string Yes (per error entry) Human-readable explanation of the error. The Errors array can be empty when a request succeeds.

Order (status response)

Path: Orders[] in Order Status response

Field Type Required Description
CustomerPo string No PO number returned for reference.
OrderID integer No Internal Dubow order identifier.
CustomerID integer No Customer identifier.
ReceivingStatus string No Receiving state, for example No.
ShippingStatus string No Shipping state, for example No.
IsInvoiced boolean No Whether the order has been invoiced.
IsCanceled boolean No Whether the order has been canceled.
ShippingCost number No Order-level shipping cost returned as a JSON number, for example 0.
HandlingCost number No Order-level handling cost returned as a JSON number, for example 2.22.
OrderStatus string No Current stage of the order, for example Entered. See OrderStatus value list in the Order Status section.
UniqueTrackingNumbers array<UniqueTrackingNumber> No Distinct tracking objects for the order. See below.
LineItems array<LineItem> No Per-line progress details. See LineItem (status).
UniqueTrackingNumbers item

Path: Orders[].UniqueTrackingNumbers[]

Field Type Required Description
TrackingNumber string Yes Carrier tracking number.
DateShipped string (ISO 8601) No Shipment timestamp, for example 2025-08-04T12:51:00.
ShipMethodName string No Readable carrier service name.
ShipperReference string No Reference from the shipper, useful for label or shipment lookup.

LineItem (status response)

Path: Orders[].LineItems[]

Field Type Required Description
LineItemName string No Display name of the item.
Requested integer No Quantity requested.
Received integer No Quantity received.
BackOrdered integer No Quantity on back order.
Shipped integer No Quantity shipped.
Damaged integer No Quantity damaged.
ArtNotReceived boolean No Artwork not received.
ArtBeingProcessed boolean No Artwork is in processing.
WaitingForApproval boolean No Awaiting approval.
OnHold boolean No On hold status.
DateToShip_Orig string No Original ship date (Microsoft JSON format).
DateToShip string No Current ship date (Microsoft JSON format).
DateArtCompleted string No Artwork completion date (Microsoft JSON format).
ReceivingHistory array|null No Receiving events for the line item, null when none.
IsShippable boolean No True if the line item can be shipped.
LineItemID integer No Line item identifier.
IsScheduled boolean No True if the line is scheduled in production.

Invoice Status (response)

Path: top-level invoice status fields

Field Type Required Description
OrderID integer No Internal order identifier.
CustomerID integer No Customer identifier.
IsInvoiced boolean No Whether the order has been invoiced.
IsCanceled boolean No Whether the order has been canceled.
ShippingTotal number No Total shipping charges.
DecorationTotal number No Total decoration charges.
GarmentTotal number No Total garment charges.
Services number No Service charges subtotal.
Total number No Grand total for the invoice.
AmountDue number No Outstanding balance.
AmountPaid number No Amount already paid.
AmountCredited number No Credits applied.
AmountDebited number No Debits applied.
DateInvoiced string (ISO 8601) No Invoice creation timestamp.
LineItems array No Collection of invoiced line items.

Note: Required status may vary based on usage context. See full documentation sections for detailed rules.

Version 2.0 Endpoint Responses

These response models cover the Version 2.0 pricing, design creation, and lookup endpoints. For POST endpoints, ResponseSummary uses the shared model documented above.

Decoration Pricing response

FieldTypeRequiredDescription
ResponseSummaryobjectAlwaysShared call result. See ResponseSummary.
PriceGrid.PricingTypestringOn successResolved pricing type.
PriceGrid.ProgramIDinteger or nullOn successAssociated program identifier when applicable.
PriceGrid.DecorationMethodstringOn successDecoration method represented by the grid.
PriceGrid.PriceGridNamestringOn successReadable grid name.
PriceGrid.CurrencystringOn successReturned pricing currency.
PriceGrid.PricingModelstringOn successReturned pricing model.
PriceGrid.Prices[]arrayOn successReturned price tiers.
PriceGrid.Prices[].ColorsintegerMethod-dependentColor count for color-based tiers.
PriceGrid.Prices[].MinimumQuantityintegerTier fieldMinimum quantity in the tier.
PriceGrid.Prices[].MaximumQuantityintegerTier fieldMaximum quantity in the tier.
PriceGrid.Prices[].UnitPricedecimalTier fieldPer-unit price for the tier.

Hard Goods Pricing response

FieldTypeRequiredDescription
ResponseSummaryobjectAlwaysShared call result.
Prices[]arrayOn successMatching hard goods price records.
Prices[].PartIDintegerPer resultInternal hard goods identifier.
Prices[].PartNamestringPer resultComplete internal part name.
Prices[].Range1decimalPer resultFirst configured price value.
Prices[].Range2decimalPer resultSecond configured price value.

Create Design response

FieldTypeRequiredDescription
ResponseSummaryobjectAlwaysShared call result.
Results[]arrayOn successDesign creation results.
Results[].IsCreatedbooleanPer resultDesign creation outcome.
Results[].DesignIDintegerPer resultAssigned Dubow design ID.
Results[].OrderIDinteger or nullPer resultAssociated order ID when applicable.
Results[].PoNumberstring or nullPer resultReturned PO reference.
Results[].Colorways[].NumberintegerPer colorwayAssigned Dubow colorway number.
Results[].Colorways[].NamestringPer colorwayReturned colorway name.
Results[].MessagesOnDesignvalue or nullPer resultDesign-level messages when present.

Products GET response

FieldTypeRequiredDescription
IdintegerPer resultProduct identifier.
NamestringPer resultProduct name/style.
DescriptionstringPer resultReadable product description.
MillstringPer resultManufacturer or mill.
ProductTypestringPer resultProduct classification.
IsActivebooleanPer resultProduct active flag.
RequiresMillbooleanPer resultWhether the product style needs additional disambiguation. Prefer the returned Mill or exact ProductID; use VendorName only if the match is unique.
Sizes[]array<string>Per resultAvailable sizes.
Colors[]array<string>Per resultAvailable colors.

Locations GET response

FieldTypeRequiredDescription
IDintegerPer resultLocation identifier.
NamestringPer resultCanonical location name.
DescriptionstringPer resultReadable location description.
Aliases[]array<string>Per resultRecognized aliases.

Ship Methods GET response

FieldTypeRequiredDescription
IdintegerPer resultShip method identifier.
NamestringPer resultReadable ship method name.
AbbreviationstringPer resultValue used as ShipMethodAbbreviation.
VendorNamestringPer resultCarrier or vendor name.


STANDARD APIExamples and reference

Endpoints & Lookup Lists

Direct and Cloud are both documented.

For supported operations, choose the matching URL and authentication. Cloud IO can queue accepted Order Creation requests during a Dubow Integration outage.

Understand Direct vs Cloud

Use this section as the master endpoint index. Every supported JSON operation is listed with its HTTP method, complete Production or Test URL, and a link to its detailed field documentation.

Use the complete URL

Do not submit only a route such as /v1/products or json/products. Select the correct environment and use the complete URL shown below. Production and Test credentials and data are isolated.

Production Integration API

OperationMethodComplete Production URLDocumentation
Order CreationPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new Order Creation
Order StatusPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status Order Status
Invoice StatusPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice Invoice Status
Decoration PricingPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration Decoration Pricing
Hard Goods PricingPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods Hard Goods Pricing
Create DesignPOSThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new Create Design
Ship MethodsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods Ship Methods
LocationsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations Locations
ProductsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products Products

Test Integration API (Sandbox)

OperationMethodComplete Test URLDocumentation
Order CreationPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new Order Creation
Order StatusPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status Order Status
Invoice StatusPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice Invoice Status
Decoration PricingPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration Decoration Pricing
Hard Goods PricingPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods Hard Goods Pricing
Create DesignPOSThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new Create Design
Ship MethodsGEThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods Ship Methods
LocationsGEThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations Locations
ProductsGEThttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products Products
Environment isolation

Test and Production use different data and credentials. Never mix a Test URL with Production credentials or Production callback URLs.

Cloud IO API URLs

Cloud IO uses /v1/ routes. Accepted Cloud Order Creation requests are queued during an Integration service outage and automatically forwarded when connectivity returns. See Direct vs Cloud IO for authentication and retry guidance.

OperationMethodProduction Cloud URLTest Cloud URL
Order CreationPOSThttps://io.dubowtextile.com/v1/orders https://test-io.dubowtextile.com/v1/orders
Decoration PricingPOSThttps://io.dubowtextile.com/v1/pricing/decoration https://test-io.dubowtextile.com/v1/pricing/decoration
Hard Goods PricingPOSThttps://io.dubowtextile.com/v1/pricing/hardgoods https://test-io.dubowtextile.com/v1/pricing/hardgoods
Create DesignPOSThttps://io.dubowtextile.com/v1/designs/new https://test-io.dubowtextile.com/v1/designs/new
Ship MethodsGEThttps://io.dubowtextile.com/v1/shipmethods https://test-io.dubowtextile.com/v1/shipmethods
LocationsGEThttps://io.dubowtextile.com/v1/locations https://test-io.dubowtextile.com/v1/locations
ProductsGEThttps://io.dubowtextile.com/v1/products https://test-io.dubowtextile.com/v1/products
Cloud authorization

Cloud Order Creation requires the environment-specific customerToken supplied by Dubow IT. Follow the detailed endpoint section for the request body expected by each additional Cloud operation.

JSON Lookup Lists

Use these JSON lookup endpoints to retrieve available products, locations, and shipping methods. Add supported query parameters to narrow the results.

LookupMethodProduction URLAccepted filters and reference
ProductsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/productsproductName, productId, mill. See Products.
LocationsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locationsname, id. See Locations.
Ship MethodsGEThttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethodsname, id, vendorName. See Ship Methods.
Decoration MethodsReferenceDocumented listSee Available Decoration Method Names.
Hard Goods Pricing SKUsReferenceDocumented listSee Supported Hard Goods Search Values.

STANDARD APIRules and support

Frequently Asked Questions

Quick answers to common questions about requests, order status, artwork, shipping, and error handling.

How do I authenticate?

Direct Integration uses Authorization.UserID and Authorization.Password in the JSON body. Cloud IO Order Creation requires a customerToken provided by Dubow IT. See Authentication and Direct vs Cloud IO.

Where do I send requests?

Use the full URLs under Environments & Endpoints. Copy buttons are provided next to each URL.

What does [] mean in field names like Orders[].OrderID?

It indicates “each array item.” See the global Notation note near the top of the API Reference for details.

Why are some dates like /Date(1757566800000-0500)/ and others ISO 8601?

Line-item dates use Microsoft JSON format, while tracking timestamps use ISO 8601. See the Date formats note and UniqueTrackingNumbers.

My Order Status response has UniqueTrackingNumbers empty. Is that normal?

Yes, until parcels are created. Check Orders[].ShippingStatus and Orders[].OrderStatus. When shipments exist, UniqueTrackingNumbers[] will include objects with TrackingNumber, DateShipped, ShipMethodName, and ShipperReference.

How do I choose a ship method?

Look up abbreviations using the Ship Methods JSON endpoint, then set ShipMethodAbbreviation on each Manifest. See Ship Methods for the full URL, filters, and response fields.

Can I submit a line item without designs?

Yes, if NoDecoration is true. Otherwise provide Designs[] with IntegrationColorway. See Designs for required/conditional fields.

How do I add name or number personalizations?

Use Customizations[] inside Designs, including TextLines[]. See Customizations for the exact fields.

Do you queue requests during downtime?

Requests to the standard API during an outage return errors and are not queued. Use the Cloud IO Order Creation endpoint for resilient submission. A valid customerToken from the Dubow IT team is required, included in the JSON body as customerToken. See Direct vs Cloud IO.

How are errors returned?

Business-rule errors may be returned with HTTP 200 but with ResponseSummary.IsSuccess = false and entries in Errors[]. See Error reference and HTTP status codes.

Where can I retrieve product, location, and ship method references?

Use the filterable JSON endpoints under JSON Lookup Lists. Each detailed endpoint section includes complete Production and Test URLs, accepted query fields, and response examples.

Will my webhook payload match the Order Status response?

Yes, when you include OrderStatusNotificationUrl during Order Creation, the webhook payload mirrors the Order Status response for the same PO. See the Order Status tables.


STANDARD APIRules and support
What's new

Documentation Changelog

Customer-facing API documentation updates, including new endpoints, request fields, and integration tools.

API version: 2.0. Documentation revisions are tracked separately from API releases.
November 2026

API tools and troubleshooting

Invoice Status requests use json/orders/invoice. Expanded the error guide with decoration method, imprint location, product, and shipping guidance. Improved the JSON Builder layout, including a more compact order form, a clearer preview, and easier access to endpoint URLs.

October 30, 2026

Endpoint and support guidance

Added a clearer Direct vs Cloud IO guide, made the order submission URLs easier to find, added direct contact information for API support, and expanded the searchable Field Finder across the documentation.

October 26, 2026

New layout and easier tools

Reorganized the guide into separate topics, improved mobile navigation, and expanded the JSON Builder. Added examples for using VendorName to identify a product, and documented ShippingCost and HandlingCost in Order Status responses.

July 30, 2026

API v2.0 reference

Added documentation for Decoration Pricing, Hard Goods Pricing, Create Design, Products, Locations, and Ship Methods. Expanded Order Status lookup guidance to cover requests using an Order ID or customer PO number.

June 2026

OrderDesk integration guide

Added a dedicated OrderDesk setup guide with inventory and product mapping, artwork fields, shipping rules, and common troubleshooting steps.

May 2026

JSON Builder and getting-started resources

Introduced the JSON Builder, clearer request examples, a preflight checklist, and improved error guidance to help customers prepare and troubleshoot integrations.

Earlier updates2025

2025: Introduced the online API guide and expanded documentation for webhooks, Cloud authentication, order status, tracking, shipping methods, and full order examples.

Documentation originally developed by Renato Cordeiro and Jake Scherfenberg.