List All Subscriptions
curl --request GET \
--url https://api.devkit4ai.com/api/v1/payments/subscriptions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/subscriptions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devkit4ai.com/api/v1/payments/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{
"subscriptions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"is_test_mode": true,
"subscription_id": "<string>",
"status": "<string>",
"quantity": 123,
"created_at": "2023-11-07T05:31:56Z",
"provider": "stripe",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "<string>",
"plan_name": "<string>",
"current_period_start": "2023-11-07T05:31:56Z",
"current_period_end": "2023-11-07T05:31:56Z",
"cancel_at": "2023-11-07T05:31:56Z",
"cancelled_at": "2023-11-07T05:31:56Z"
}
],
"total": 123,
"page": 123,
"page_size": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Payments
List All Subscriptions
List all subscriptions across developer’s projects with optional filtering
GET
/
api
/
v1
/
payments
/
subscriptions
List All Subscriptions
curl --request GET \
--url https://api.devkit4ai.com/api/v1/payments/subscriptions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/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.devkit4ai.com/api/v1/payments/subscriptions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devkit4ai.com/api/v1/payments/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{
"subscriptions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_name": "<string>",
"is_test_mode": true,
"subscription_id": "<string>",
"status": "<string>",
"quantity": 123,
"created_at": "2023-11-07T05:31:56Z",
"provider": "stripe",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "<string>",
"plan_name": "<string>",
"current_period_start": "2023-11-07T05:31:56Z",
"current_period_end": "2023-11-07T05:31:56Z",
"cancel_at": "2023-11-07T05:31:56Z",
"cancelled_at": "2023-11-07T05:31:56Z"
}
],
"total": 123,
"page": 123,
"page_size": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Retrieve all Stripe subscriptions across all projects owned by the authenticated developer. Supports filtering by project, test mode, and subscription status.
Authentication
This endpoint requires developer authentication via OAuth2 Bearer Token.
Query Parameters
string (UUID)
Filter subscriptions by specific project ID
boolean
Filter by test mode (
true) or live mode (false). If omitted, returns both.string
Filter by subscription status:
active, canceled, incomplete, incomplete_expired, past_due, trialing, unpaidinteger
default:"1"
Page number for pagination (minimum: 1)
integer
default:"50"
Number of results per page (1-100)
Response
array
Array of subscription objects with project information
Show Subscription Object
Show Subscription Object
string (UUID)
Internal subscription record ID
string (UUID)
Project this subscription belongs to
string
Name of the project
string
Payment provider (always “stripe”)
string (UUID)
End user who owns this subscription
boolean
Whether this is a test mode subscription
string
Stripe subscription ID (e.g.,
sub_xxx)string
Stripe customer ID (e.g.,
cus_xxx)string
Subscription status
string
Name of the subscribed plan
integer
Subscription quantity
string (datetime)
Start of current billing period
string (datetime)
End of current billing period
string (datetime)
Scheduled cancellation date
string (datetime)
When the subscription was cancelled
string (datetime)
When the subscription record was created
integer
Total number of subscriptions matching the filter
integer
Current page number
integer
Number of results per page
Example Request
curl "https://api.devkit4ai.com/api/v1/payments/subscriptions?status=active&page=1&page_size=10" \
-H "Authorization: Bearer {developer_jwt}"
Example Response
{
"subscriptions": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"project_id": "660e8400-e29b-41d4-a716-446655440001",
"project_name": "My SaaS App",
"provider": "stripe",
"user_id": "770e8400-e29b-41d4-a716-446655440002",
"is_test_mode": true,
"subscription_id": "sub_1234567890",
"customer_id": "cus_1234567890",
"status": "active",
"plan_name": "Pro Plan",
"quantity": 1,
"current_period_start": "2026-01-01T00:00:00Z",
"current_period_end": "2026-02-01T00:00:00Z",
"cancel_at": null,
"cancelled_at": null,
"created_at": "2026-01-01T00:00:00Z"
}
],
"total": 1,
"page": 1,
"page_size": 10
}
Use Cases
View All Active Subscriptions
curl "https://api.devkit4ai.com/api/v1/payments/subscriptions?status=active" \
-H "Authorization: Bearer {developer_jwt}"
Filter by Specific Project
curl "https://api.devkit4ai.com/api/v1/payments/subscriptions?project_id=660e8400-e29b-41d4-a716-446655440001" \
-H "Authorization: Bearer {developer_jwt}"
View Only Live Mode Subscriptions
curl "https://api.devkit4ai.com/api/v1/payments/subscriptions?test_mode=false" \
-H "Authorization: Bearer {developer_jwt}"
Related Pages
List Transactions
View payment transactions
Payment Statistics
Aggregated payment metrics
Project Subscriptions
View subscriptions for a specific project
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Filter by project
Filter by test mode
Filter by status
Required range:
x >= 1Required range:
1 <= x <= 100
