Orders

Read-only access to orders

List orders

get
/orders

Returns a cursor-paginated list of orders visible to the authenticated user. This endpoint requires a token with the orders:read ability.

Authorizations
AuthorizationstringRequired

Include Authorization: Bearer <token> header. Token must have the orders:read ability.

Query parameters
sstring · nullableOptional

Search orders by order name (fuzzy search). Searches through the order's display name/reference. Useful for finding orders by customer reference numbers or partial name matches.

Example: ORDER-123
sortstring · enum · nullableOptional

Field to sort the results by. Determines the primary ordering of returned orders. Most commonly used fields: created_at for chronological order, total_price for value-based sorting. Default is created_at when not specified.

Default: created_atExample: created_atPossible values:
sort_typestring · enum · nullableOptional

Sort direction for the specified sort field. Use desc for newest/highest first, asc for oldest/lowest first. When sorting by created_at, desc shows most recent orders first. Default is desc when not specified.

Default: descExample: descPossible values:
per_pageinteger · min: 1 · max: 500Optional

Number of orders to return per page using cursor-based pagination. Higher values reduce API calls but increase response size and processing time. Recommended range: 10-100 for most use cases. Maximum allowed: 500.

Default: 25Example: 25
start_datestring · date-time · nullableOptional

Filter orders created on or after this date (inclusive). Must be a valid ISO 8601 datetime string. Used with end_date to create date ranges. Timezone should be UTC (Z suffix) or include offset. Useful for retrieving orders from specific time periods or recent orders since last sync.

Example: 2025-01-01T00:00:00Z
end_datestring · date-time · nullableOptional

Filter orders created on or before this date (inclusive). Must be a valid ISO 8601 datetime string. Used with start_date to create date ranges. Should be later than start_date if both are provided. Timezone should be UTC (Z suffix) or include offset for consistency.

Example: 2025-01-31T23:59:59Z
statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • created: Order received, not yet processed
  • email_sent: Notification sent to customer
  • partial_customized: Some items customized, others pending
  • customized: All customization completed, ready for fulfillment
Example: createdPossible values:
tib_statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • 1: Awaiting customization
  • 2: Generating
  • 3: Partially generating
  • 4: Paused
  • 5: Partially paused
  • 6: Ready
  • 7: Partially ready
  • 8: Sending
  • 9: Partially sending
  • 10: Sent
  • 11: Partially sent
  • 12: Fulfilled
  • 13: Partially fulfilled
  • 14: Error
  • 15: Partially error
  • 16: Cancelled
  • 17: Missing customization
Example: 1Possible values:
fulfillment_statusstring · enum · nullableOptional

Filter by physical fulfillment status. Controls which orders are returned based on shipping/delivery state:

  • fulfilled: All items shipped and delivered
  • partial: Some items fulfilled, others pending
  • cancelled: Fulfillment cancelled (e.g., by customer request)
  • not_eligible: Items cannot be fulfilled (e.g., discontinued products)
  • restocked: Items returned to inventory
  • null: Orders not yet sent for fulfillment (pending or in processing)
Example: fulfilledPossible values:
financial_statusstring · enum · nullableOptional

Filter by payment status. Essential for determining which orders are paid and ready for processing:

  • pending: Payment not yet processed
  • authorized: Payment method verified but not captured
  • partially_paid: Partial payment received (layaway/installments)
  • paid: Full payment received and confirmed
  • partially_refunded: Some money returned to customer
  • refunded: Full refund issued
  • voided: Payment cancelled before capture
  • cancelled: Order payment cancelled
Example: paidPossible values:
teststring · enum · nullableOptional

Filter test/sandbox orders. Test orders are created during development, store setup, or payment testing.

  • "1": Include ONLY test orders (for development/testing)
  • "0": Include ONLY live orders (production data)
  • omit parameter: Include ONLY live orders (default behavior) Note: Most production integrations should use "0" or omit this parameter entirely.
Default: 0Example: 0Possible values:
by_teeinbluestring · enum · nullableOptional

