WWaSparks Social Developers

For partners

Billing and usage

Read the usage counts you are billed on, per org, per event type or per day, and watch plan limits.

The API reports counts, never content. They are the numbers your billing with WaSparks is based on, and you can use the same numbers to bill your own clients.

Usage counts

GET /v1/partner/usage?from=2026-11-01&to=2026-11-14&group_by=org
GET /v1/partner/orgs/{orgId}/usage?from=2026-11-01&to=2026-11-14

An org with its own key, or a partner key with X-Tenant-Id, reads its own numbers with GET /v1/usage.

Parameter Meaning
from, to First and last day counted, in UTC, both included. By default the last 30 days. At most 400 days.
group_by event_type (the default), day, or org on the partner-wide call.
json
{
  "from": "2026-11-01",
  "to": "2026-11-14",
  "group_by": "day",
  "data": [
    {
      "org_id": null,
      "day": "2026-11-01",
      "totals": {
        "POST_PUBLISHED": 12, "TARGET_PUBLISHED": 20, "COMMENT_RECEIVED": 40, "COMMENT_SENT": 3,
        "MESSAGE_RECEIVED": 8, "MESSAGE_SENT": 5, "ACCOUNT_CONNECTED": 0, "API_CALL": 1904
      }
    }
  ],
  "limits": [{ "limit": "social_accounts", "used": 3, "max": 10 }]
}

The event types:

Type Counts
POST_PUBLISHED Posts published.
TARGET_PUBLISHED Targets published: one for each account a post reached.
COMMENT_RECEIVED, COMMENT_SENT Comments that arrived, and replies and comments you sent.
MESSAGE_RECEIVED, MESSAGE_SENT Direct messages in each direction.
ACCOUNT_CONNECTED Accounts connected.
API_CALL One per authenticated Content API request. Partner API calls are not counted.

An invalid range returns 400 validation_failed: from after to, a range over 400 days, or group_by=org on an org's own usage.

Plan limits

Plan limits are social_accounts, posts_per_month (calendar month, UTC), members and workspaces. Check an org's use with GET /v1/org, which returns plan and usage. At the limit, a call that would add more returns 402 quota_exceeded with limit, used and max. Raise the limit by moving the org to another plan with PATCH /v1/partner/orgs/{orgId}.

You can subscribe to quota.warning, quota.exceeded, org.quota.warning and org.quota.exceeded already, but they are not sent yet. For now, read usage or handle 402.

A daily event

Subscribe your partner webhook to usage.daily_ready and you get one event a day, after the previous UTC day has been counted, with your totals across all orgs:

json
{
  "id": "evt_…",
  "type": "usage.daily_ready",
  "org_id": null,
  "workspace_id": null,
  "data": { "day": "2026-11-01", "totals": { "POST_PUBLISHED": 12, "API_CALL": 1904 } }
}

That is a good trigger to pull per-org numbers with group_by=org.

Next: Event types