cURL
curl --request GET \
--url https://api.juo.io/customer/v1/subscriptions \
--header 'X-Delegated-Token: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>'import requests
url = "https://api.juo.io/customer/v1/subscriptions"
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/subscriptions', 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/subscriptions",
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/subscriptions"
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/subscriptions")
.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/subscriptions")
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": "550e8400-e29b-41d4-a716-446655440000",
"resource": "subscription",
"serial": "1042",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"nextBillingDate": "2024-02-15T10:00:00.000Z",
"currentCycle": 1,
"currencyCode": "USD",
"billingPolicy": {
"interval": "MONTH",
"intervalCount": 1
},
"deliveryPolicy": {
"interval": "MONTH",
"intervalCount": 1
},
"deliveryMethod": {
"title": "<string>",
"description": "<string>"
},
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"resource": "subscription-item",
"title": "Monthly Coffee Blend",
"subtitle": "250g / Ground",
"quantity": 1,
"totalPrice": 24.99,
"recurringCycleLimit": 3,
"canceledAt": "2023-11-07T05:31:56Z",
"billingPolicy": {
"interval": "DAY",
"intervalCount": 183,
"anchors": [
{
"type": "WEEKDAY",
"day": 16,
"month": 6,
"cutoffDay": 16
}
],
"minCycles": 2,
"maxCycles": 2
},
"deliveryPolicy": {
"interval": "DAY",
"intervalCount": 183,
"anchors": [
{
"type": "WEEKDAY",
"day": 16,
"month": 6,
"cutoffDay": 16
}
]
},
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"variant": "<string>",
"product": "<string>"
}
],
"discounts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resource": "subscription-discount",
"title": "<string>",
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}
],
"paymentMethod": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deliveryAddress": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
},
"deliveryPrice": 1
}
]
}Subscriptions
List subscriptions
Returns a list of subscriptions.
GET
/
subscriptions
cURL
curl --request GET \
--url https://api.juo.io/customer/v1/subscriptions \
--header 'X-Delegated-Token: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>'import requests
url = "https://api.juo.io/customer/v1/subscriptions"
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/subscriptions', 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/subscriptions",
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/subscriptions"
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/subscriptions")
.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/subscriptions")
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": "550e8400-e29b-41d4-a716-446655440000",
"resource": "subscription",
"serial": "1042",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"nextBillingDate": "2024-02-15T10:00:00.000Z",
"currentCycle": 1,
"currencyCode": "USD",
"billingPolicy": {
"interval": "MONTH",
"intervalCount": 1
},
"deliveryPolicy": {
"interval": "MONTH",
"intervalCount": 1
},
"deliveryMethod": {
"title": "<string>",
"description": "<string>"
},
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"resource": "subscription-item",
"title": "Monthly Coffee Blend",
"subtitle": "250g / Ground",
"quantity": 1,
"totalPrice": 24.99,
"recurringCycleLimit": 3,
"canceledAt": "2023-11-07T05:31:56Z",
"billingPolicy": {
"interval": "DAY",
"intervalCount": 183,
"anchors": [
{
"type": "WEEKDAY",
"day": 16,
"month": 6,
"cutoffDay": 16
}
],
"minCycles": 2,
"maxCycles": 2
},
"deliveryPolicy": {
"interval": "DAY",
"intervalCount": 183,
"anchors": [
{
"type": "WEEKDAY",
"day": 16,
"month": 6,
"cutoffDay": 16
}
]
},
"customAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"variant": "<string>",
"product": "<string>"
}
],
"discounts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resource": "subscription-discount",
"title": "<string>",
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}
],
"paymentMethod": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deliveryAddress": {
"firstName": "<string>",
"lastName": "<string>",
"address1": "<string>",
"address2": "<string>",
"zip": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"provinceCode": "<string>",
"province": "<string>",
"phone": "<string>",
"company": "<string>"
},
"deliveryPrice": 1
}
]
}Authorizations
DelegatedTokenAccessToken
Headers
Unique identifier of the tenant in the system (usually a store identifier)
Query Parameters
The search query string. See search query language for information how to build the search query. Supported fields are listed here.
See pagination for more details on how to paginate the results.
Required range:
1 <= x <= 100See pagination for more details on how to paginate the results.
Minimum string length:
1See pagination for more details on how to paginate the results.
Minimum string length:
1Whether to include canceled subscriptions in the results.
⌘I