Filter orders by their creation source. Determines whether orders were placed through Teeinblue or external platforms:

  • "1": Orders created directly through Teeinblue platform
  • "0": Orders synced from external platforms (Shopify, Etsy, etc.)
  • omit parameter: Include orders from all sources Useful for separating direct sales from platform marketplace sales.
Example: 1Possible values:
cursorstring · nullableOptional

Pagination cursor for retrieving the next set of results. This is an opaque string returned in the meta.next_cursor field of the previous response. Do not manually construct cursor values - always use the exact string provided by the API. For first page requests, omit this parameter entirely.

Example: eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNSAxMDozMDowMCIsImlkIjoxMjM0NX0
platformstring · enum · nullableOptional

Filter orders by the e-commerce platform they originated from. Useful for integrations that need to separate orders by sales channel. Common platforms include:

  • etsy: Etsy marketplace orders
  • shopify: Shopify store orders
  • woocommerce: WooCommerce store orders Note: This parameter is automatically set for platform-specific endpoints like /orders/etsy.
Example: etsyPossible values:
Responses
chevron-right
200

List of orders (cursor-paginated)

application/json

Cursor-paginated response containing a list of PublicOrder objects. Uses cursor-based pagination for efficient handling of large datasets.

get
/orders

Get order by ID

get
/orders/{orderId}

Fetch a single order by internal order ID or platform-specific ID. Requires orders:read ability.

Authorizations
AuthorizationstringRequired

Include Authorization: Bearer <token> header. Token must have the orders:read ability.

Path parameters
orderIdstringRequired

Platform-linked ID (e.g., 1234567890) or Teeinblue order ID (e.g., 12345), platform-linked ID takes precedence.

Query parameters
include_customizationbooleanOptional

Include customization data and customer uploads in the response

Example: true
Responses
chevron-right
200

Order found

application/json

Complete order information including customer details, line items, shipping, and payment status. Represents a single customer order that may contain multiple items and customizations.

idintegerOptional

Unique Teeinblue identifier for this order

Example: 12345
order_namestringOptional

Human-readable order identifier shown to customers and staff. Format varies by platform (e.g., '#1001', 'ORDER-2025-001', etc.)

Example: #1001
platform_order_idstring · nullableOptional

Original order identifier from the source platform (Shopify, Etsy, etc.).

Example: 4567890123
test_orderbooleanOptional

Indicates if this is a test/sandbox order created during development or store setup. Test orders should not be included in sales reports or fulfillment.

Default: falseExample: false
total_pricenumber · float · nullableOptional

Total order value including items, shipping, taxes, and discounts. Always in the currency specified by the currency field.

Example: 29.99
currencystring · nullableOptional

ISO 4217 currency code for all monetary values in this order

Example: USD
fulfillment_statusstring · enum · nullableOptional

Overall physical fulfillment status for the entire order:

  • fulfilled: All items have been shipped
  • partial: Some items shipped, others pending
  • cancelled: Fulfillment cancelled by customer or merchant
  • not_eligible: Order cannot be fulfilled (payment issues, discontinued products)
  • restocked: Items returned to inventory
  • null: Not yet sent for fulfillment (still processing)
Example: fulfilledPossible values:
financial_statusstring · enum · nullableOptional

Payment status for this order. Critical for determining if order should be processed:

  • pending: Payment not yet processed
  • authorized: Payment authorized but not captured
  • partially_paid: Partial payment received (installments/layaway)
  • paid: Full payment received and confirmed
  • partially_refunded: Some amount refunded to customer
  • refunded: Full refund issued
  • voided: Payment authorization cancelled before capture
  • cancelled: Payment cancelled by customer or system
Example: paidPossible values:
statusstring · enum · nullableOptional

Internal Teeinblue processing status tracking order lifecycle:

  • created: Order received but not yet processed
  • email_sent: Customer notification sent
  • partial_customized: Some items have completed customization
  • customized: All customization work completed, ready for fulfillment
Example: customizedPossible values:
tib_statusstring · nullableOptional

