Logo
Search
Docs

Subscriptions usage

GET https://app.sulus.ai/api/subscriptions/usage

Get assistant and minute usage for the current billing period

Authentication

Send a bearer token created on your dashboard's Developer page:

Authorization: Bearer <YOUR_API_KEY>

Errors

StatusMeaningBody
401 Missing or invalid bearer token
404 No active subscription (or reseller missing for reseller_admin path) {"success":false,"billing":{"source":"self","workspace_id":null,"workspace_name":null,"can_manage_billing":true},"message":"No active subscription found"}

Notes

  • Regular users get OverageBillingService::getUsageStatisticsForActingUser plus billing meta.
  • reseller_admin callers receive ResellerUsageService statistics without the billing sibling when successful.
  • assistants.limit may be the formatted string from the package append.
curl --request GET \
  --url https://app.sulus.ai/api/subscriptions/usage \
  --header 'Authorization: Bearer <YOUR_API_KEY>'
import requests

url = "https://app.sulus.ai/api/subscriptions/usage"
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/usage"
	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": {
        "has_active_subscription": true,
        "assistants": {
            "used": 2,
            "limit": "5",
            "remaining": 3,
            "is_unlimited": false
        },
        "minutes": {
            "used": 412.5,
            "limit": 1000,
            "remaining": 587.5,
            "overage_minutes": 0,
            "overage_cost": 0,
            "extra_per_minute_charge": "0.1200",
            "is_unlimited": false,
            "billing_period_start": "2026-07-01T00:00:00.000000Z",
            "billing_period_end": "2026-08-01T00:00:00.000000Z",
            "is_calendar_month_fallback": false,
            "interval_type": "monthly",
            "subscription_day": null
        },
        "subscription": {
            "status": "active",
            "current_period_end": "2026-08-01T00:00:00.000000Z",
            "days_remaining": 12
        },
        "package": {
            "name": "Growth",
            "price": "$99.00",
            "description": "For growing teams",
            "extra_per_minute_charge": "$0.1200"
        }
    },
    "billing": {
        "source": "self",
        "workspace_id": null,
        "workspace_name": null,
        "can_manage_billing": true
    }
}