Version
GET

By connector

/v1/analytics/connectors in the Analytics API.

Members, access and revenue per connector: one row for every connector the scope's projects run or ever granted access on. The figures behind the dashboards' By Connector panel.

curl "https://api.subscriby.net/v1/analytics/connectors?project_id=$PROJECT_ID&period=30d" \  -H "Authorization: Bearer $SUBSCRIBY_TOKEN"
  • installations counts the live, not uninstalled, installations of the connector in the scope; members the members holding at least one account linked on it; members_linked_in_window those who linked one inside the window.
  • live_grants and pending_grants read the access ledger now (pending covers pending, pending_identity and held); granted_in_window and revoked_in_window count the ledger's moves inside the window.
  • gross_usd is every settled payment in the window whose purchase granted access on the connector, converted to USD; share_percent is its part of total_gross_usd. A purchase that grants access on two connectors counts toward both, so shares can exceed 100 in total; attribution says so in the creator's language.
  • The filter allow-lists (plan_ids, statuses, payment_method_ids) do not apply here: installations and linked accounts are not subscriptions.
GET
/v1/analytics/connectors

Requires ability

The token must hold this ability, or the call is refused with 403.

Runs the same action from an agent, behind the same ability.

Authorization

bearerToken
AuthorizationBearer <token>

A personal access token minted on the dashboard under Settings, then Tokens, sent as Authorization: Bearer sbt_live_…. The token carries the abilities each endpoint lists under Requires ability and is frozen to one team.

In: header

Query Parameters

project_id?string

Scope the figures to one project the token may see; omit for every project visible to it. A project outside the token's scope:project: allow-list is 404 TENANT_MISMATCH, an unknown one 404 RESOURCE_NOT_FOUND.

Formatuuid
period?string

The preset window: 7d, 14d, 30d (the default), 60d, 90d, mtd, qtd, ytd, 1y or all. Ignored when both from and to are given; an unknown value falls back to the default rather than failing.

Default"30d"
from?string

The first day of an explicit window, YYYY-MM-DD. Both from and to are needed to override period.

Formatdate
to?string

The last day of an explicit window, YYYY-MM-DD. Both from and to are needed to override period.

Formatdate

Responses

200OK

One row per connector: installations, members, grants, revenue and share.

401Unauthorized

The request carries no bearer token, or one that is revoked, malformed, or minted for another environment (an sbt_test_ token on production).

403Forbidden

The token is valid but does not carry the ability this endpoint requires; error.context.required_ability names the one to grant. An endpoint that also checks who owns a row or which tier the account is on answers FORBIDDEN, TEAM_TIER_REQUIRED or CONNECTOR_TIER_REQUIRED with the same status, and says so in its own description.

429Too many requests

The token has spent its 300 requests a minute or 10,000 an hour; Retry-After says when the next one is accepted.

How is this guide?

Last updated on