Internal Teeinblue processing status tracking order lifecycle. Represents the lifecycle of order customization:

  • 1: Awaiting customization
  • 2: Generating
  • 3: Partially generating
  • 4: Paused
  • 5: Partially paused
  • 6: Ready
  • 7: Partially ready
  • 8: Sending
  • 9: Partially sending
  • 10: Sent
  • 11: Partially sent
  • 12: Fulfilled
  • 13: Partially fulfilled
  • 14: Error
  • 15: Partially error
  • 16: Cancelled
  • 17: Missing customization
Example: 1
shipping_methodstring · nullableOptional

Shipping service selected by customer or assigned by merchant. Examples: 'Standard Shipping', 'Express', 'Priority Mail', etc.

Example: Standard Shipping
instance_namestring · nullableOptional

Name of the store/instance where this order was placed. Useful for multi-store merchants to identify the sales channel.

Example: My Awesome T-Shirt Store
platform_domainstring · nullableOptional

Domain/URL of the originating platform store. Examples: 'my-shop.myshopify.com', 'mystore.etsy.com', 'example.com'

Example: my-shop.myshopify.com
created_atstring · date-time · nullableOptional

Timestamp when the order was first created/placed

Example: 2025-01-15T10:30:00Z
deleted_atstring · date-time · nullableOptional

Timestamp when the order was soft deleted. Orders with non-null deleted_at are displayed with TIB status Archived in the portal.

Example: 2025-01-15T10:30:00Z
customerone ofOptional

Customer information associated with this order. May be null for guest checkouts.

or
nullOptional
get
/orders/{orderId}

List Etsy orders

get
/orders/etsy

Convenience wrapper for /orders that implicitly filters platform=etsy. Requires orders:read ability.

Authorizations
AuthorizationstringRequired

Include Authorization: Bearer <token> header. Token must have the orders:read ability.

Query parameters
sstring · nullableOptional

Search orders by order name (fuzzy search). Searches through the order's display name/reference. Useful for finding orders by customer reference numbers or partial name matches.

Example: ORDER-123
sortstring · enum · nullableOptional

Field to sort the results by. Determines the primary ordering of returned orders. Most commonly used fields: created_at for chronological order, total_price for value-based sorting. Default is created_at when not specified.

Default: created_atExample: created_atPossible values:
sort_typestring · enum · nullableOptional

Sort direction for the specified sort field. Use desc for newest/highest first, asc for oldest/lowest first. When sorting by created_at, desc shows most recent orders first. Default is desc when not specified.

Default: descExample: descPossible values:
per_pageinteger · min: 1 · max: 500Optional

Number of orders to return per page using cursor-based pagination. Higher values reduce API calls but increase response size and processing time. Recommended range: 10-100 for most use cases. Maximum allowed: 500.

Default: 25Example: 25
start_datestring · date-time · nullableOptional

Filter orders created on or after this date (inclusive). Must be a valid ISO 8601 datetime string. Used with end_date to create date ranges. Timezone should be UTC (Z suffix) or include offset. Useful for retrieving orders from specific time periods or recent orders since last sync.

Example: 2025-01-01T00:00:00Z
end_datestring · date-time · nullableOptional

Filter orders created on or before this date (inclusive). Must be a valid ISO 8601 datetime string. Used with start_date to create date ranges. Should be later than start_date if both are provided. Timezone should be UTC (Z suffix) or include offset for consistency.

Example: 2025-01-31T23:59:59Z
statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • created: Order received, not yet processed
  • email_sent: Notification sent to customer
  • partial_customized: Some items customized, others pending
  • customized: All customization completed, ready for fulfillment
Example: createdPossible values:
tib_statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • 1: Awaiting customization
  • 2: Generating
  • 3: Partially generating
  • 4: Paused
  • 5: Partially paused
  • 6: Ready
  • 7: Partially ready
  • 8: Sending
  • 9: Partially sending
  • 10: Sent
  • 11: Partially sent
  • 12: Fulfilled
  • 13: Partially fulfilled
  • 14: Error
  • 15: Partially error
  • 16: Cancelled
  • 17: Missing customization
