Subscriptions current
GET
https://app.sulus.ai/api/subscriptions/current
Get the billing owner's current (or latest) subscription
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Errors
| Status | Meaning | Body |
|---|---|---|
401 |
Missing or invalid bearer token | |
404 |
No subscription rows for the billing owner | {"success":false,"billing":{"source":"self","workspace_id":null,"workspace_name":null,"can_manage_billing":true},"message":"No subscription found"} |
Notes
- When an active subscription is missing but any row exists, returns 200 with that latest row, billing meta, and message "Latest subscription found (may not be active)".
- 404 message becomes "The workspace owner does not have an active subscription" when billing.source is workspace_owner.
- Full UserSubscription model + package relation; includes stripe_subscription_id / stripe_customer_id / stripe_checkout_session_id when set.
curl --request GET \
--url https://app.sulus.ai/api/subscriptions/current \
--header 'Authorization: Bearer <YOUR_API_KEY>'
import requests
url = "https://app.sulus.ai/api/subscriptions/current"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
response = requests.get(url, headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://app.sulus.ai/api/subscriptions/current"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response
200
{
"success": true,
"data": {
"id": 19,
"user_id": 12,
"reseller_id": "9f3c2a10-5b6d-4e8f-9a1b-2c3d4e5f6789",
"subscription_package_id": 3,
"status": "active",
"trial_ends_at": null,
"current_period_start": "2026-07-01T00:00:00.000000Z",
"current_period_end": "2026-08-01T00:00:00.000000Z",
"cancelled_at": null,
"ends_at": null,
"stripe_subscription_id": "sub_1PxExampleSubscriptionId",
"stripe_customer_id": "cus_1PxExampleCustomerId",
"stripe_checkout_session_id": null,
"custom_amount": null,
"billing_interval": "monthly",
"metadata": {
"billing_interval": "monthly"
},
"created_at": "2026-07-01T00:05:00.000000Z",
"updated_at": "2026-07-01T00:05:00.000000Z",
"package": {
"id": 3,
"name": "Growth",
"price": "99.00",
"yearly_price": "990.00",
"formatted_price": "$99.00"
}
},
"billing": {
"source": "self",
"workspace_id": null,
"workspace_name": null,
"can_manage_billing": true
}
}
Response — GET
/subscriptions/current
200
{
"success": true,
"data": {
"id": 19,
"user_id": 12,
"reseller_id": "9f3c2a10-5b6d-4e8f-9a1b-2c3d4e5f6789",
"subscription_package_id": 3,
"status": "active",
"trial_ends_at": null,
"current_period_start": "2026-07-01T00:00:00.000000Z",
"current_period_end": "2026-08-01T00:00:00.000000Z",
"cancelled_at": null,
"ends_at": null,
"stripe_subscription_id": "sub_1PxExampleSubscriptionId",
"stripe_customer_id": "cus_1PxExampleCustomerId",
"stripe_checkout_session_id": null,
"custom_amount": null,
"billing_interval": "monthly",
"metadata": {
"billing_interval": "monthly"
},
"created_at": "2026-07-01T00:05:00.000000Z",
"updated_at": "2026-07-01T00:05:00.000000Z",
"package": {
"id": 3,
"name": "Growth",
"price": "99.00",
"yearly_price": "990.00",
"formatted_price": "$99.00"
}
},
"billing": {
"source": "self",
"workspace_id": null,
"workspace_name": null,
"can_manage_billing": true
}
}