Skip to main content
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

X-Delegated-Token
string
header
required

Headers

X-Tenant-ID
string
required

Unique identifier of the tenant in the system (usually a store identifier)

Query Parameters

query
string

The search query string. See search query language for information how to build the search query. Supported fields are listed here.

limit
integer
default:20

See pagination for more details on how to paginate the results.

Required range: 1 <= x <= 100
after
string

See pagination for more details on how to paginate the results.

Minimum string length: 1
before
string

See pagination for more details on how to paginate the results.

Minimum string length: 1
sort
string
default:createdAt:asc

See sorting for more details on how to sort the results.

includeCanceledItems
boolean
default:false

Whether to include canceled subscriptions in the results.

Response

200 - application/json

Default Response

resource
enum<string>
required
Available options:
list
hasNextPage
boolean
required
hasPrevPage
boolean
required
endCursor
null | string
required
startCursor
null | string
required
data
Subscription · object[]
required