Example: 1Possible values:
fulfillment_statusstring · enum · nullableOptional

Filter by physical fulfillment status. Controls which orders are returned based on shipping/delivery state:

  • fulfilled: All items shipped and delivered
  • partial: Some items fulfilled, others pending
  • cancelled: Fulfillment cancelled (e.g., by customer request)
  • not_eligible: Items cannot be fulfilled (e.g., discontinued products)
  • restocked: Items returned to inventory
  • null: Orders not yet sent for fulfillment (pending or in processing)
Example: fulfilledPossible values:
financial_statusstring · enum · nullableOptional

Filter by payment status. Essential for determining which orders are paid and ready for processing:

  • pending: Payment not yet processed
  • authorized: Payment method verified but not captured
  • partially_paid: Partial payment received (layaway/installments)
  • paid: Full payment received and confirmed
  • partially_refunded: Some money returned to customer
  • refunded: Full refund issued
  • voided: Payment cancelled before capture
  • cancelled: Order payment cancelled
Example: paidPossible values:
teststring · enum · nullableOptional

Filter test/sandbox orders. Test orders are created during development, store setup, or payment testing.

  • "1": Include ONLY test orders (for development/testing)
  • "0": Include ONLY live orders (production data)
  • omit parameter: Include ONLY live orders (default behavior) Note: Most production integrations should use "0" or omit this parameter entirely.
Default: 0Example: 0Possible values:
by_teeinbluestring · enum · nullableOptional

Filter orders by their creation source. Determines whether orders were placed through Teeinblue or external platforms:

  • "1": Orders created directly through Teeinblue platform
  • "0": Orders synced from external platforms (Shopify, Etsy, etc.)
  • omit parameter: Include orders from all sources Useful for separating direct sales from platform marketplace sales.
Example: 1Possible values:
cursorstring · nullableOptional

Pagination cursor for retrieving the next set of results. This is an opaque string returned in the meta.next_cursor field of the previous response. Do not manually construct cursor values - always use the exact string provided by the API. For first page requests, omit this parameter entirely.

Example: eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNSAxMDozMDowMCIsImlkIjoxMjM0NX0
Responses
chevron-right
200

List of Etsy orders (cursor-paginated)

application/json

Cursor-paginated response containing a list of PublicOrder objects. Uses cursor-based pagination for efficient handling of large datasets.

get
/orders/etsy

Get Etsy order by order ID

get
/orders/etsy/{etsyId}

Fetch a single Etsy order by its Etsy order ID. Requires orders:read ability.

Authorizations
AuthorizationstringRequired

Include Authorization: Bearer <token> header. Token must have the orders:read ability.

Path parameters
etsyIdstringRequired

Etsy order ID (e.g., 1234567890) or Teeinblue order ID (e.g., 12345), Etsy order ID takes precedence.

Query parameters
include_customizationbooleanOptional

Include customization data and customer uploads in the response

Example: true
Responses
chevron-right
200

Etsy order found

application/json

Complete order information including customer details, line items, shipping, and payment status. Represents a single customer order that may contain multiple items and customizations.

idintegerOptional

Unique Teeinblue identifier for this order

Example: 12345
order_namestringOptional

Human-readable order identifier shown to customers and staff. Format varies by platform (e.g., '#1001', 'ORDER-2025-001', etc.)

Example: #1001
platform_order_idstring · nullableOptional

Original order identifier from the source platform (Shopify, Etsy, etc.).

Example: 4567890123
test_orderbooleanOptional

Indicates if this is a test/sandbox order created during development or store setup. Test orders should not be included in sales reports or fulfillment.

Default: falseExample: false
total_pricenumber · float · nullableOptional

Total order value including items, shipping, taxes, and discounts. Always in the currency specified by the currency field.

Example: 29.99
currencystring · nullableOptional

ISO 4217 currency code for all monetary values in this order

