List Subscriptions
Intent
Reads the available subscriptions as a pageable collection without changing them.
When to call it
Call this when an interface, sync, or support workflow needs to inspect subscriptions. Use the filters and paging controls shown below to limit the result.
Access boundary
Authorize the request with a token that carries subscriptions:read or subscriptions:write.
Successful result
A successful request returns 200. The response schema below defines the body your integration receives.
Operational notes
List subscriptions.
Scopes: subscriptions:read subscriptions:write
curl --request GET \
--url https://api.getruba.com/v1/subscriptions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getruba.com/v1/subscriptions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getruba.com/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.getruba.com/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 => [
"Authorization: Bearer <token>"
],
]);
$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.getruba.com/v1/subscriptions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.getruba.com/v1/subscriptions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/subscriptions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"amount": 10000,
"currency": "usd",
"recurring_interval": "month",
"recurring_interval_count": 123,
"status": "active",
"current_period_start": "2023-11-07T05:31:56Z",
"current_period_end": "2023-11-07T05:31:56Z",
"trial_start": "2023-11-07T05:31:56Z",
"trial_end": "2023-11-07T05:31:56Z",
"cancel_at_period_end": true,
"canceled_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"product_id": "<string>",
"discount_id": "<string>",
"checkout_id": "<string>",
"customer_cancellation_reason": "customer_service",
"customer_cancellation_comment": "<string>",
"metadata": {},
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "https://example.com/avatar.png",
"external_id": "usr_1337",
"email": "customer@example.com",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"product": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"trial_interval": "day",
"trial_interval_count": 123,
"name": "<string>",
"description": "<string>",
"visibility": "draft",
"recurring_interval": "day",
"recurring_interval_count": 123,
"is_recurring": true,
"is_archived": true,
"organization_id": "<string>",
"metadata": {},
"prices": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"source": "catalog",
"amount_type": "fixed",
"price_currency": "<string>",
"tax_behavior": "location",
"is_archived": true,
"product_id": "<string>",
"type": "recurring",
"recurring_interval": "day",
"price_amount": 123,
"legacy": true
}
],
"benefits": [
{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "custom",
"description": "<string>",
"selectable": true,
"deletable": true,
"is_deleted": true,
"organization_id": "<string>",
"metadata": {},
"visibility": "draft",
"properties": {
"note": "<string>"
},
"visibility_configurable": true
}
],
"medias": [
{
"id": "<string>",
"organization_id": "<string>",
"name": "<string>",
"path": "<string>",
"mime_type": "<string>",
"size": 123,
"storage_version": "<string>",
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>",
"checksum_sha256_hex": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"version": "<string>",
"service": "product_media",
"is_uploaded": true,
"created_at": "2023-11-07T05:31:56Z",
"size_readable": "<string>",
"public_url": "<string>"
}
],
"attached_custom_fields": [
{
"custom_field_id": "<string>",
"custom_field": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"type": "text",
"slug": "<string>",
"name": "<string>",
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"properties": {
"form_label": "<string>",
"form_help_text": "<string>",
"form_placeholder": "<string>",
"textarea": true,
"min_length": 1073741823,
"max_length": 1073741823
}
},
"order": 123,
"required": true
}
]
},
"discount": {
"duration": "once",
"type": "fixed",
"amount": 1000,
"currency": "usd",
"amounts": {
"eur": 900,
"usd": 1000
},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"name": "<string>",
"code": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"max_redemptions": 123,
"redemptions_count": 123,
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"
},
"prices": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"source": "catalog",
"amount_type": "fixed",
"price_currency": "<string>",
"tax_behavior": "location",
"is_archived": true,
"product_id": "<string>",
"type": "recurring",
"recurring_interval": "day",
"price_amount": 123,
"legacy": true
}
],
"meters": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"consumed_units": 25,
"credited_units": 100,
"amount": 0,
"meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22",
"meter": {
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"unit": "scalar",
"filter": {
"conjunction": "and",
"clauses": [
{
"property": "<string>",
"operator": "eq",
"value": "<string>"
}
]
},
"aggregation": {
"func": "count"
},
"organization_id": "<string>",
"custom_label": "<string>",
"custom_multiplier": 123,
"archived_at": "2023-11-07T05:31:56Z"
}
}
],
"pending_update": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"applies_at": "2023-11-07T05:31:56Z",
"product_id": "<string>",
"seats": 123
},
"past_due_at": "2023-11-07T05:31:56Z",
"seats": 123,
"custom_field_data": {}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
You can generate an Organization Access Token from your organization's settings.
Query Parameters
Filter by organization ID. The organization ID.
"1dbfc517-0bbf-4301-9ba8-555ca42b9737"
Filter by product ID. The product ID.
Filter by customer ID. The customer ID.
Filter by customer external ID. The customer external ID.
Filter by discount ID. The product ID.
Filter by active or inactive subscription.
Filter by subscription status.
incomplete, incomplete_expired, trialing, active, past_due, canceled, unpaid Filter by subscriptions that are set to cancel at period end.
Filter by customer cancellation reason.
customer_service, low_quality, missing_features, switched_service, too_complex, too_expensive, unused, other Filter by cancellation date (after or equal to).
Filter by cancellation date (before or equal to).
Page number, defaults to 1.
Size of a page, defaults to 10. Maximum is 100.
Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.
customer, -customer, status, -status, started_at, -started_at, current_period_end, -current_period_end, ended_at, -ended_at, ends_at, -ends_at, amount, -amount, product, -product, discount, -discount Filter by metadata key-value pairs. It uses the deepObject style, e.g. ?metadata[key]=value.
Show child attributes
Show child attributes
curl --request GET \
--url https://api.getruba.com/v1/subscriptions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getruba.com/v1/subscriptions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getruba.com/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.getruba.com/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 => [
"Authorization: Bearer <token>"
],
]);
$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.getruba.com/v1/subscriptions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.getruba.com/v1/subscriptions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/subscriptions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"amount": 10000,
"currency": "usd",
"recurring_interval": "month",
"recurring_interval_count": 123,
"status": "active",
"current_period_start": "2023-11-07T05:31:56Z",
"current_period_end": "2023-11-07T05:31:56Z",
"trial_start": "2023-11-07T05:31:56Z",
"trial_end": "2023-11-07T05:31:56Z",
"cancel_at_period_end": true,
"canceled_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"ended_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"product_id": "<string>",
"discount_id": "<string>",
"checkout_id": "<string>",
"customer_cancellation_reason": "customer_service",
"customer_cancellation_comment": "<string>",
"metadata": {},
"customer": {
"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "https://example.com/avatar.png",
"external_id": "usr_1337",
"email": "customer@example.com",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"product": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"trial_interval": "day",
"trial_interval_count": 123,
"name": "<string>",
"description": "<string>",
"visibility": "draft",
"recurring_interval": "day",
"recurring_interval_count": 123,
"is_recurring": true,
"is_archived": true,
"organization_id": "<string>",
"metadata": {},
"prices": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"source": "catalog",
"amount_type": "fixed",
"price_currency": "<string>",
"tax_behavior": "location",
"is_archived": true,
"product_id": "<string>",
"type": "recurring",
"recurring_interval": "day",
"price_amount": 123,
"legacy": true
}
],
"benefits": [
{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "custom",
"description": "<string>",
"selectable": true,
"deletable": true,
"is_deleted": true,
"organization_id": "<string>",
"metadata": {},
"visibility": "draft",
"properties": {
"note": "<string>"
},
"visibility_configurable": true
}
],
"medias": [
{
"id": "<string>",
"organization_id": "<string>",
"name": "<string>",
"path": "<string>",
"mime_type": "<string>",
"size": 123,
"storage_version": "<string>",
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>",
"checksum_sha256_hex": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"version": "<string>",
"service": "product_media",
"is_uploaded": true,
"created_at": "2023-11-07T05:31:56Z",
"size_readable": "<string>",
"public_url": "<string>"
}
],
"attached_custom_fields": [
{
"custom_field_id": "<string>",
"custom_field": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"type": "text",
"slug": "<string>",
"name": "<string>",
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"properties": {
"form_label": "<string>",
"form_help_text": "<string>",
"form_placeholder": "<string>",
"textarea": true,
"min_length": 1073741823,
"max_length": 1073741823
}
},
"order": 123,
"required": true
}
]
},
"discount": {
"duration": "once",
"type": "fixed",
"amount": 1000,
"currency": "usd",
"amounts": {
"eur": 900,
"usd": 1000
},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"name": "<string>",
"code": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"max_redemptions": 123,
"redemptions_count": 123,
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"
},
"prices": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"source": "catalog",
"amount_type": "fixed",
"price_currency": "<string>",
"tax_behavior": "location",
"is_archived": true,
"product_id": "<string>",
"type": "recurring",
"recurring_interval": "day",
"price_amount": 123,
"legacy": true
}
],
"meters": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"consumed_units": 25,
"credited_units": 100,
"amount": 0,
"meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22",
"meter": {
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"unit": "scalar",
"filter": {
"conjunction": "and",
"clauses": [
{
"property": "<string>",
"operator": "eq",
"value": "<string>"
}
]
},
"aggregation": {
"func": "count"
},
"organization_id": "<string>",
"custom_label": "<string>",
"custom_multiplier": 123,
"archived_at": "2023-11-07T05:31:56Z"
}
}
],
"pending_update": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"applies_at": "2023-11-07T05:31:56Z",
"product_id": "<string>",
"seats": 123
},
"past_due_at": "2023-11-07T05:31:56Z",
"seats": 123,
"custom_field_data": {}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}