curl --request GET \
--url https://api.juo.io/customer/v1/orders \
--header 'X-Delegated-Token: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>'import requests
url = "https://api.juo.io/customer/v1/orders"
headers = {
"X-Tenant-ID": "<x-tenant-id>",
"X-Delegated-Token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Tenant-ID': '<x-tenant-id>', 'X-Delegated-Token': '<api-key>'}
};
fetch('https://api.juo.io/customer/v1/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.juo.io/customer/v1/orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Delegated-Token: <api-key>",
"X-Tenant-ID: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.juo.io/customer/v1/orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Tenant-ID", "<x-tenant-id>")
req.Header.Add("X-Delegated-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.juo.io/customer/v1/orders")
.header("X-Tenant-ID", "<x-tenant-id>")
.header("X-Delegated-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juo.io/customer/v1/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Tenant-ID"] = '<x-tenant-id>'
request["X-Delegated-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"resource": "list",
"hasNextPage": true,
"hasPrevPage": true,
"endCursor": "<string>",
"startCursor": "<string>",
"data": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"placedAt": "2023-11-07T05:31:56Z",
"currencyCode": "<string>",
"type": "checkout",
"paymentStatus": "paid",
"financialStatus": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"fulfillmentStatus": "<string>",
"subtotal": 1,
"shipping": 1,
"totalPrice": 1,
"taxesAmount": 1,
"taxesIncluded": true,
"items": [
{
"id": "<string>",
"title": "<string>",
"subtitle": "<string>",
"quantity": 2,
"unitPrice": 1,
"totalPrice": 1,
"productId": "<string>",
"variantId": "<string>",
"sku": "<string>",
"variantImage": {
"url": "<string>",
"altText": "<string>"
},
"subscriptionLineId": "<string>",
"requiresShipping": true,
"taxable": true,
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"sellingPlanId": "<string>",
"sellingPlanName": "<string>"
}
],
"discounts": [
{
"id": "<string>",
"title": "<string>",
"type": "Code",
"target": "Line",
"value": {
"type": "Percentage",
"percentage": 50
},
"entitledItems": {
"all": true
},
"subscriptionDiscountId": "<string>"
}
],
"deliveryMethod": {
"type": "Shipping",
"address": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
}
},
"paymentMethod": {
"id": "<string>",
"type": "CreditCard",
"details": {
"brand": "<string>",
"lastDigits": "<string>",
"maskedNumber": "<string>",
"expiryMonth": 123,
"expiryYear": 123,
"name": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"subscriptionIds": [
"<string>"
],
"payment": {
"state": "charging",
"nextAttemptAt": "2023-11-07T05:31:56Z",
"actions": [
"pay"
]
}
}
],
"orders": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"placedAt": "2023-11-07T05:31:56Z",
"currencyCode": "<string>",
"type": "checkout",
"paymentStatus": "paid",
"financialStatus": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"fulfillmentStatus": "<string>",
"subtotal": 1,
"shipping": 1,
"totalPrice": 1,
"taxesAmount": 1,
"taxesIncluded": true,
"items": [
{
"id": "<string>",
"title": "<string>",
"subtitle": "<string>",
"quantity": 2,
"unitPrice": 1,
"totalPrice": 1,
"productId": "<string>",
"variantId": "<string>",
"sku": "<string>",
"variantImage": {
"url": "<string>",
"altText": "<string>"
},
"subscriptionLineId": "<string>",
"requiresShipping": true,
"taxable": true,
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"sellingPlanId": "<string>",
"sellingPlanName": "<string>"
}
],
"discounts": [
{
"id": "<string>",
"title": "<string>",
"type": "Code",
"target": "Line",
"value": {
"type": "Percentage",
"percentage": 50
},
"entitledItems": {
"all": true
},
"subscriptionDiscountId": "<string>"
}
],
"deliveryMethod": {
"type": "Shipping",
"address": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
}
},
"paymentMethod": {
"id": "<string>",
"type": "CreditCard",
"details": {
"brand": "<string>",
"lastDigits": "<string>",
"maskedNumber": "<string>",
"expiryMonth": 123,
"expiryYear": 123,
"name": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"subscriptionIds": [
"<string>"
],
"payment": {
"state": "charging",
"nextAttemptAt": "2023-11-07T05:31:56Z",
"actions": [
"pay"
]
}
}
]
}List orders
Returns a list of orders.
curl --request GET \
--url https://api.juo.io/customer/v1/orders \
--header 'X-Delegated-Token: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>'import requests
url = "https://api.juo.io/customer/v1/orders"
headers = {
"X-Tenant-ID": "<x-tenant-id>",
"X-Delegated-Token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Tenant-ID': '<x-tenant-id>', 'X-Delegated-Token': '<api-key>'}
};
fetch('https://api.juo.io/customer/v1/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.juo.io/customer/v1/orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Delegated-Token: <api-key>",
"X-Tenant-ID: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.juo.io/customer/v1/orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Tenant-ID", "<x-tenant-id>")
req.Header.Add("X-Delegated-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.juo.io/customer/v1/orders")
.header("X-Tenant-ID", "<x-tenant-id>")
.header("X-Delegated-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juo.io/customer/v1/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Tenant-ID"] = '<x-tenant-id>'
request["X-Delegated-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"resource": "list",
"hasNextPage": true,
"hasPrevPage": true,
"endCursor": "<string>",
"startCursor": "<string>",
"data": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"placedAt": "2023-11-07T05:31:56Z",
"currencyCode": "<string>",
"type": "checkout",
"paymentStatus": "paid",
"financialStatus": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"fulfillmentStatus": "<string>",
"subtotal": 1,
"shipping": 1,
"totalPrice": 1,
"taxesAmount": 1,
"taxesIncluded": true,
"items": [
{
"id": "<string>",
"title": "<string>",
"subtitle": "<string>",
"quantity": 2,
"unitPrice": 1,
"totalPrice": 1,
"productId": "<string>",
"variantId": "<string>",
"sku": "<string>",
"variantImage": {
"url": "<string>",
"altText": "<string>"
},
"subscriptionLineId": "<string>",
"requiresShipping": true,
"taxable": true,
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"sellingPlanId": "<string>",
"sellingPlanName": "<string>"
}
],
"discounts": [
{
"id": "<string>",
"title": "<string>",
"type": "Code",
"target": "Line",
"value": {
"type": "Percentage",
"percentage": 50
},
"entitledItems": {
"all": true
},
"subscriptionDiscountId": "<string>"
}
],
"deliveryMethod": {
"type": "Shipping",
"address": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
}
},
"paymentMethod": {
"id": "<string>",
"type": "CreditCard",
"details": {
"brand": "<string>",
"lastDigits": "<string>",
"maskedNumber": "<string>",
"expiryMonth": 123,
"expiryYear": 123,
"name": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"subscriptionIds": [
"<string>"
],
"payment": {
"state": "charging",
"nextAttemptAt": "2023-11-07T05:31:56Z",
"actions": [
"pay"
]
}
}
],
"orders": [
{
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"placedAt": "2023-11-07T05:31:56Z",
"currencyCode": "<string>",
"type": "checkout",
"paymentStatus": "paid",
"financialStatus": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"fulfillmentStatus": "<string>",
"subtotal": 1,
"shipping": 1,
"totalPrice": 1,
"taxesAmount": 1,
"taxesIncluded": true,
"items": [
{
"id": "<string>",
"title": "<string>",
"subtitle": "<string>",
"quantity": 2,
"unitPrice": 1,
"totalPrice": 1,
"productId": "<string>",
"variantId": "<string>",
"sku": "<string>",
"variantImage": {
"url": "<string>",
"altText": "<string>"
},
"subscriptionLineId": "<string>",
"requiresShipping": true,
"taxable": true,
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"sellingPlanId": "<string>",
"sellingPlanName": "<string>"
}
],
"discounts": [
{
"id": "<string>",
"title": "<string>",
"type": "Code",
"target": "Line",
"value": {
"type": "Percentage",
"percentage": 50
},
"entitledItems": {
"all": true
},
"subscriptionDiscountId": "<string>"
}
],
"deliveryMethod": {
"type": "Shipping",
"address": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
}
},
"paymentMethod": {
"id": "<string>",
"type": "CreditCard",
"details": {
"brand": "<string>",
"lastDigits": "<string>",
"maskedNumber": "<string>",
"expiryMonth": 123,
"expiryYear": 123,
"name": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"subscriptionIds": [
"<string>"
],
"payment": {
"state": "charging",
"nextAttemptAt": "2023-11-07T05:31:56Z",
"actions": [
"pay"
]
}
}
]
}Authorizations
Headers
Unique identifier of the tenant in the system (usually a store identifier)
Query Parameters
Search query. Terms are field:value; comparisons field:>value, :<, :>=, :<=. Quote values in single or double quotes unless they are only letters and digits, with single dots between them, or a UUID as a filter value. Combine terms with AND (binds tighter) and OR, group with parentheses, negate a term or group with NOT or a leading -. Fields: id, type, subscriptionId, placedAt, createdAt, includeOneTime. Example: subscriptionId:"<subscription id>" AND placedAt:>="2026-01-01". See search query language and the field reference. Free-text terms are rejected: orders have no search index behind them, unlike customers, products and subscriptions. includeOneTime:true widens the scope to the customer's full Shopify order history and cannot be combined with other filters, because we hold no row for those orders to filter on. Changing this restarts pagination.
1DEPRECATED: use query=includeOneTime:true instead, so that scope and filters travel in one parameter. Still honoured, and still mutually exclusive with query filters. When false (default), only subscription-driven orders are returned: the set is determined by orders tracked in our database for the customer, hydrated from Shopify. When true, the full Shopify order history (including one-time orders) is returned. Toggling this restarts pagination (the default path uses database cursors; the full-history path uses Shopify cursors).
1 <= x <= 50Sort order. When set to placedAt, orders are sorted by placement date (newest first). When omitted, the default sort is used. Toggling this flag restarts pagination (cursors are not interchangeable between sort modes).
placedAt 11Response
Default Response
list Show child attributes
Show child attributes
DEPRECATED: use data instead. Returned for backward compatibility with the pre-pagination response shape.
Show child attributes
Show child attributes