Example: USD
fulfillment_statusstring · enum · nullableOptional

Overall physical fulfillment status for the entire order:

  • fulfilled: All items have been shipped
  • partial: Some items shipped, others pending
  • cancelled: Fulfillment cancelled by customer or merchant
  • not_eligible: Order cannot be fulfilled (payment issues, discontinued products)
  • restocked: Items returned to inventory
  • null: Not yet sent for fulfillment (still processing)
Example: fulfilledPossible values:
financial_statusstring · enum · nullableOptional

Payment status for this order. Critical for determining if order should be processed:

  • pending: Payment not yet processed
  • authorized: Payment authorized but not captured
  • partially_paid: Partial payment received (installments/layaway)
  • paid: Full payment received and confirmed
  • partially_refunded: Some amount refunded to customer
  • refunded: Full refund issued
  • voided: Payment authorization cancelled before capture
  • cancelled: Payment cancelled by customer or system
Example: paidPossible values:
statusstring · enum · nullableOptional

Internal Teeinblue processing status tracking order lifecycle:

  • created: Order received but not yet processed
  • email_sent: Customer notification sent
  • partial_customized: Some items have completed customization
  • customized: All customization work completed, ready for fulfillment
Example: customizedPossible values:
tib_statusstring · nullableOptional

Internal Teeinblue processing status tracking order lifecycle. Represents the lifecycle of order customization:

  • 1: Awaiting customization
  • 2: Generating
  • 3: Partially generating
  • 4: Paused
  • 5: Partially paused
  • 6: Ready
  • 7: Partially ready
  • 8: Sending
  • 9: Partially sending
  • 10: Sent
  • 11: Partially sent
  • 12: Fulfilled
  • 13: Partially fulfilled
  • 14: Error
  • 15: Partially error
  • 16: Cancelled
  • 17: Missing customization
Example: 1
shipping_methodstring · nullableOptional

Shipping service selected by customer or assigned by merchant. Examples: 'Standard Shipping', 'Express', 'Priority Mail', etc.

Example: Standard Shipping
instance_namestring · nullableOptional

Name of the store/instance where this order was placed. Useful for multi-store merchants to identify the sales channel.

Example: My Awesome T-Shirt Store
platform_domainstring · nullableOptional

Domain/URL of the originating platform store. Examples: 'my-shop.myshopify.com', 'mystore.etsy.com', 'example.com'

Example: my-shop.myshopify.com
created_atstring · date-time · nullableOptional

Timestamp when the order was first created/placed

Example: 2025-01-15T10:30:00Z
deleted_atstring · date-time · nullableOptional

Timestamp when the order was soft deleted. Orders with non-null deleted_at are displayed with TIB status Archived in the portal.

Example: 2025-01-15T10:30:00Z
customerone ofOptional

Customer information associated with this order. May be null for guest checkouts.

or
nullOptional
get
/orders/etsy/{etsyId}

List orders for specific store

get
/stores/{platformDomain}/orders

Returns orders for a specific store identified by platform domain. Requires orders:read ability.

Authorizations
AuthorizationstringRequired

Include Authorization: Bearer <token> header. Token must have the orders:read ability.

Path parameters
platformDomainstringRequired

Store platform domain (e.g., my-shop.myshopify.com)

Query parameters
sstring · nullableOptional

Search orders by order name (fuzzy search). Searches through the order's display name/reference. Useful for finding orders by customer reference numbers or partial name matches.

Example: ORDER-123
sortstring · enum · nullableOptional

Field to sort the results by. Determines the primary ordering of returned orders. Most commonly used fields: created_at for chronological order, total_price for value-based sorting. Default is created_at when not specified.

Default: created_atExample: created_atPossible values:
sort_typestring · enum · nullableOptional

Sort direction for the specified sort field. Use desc for newest/highest first, asc for oldest/lowest first. When sorting by created_at, desc shows most recent orders first. Default is desc when not specified.

Default: descExample: descPossible values:
per_pageinteger · min: 1 · max: 500Optional

