Skip to main content
GET
/
api
/
v1
/
payments
/
subscriptions
List All Subscriptions
curl --request GET \
  --url https://api.devkit4ai.com/api/v1/payments/subscriptions \
  --header 'Authorization: Bearer <token>'
{
  "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
}
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

project_id
string (UUID)
Filter subscriptions by specific project ID
test_mode
boolean
Filter by test mode (true) or live mode (false). If omitted, returns both.
status
string
Filter by subscription status: active, canceled, incomplete, incomplete_expired, past_due, trialing, unpaid
page
integer
default:"1"
Page number for pagination (minimum: 1)
page_size
integer
default:"50"
Number of results per page (1-100)

Response

subscriptions
array
Array of subscription objects with project information
total
integer
Total number of subscriptions matching the filter
page
integer
Current page number
page_size
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}"

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

project_id
string<uuid> | null

Filter by project

test_mode
boolean | null

Filter by test mode

status
string | null

Filter by status

page
integer
default:1
Required range: x >= 1
page_size
integer
default:50
Required range: 1 <= x <= 100

Response

Successful Response

Paginated list of subscriptions across projects.

subscriptions
AggregatedSubscriptionResponse · object[]
required
total
integer
required
page
integer
required
page_size
integer
required