Subscriptions show
GET
https://app.sulus.ai/api/subscriptions/{id}
Get a compact subscription summary by id
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Path parameters
id
integer
Required
Subscription row id.
Validation:
must match user_subscriptions.id in content-protection scopeStored in
user_subscriptions.idErrors
| Status | Meaning | Body |
|---|---|---|
401 |
Missing or invalid bearer token | |
404 |
Unknown or out-of-scope id | {"success":false,"message":"Subscription not found"} |
Notes
- Used by the post-checkout success page. amount prefers custom_amount then package.price.
curl --request GET \
--url https://app.sulus.ai/api/subscriptions/{id} \
--header 'Authorization: Bearer <YOUR_API_KEY>'
import requests
url = "https://app.sulus.ai/api/subscriptions/{id}"
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/{id}"
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,
"package_name": "Growth",
"amount": "99.00",
"status": "active",
"valid_until": "2026-08-01T00:00:00.000000Z",
"created_at": "2026-07-01T00:05:00.000000Z"
}
}
Response — GET
/subscriptions/{id}
200
{
"success": true,
"data": {
"id": 19,
"package_name": "Growth",
"amount": "99.00",
"status": "active",
"valid_until": "2026-08-01T00:00:00.000000Z",
"created_at": "2026-07-01T00:05:00.000000Z"
}
}