Skip to content

List connected social accounts

GET
/v1/social/accounts

Every social account connected to the workspace, with its network, handle, scheduling timezone and daily post limit. The id returned here is what POST /v1/social/posts accepts in AccountIds. The result set is naturally complete, so the envelope always carries hasMore: false. Requires scope social:read.

platform
string

Filter to one network

includeInactive
boolean

Include disconnected or paused accounts.

Connected accounts.

object
items
Array<object>

A social network account connected to the workspace.

object
id

Account id. Pass this in AccountIds when scheduling a post.

integer
externalAccountId

The network-side account id used internally.

string
platform
string
Example
instagram
provider

Which integration backs this account.

string
Allowed values: zernio meta
displayName
string
nullable
username

Handle without the leading @.

string
nullable
profilePictureUrl
string
nullable
isActive
boolean
timeZone

IANA zone used when scheduling for this account.

string
Example
Europe/Istanbul
dailyPostLimit
integer
minIntervalMinutes
integer
connectedAt
string format: date-time
nextCursor

Always null; the account list is never paged.

integer
nullable
hasMore
boolean

Missing or invalid bearer token.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "unauthorized",
"message": "Invalid bearer principal"
}

The workspace’s plan does not include this module. The social inbox needs channel_social_inbox and the post scheduler needs marketing_social_scheduler; details.FeatureKey names the one that is missing. Upgrading unlocks it, there is nothing to retry.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "payment_required",
"message": "your plan does not include this feature; upgrade to unlock it",
"details": {
"FeatureKey": "marketing_social_scheduler",
"UpgradeRequired": true
}
}

The API key does not have the required scope for this operation.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "forbidden",
"message": "scope contacts:write is required"
}

Per-key rate limit exceeded. Retry after the time indicated by X-RateLimit-Reset.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "rate_limited",
"message": "rate limit exceeded"
}
X-RateLimit-Limit
integer

Maximum requests allowed per minute for this key.

X-RateLimit-Remaining
integer

Requests remaining in the current window.

X-RateLimit-Reset
integer

Unix timestamp (seconds) when the rate limit window resets.