Version
GET

List a member's connected accounts

/v1/projects/{project}/members/{member}/identities in the Members API.

curl https://api.subscriby.net/v1/projects/$PROJECT_ID/members/$MEMBER_ID/identities \  -H "Authorization: Bearer $SUBSCRIBY_TOKEN"

The member's connected accounts, preferred first. Never paginated. A member can connect one account per platform the project is on, from the portal's Account & Recovery screen or by talking to the project's bot; the member read embeds the same rows as identities. Connecting has no endpoint: it is a two-sided proof the member completes on the connector.

  • id is the link, which is what the disconnect endpoint takes; external_id is the platform's own id for the account.
  • source says how the link was proven: handshake (connected from the portal and confirmed by the bot, or a portal sign-in), adopted (taken over from another of the creator's projects), portal, bot (the bot met the account first) or backfill (migrated from before connectors).
  • preferred marks the account the project reaches first; a member's first account is, and the member can move it on the portal.
  • notify marks a further account the member switched the project's notices on for, from the portal. The preferred account always hears them, so it reads false there too; a grant notice stays on the connector of the grant and a support reply on the connector the member wrote from, whatever the switches say.
GET
/v1/projects/{project}/members/{member}/identities

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

Path Parameters

project*string

The project, resolved by the binder.

Formatuuid
member*string

The member, resolved within the project.

Formatuuid

Responses

200OK

Array of MemberIdentityResource

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.

404Not found

An id in the path names nothing the token can see. TENANT_MISMATCH: the project sits outside the token's scope:project: allow-list, or the token carries no team scope. Both answer 404 rather than 403 so that existence outside the token's scope cannot be inferred.

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