Skip to main content
GET
/
social-accounts
/
{accountId}
Get a connected channel
curl --request GET \
  --url http://localhost:4100/api/v1/social-accounts/{accountId} \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "workspaceId": "<string>",
  "externalId": "<string>",
  "handle": "<string>",
  "displayName": "<string>",
  "avatarUrl": "<string>",
  "scopes": [
    "<string>"
  ],
  "connectedAt": "2023-11-07T05:31:56Z",
  "lastRefreshedAt": "2023-11-07T05:31:56Z",
  "tokenExpiresAt": "2023-11-07T05:31:56Z",
  "lastRefreshAttemptAt": "2023-11-07T05:31:56Z",
  "lastRefreshError": "<string>",
  "lastRefreshErrorStatus": 123,
  "meta": {},
  "defaultBoardId": "<string>"
}

Authorizations

Authorization
string
header
required

Your Postbreeze API key

Path Parameters

accountId
string
required

Prefixed cuid of the connected channel to fetch.

Example:

"soc_01HZW2K9R5T8V3N7M4P0J1Q6BD"

Response

The connected channel.

id
string

Prefixed cuid identifier of the connection.

workspaceId
string

Workspace this account is connected to. Returned on every row so fan-out listings can be grouped client-side without a second call.

platform
enum<string>

Which social platform this account lives on.

Available options:
INSTAGRAM,
FACEBOOK_PAGE,
X,
LINKEDIN_PERSON,
LINKEDIN_COMPANY,
TIKTOK_BUSINESS,
TIKTOK_PERSONAL,
YOUTUBE,
PINTEREST,
THREADS,
BLUESKY
externalId
string

Stable per-platform identifier (e.g. an Instagram user id). Combined with (workspaceId, platform) it's unique across the system.

handle
string

The account's user-facing handle (e.g. @brand).

displayName
string | null

Human-readable name. Some platforms (LinkedIn personal) only surface a real display name post-OAuth; null when unavailable.

avatarUrl
string | null

Profile avatar URL when the platform provides one.

status
enum<string>

Lifecycle status. ACTIVE is publishable; TOKEN_EXPIRED needs a reconnect before the next publish; DISCONNECTED rows are excluded from listings.

Available options:
ACTIVE,
TOKEN_EXPIRED,
REVOKED,
DISCONNECTED
scopes
string[]

OAuth scopes the connection was granted. Used by the publisher to fail fast when a needed scope is missing.

connectedAt
string<date-time>

When the connection was first established.

lastRefreshedAt
string<date-time> | null

Last successful token refresh. Null on accounts whose platform issues non-expiring tokens.

tokenExpiresAt
string<date-time> | null

When the current access token expires. Null when not applicable.

lastRefreshAttemptAt
string<date-time> | null

Last time the worker attempted to refresh tokens for this account, even if it failed.

lastRefreshError
string | null

Latest token-refresh failure reason. Surfaced by the UI to explain why a reconnect is required.

lastRefreshErrorStatus
integer | null

HTTP status code from the last failed refresh, when known.

meta
object

Free-form per-provider metadata (e.g. cached profile fields, Pinterest default board id, X premium flag).

defaultBoardId
string | null

Pinterest only — pre-fills the compose board dropdown when a default was picked at connect time.