Get plan, limits, usage and remaining capacity

posthttps://api.expiryedge.com/v1/getUsageSummary
any role60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/getUsageSummary' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY"
Response
{
  "success": true,
  "data": {
    "subscription": {
      "id": "prod_SK2RjJ132uucmf",
      "plan_name": "Pro Essentials",
      "status": "active",
      "features": [
        "basic_tracking",
        "email_notifications",
        "sms_notifications",
        "recurring_expiries"
      ]
    },
    "limits": {
      "expiries": 1000,
      "contacts": 250,
      "storage": 5368709120,
      "users": 5,
      "email_credits": null,
      "message_credits": 300,
      "workflows": 20,
      "workflow_runs": 200,
      "ai_scans": 25,
      "teams": 5,
      "categories": 50,
      "collection_templates": 25,
      "collection_requests": 150,
      "email_templates": 15,
      "custom_field_templates": 10,
      "carry_over": true
    },
    "usage": {
      "expiries": 312,
      "contacts": 88,
      "storage": 157286400,
      "users": 4,
      "workflows": 6,
      "workflow_runs": 41,
      "ai_scans": 7,
      "teams": 2,
      "categories": 12,
      "collection_templates": 3,
      "collection_requests": 19,
      "email_templates": 2,
      "custom_field_templates": 1
    },
    "remaining": {
      "expiries": 688,
      "contacts": 162,
      "storage": 5211422720,
      "users": 1,
      "ai_scans": 18
    },
    "percentage": {
      "expiries": 31,
      "contacts": 35,
      "storage": 3,
      "users": 80,
      "ai_scans": 28
    },
    "ai_scans_reset_at": "2026-10-01T00:00:00.000Z",
    "ai_scans_bucket": "2026-09",
    "base_user_limit": 5,
    "additional_user_licenses": {
      "count": 0,
      "period": null,
      "status": "none",
      "stripe_subscription_id": null,
      "cancel_at_period_end": false,
      "last_invoice_at": null,
      "last_payment_failed_at": null
    }
  }
}

The main usage endpoint used by the web app. ai_scans and collection_requests are counted per calendar month (UTC). Unlimited limits serialize as null; unlimited remaining values are the string Unlimited. Token failures return 500 with details.

Returns

200
Usage summary.
  • successboolean
  • dataobject

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
The request failed (including an invalid or missing token).