Skip to main content
GET
/
api
/
v1
/
payments
/
stripe
/
projects
/
{project_id}
/
subscriptions
List Project Subscriptions
curl --request GET \
  --url https://api.devkit4ai.com/api/v1/payments/stripe/projects/{project_id}/subscriptions \
  --header 'Authorization: Bearer <token>'
{
  "subscriptions": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "is_test_mode": true,
      "subscription_id": "<string>",
      "status": "<string>",
      "quantity": 123,
      "created_at": "2023-11-07T05:31:56Z",
      "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
}
List all Stripe subscriptions for a specific project. This endpoint is for developers to view all subscriptions created by their end users.

Authentication

This endpoint requires developer authentication via OAuth2 Bearer Token. You must own the project.

Path Parameters

project_id
string (UUID)
required
The unique identifier of the project

Query Parameters

test_mode
boolean
default:"true"
Filter by test mode. Set to false for live subscriptions only.
page
integer
default:"1"
Page number for pagination (minimum: 1)
page_size
integer
default:"50"
Number of items per page (1-100)

Response

subscriptions
array
Array of subscription objects
total
integer
Total number of subscriptions
page
integer
Current page number
page_size
integer
Items per page

Example Request

curl "https://api.devkit4ai.com/api/v1/payments/stripe/projects/550e8400-e29b-41d4-a716-446655440000/subscriptions?test_mode=true&page=1&page_size=20" \
  -H "Authorization: Bearer {developer_jwt}"

Example Response

{
  "subscriptions": [
    {
      "id": "880e8400-e29b-41d4-a716-446655440000",
      "project_id": "550e8400-e29b-41d4-a716-446655440000",
      "user_id": "990e8400-e29b-41d4-a716-446655440000",
      "is_test_mode": true,
      "subscription_id": "sub_1ABC123def456",
      "customer_id": "cus_XYZ789abc",
      "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": 20
}

Subscription Statuses

StatusDescription
activeSubscription is active and paid
trialingIn free trial period
past_duePayment failed, awaiting retry
canceledSubscription has been canceled
incompleteInitial payment failed
incomplete_expiredInitial payment window expired
unpaidMultiple payment failures

Filtering by Mode

Test vs live subscriptions are stored separately:
Always use test_mode=true during development. Switch to test_mode=false in production to see real subscriptions.

Authorizations

Authorization
string
header
required

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

Path Parameters

project_id
string<uuid>
required

Query Parameters

test_mode
boolean
default:true

Filter by test mode

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

Response

Successful Response

Paginated list of Stripe subscriptions.

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