Number of orders to return per page using cursor-based pagination. Higher values reduce API calls but increase response size and processing time. Recommended range: 10-100 for most use cases. Maximum allowed: 500.

Default: 25Example: 25
start_datestring · date-time · nullableOptional

Filter orders created on or after this date (inclusive). Must be a valid ISO 8601 datetime string. Used with end_date to create date ranges. Timezone should be UTC (Z suffix) or include offset. Useful for retrieving orders from specific time periods or recent orders since last sync.

Example: 2025-01-01T00:00:00Z
end_datestring · date-time · nullableOptional

Filter orders created on or before this date (inclusive). Must be a valid ISO 8601 datetime string. Used with start_date to create date ranges. Should be later than start_date if both are provided. Timezone should be UTC (Z suffix) or include offset for consistency.

Example: 2025-01-31T23:59:59Z
statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • created: Order received, not yet processed
  • email_sent: Notification sent to customer
  • partial_customized: Some items customized, others pending
  • customized: All customization completed, ready for fulfillment
Example: createdPossible values:
tib_statusstring · enum · nullableOptional

Filter by internal Teeinblue order processing status. Represents the lifecycle of order customization:

  • 1: Awaiting customization
  • 2: Generating
  • 3: Partially generating
  • 4: Paused
  • 5: Partially paused
  • 6: Ready
  • 7: Partially ready
  • 8: Sending
  • 9: Partially sending
  • 10: Sent
  • 11: Partially sent
  • 12: Fulfilled
  • 13: Partially fulfilled
  • 14: Error
  • 15: Partially error
  • 16: Cancelled
  • 17: Missing customization
Example: 1Possible values:
fulfillment_statusstring · enum · nullableOptional

Filter by physical fulfillment status. Controls which orders are returned based on shipping/delivery state:

  • fulfilled: All items shipped and delivered
  • partial: Some items fulfilled, others pending
  • cancelled: Fulfillment cancelled (e.g., by customer request)
  • not_eligible: Items cannot be fulfilled (e.g., discontinued products)
  • restocked: Items returned to inventory
  • null: Orders not yet sent for fulfillment (pending or in processing)
Example: fulfilledPossible values:
financial_statusstring · enum · nullableOptional

Filter by payment status. Essential for determining which orders are paid and ready for processing:

  • pending: Payment not yet processed
  • authorized: Payment method verified but not captured
  • partially_paid: Partial payment received (layaway/installments)
  • paid: Full payment received and confirmed
  • partially_refunded: Some money returned to customer
  • refunded: Full refund issued
  • voided: Payment cancelled before capture
  • cancelled: Order payment cancelled
Example: paidPossible values:
teststring · enum · nullableOptional

Filter test/sandbox orders. Test orders are created during development, store setup, or payment testing.

  • "1": Include ONLY test orders (for development/testing)
  • "0": Include ONLY live orders (production data)
  • omit parameter: Include ONLY live orders (default behavior) Note: Most production integrations should use "0" or omit this parameter entirely.
Default: 0Example: 0Possible values:
by_teeinbluestring · enum · nullableOptional

Filter orders by their creation source. Determines whether orders were placed through Teeinblue or external platforms:

  • "1": Orders created directly through Teeinblue platform
  • "0": Orders synced from external platforms (Shopify, Etsy, etc.)
  • omit parameter: Include orders from all sources Useful for separating direct sales from platform marketplace sales.
Example: 1Possible values:
cursorstring · nullableOptional

Pagination cursor for retrieving the next set of results. This is an opaque string returned in the meta.next_cursor field of the previous response. Do not manually construct cursor values - always use the exact string provided by the API. For first page requests, omit this parameter entirely.

Example: eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNSAxMDozMDowMCIsImlkIjoxMjM0NX0
Responses
chevron-right
200

List of store orders (cursor-paginated)

application/json

Cursor-paginated response containing a list of PublicOrder objects. Uses cursor-based pagination for efficient handling of large datasets.

get
/stores/{platformDomain}/orders

Last updated