Social accounts API

Social accounts endpoints in the Brix REST API: 5 operations (GET, POST, PATCH, DELETE). Each lists its path, auth, required permission and a curl example.

View as Markdown · For AI agents: the full docs index is at /llms.txt

Base URL https://api.brixsignage.com. Send Authorization: Bearer $BRIX_API_KEY unless an operation says Auth: none or Auth: no API key. The Permission line names what the key must hold. See Authentication and scopes, Errors and rate limits and Pagination.

Every 4xx and 5xx response below returns this body:

FieldTypeDescription
errorstringMachine-readable code: unauthorized, forbidden, not_found, validation_error, conflict, rate_limited, internal_error, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.

GET /v1/social-accounts

Auth: Bearer token. Permission: integration.view.

List the social accounts connected to your workspace. Use the provider query parameter, for example provider=youtube, to filter by provider. Each result includes the display name and connection status for the account, but never the stored credentials. Notes. - Only accounts at locations the caller can see. Credentials are never returned.

ParameterInTypeRequiredDescription
providerquerystringnoOnly accounts of this provider, e.g. instagram.
curl "https://api.brixsignage.com/v1/social-accounts" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataarray of object
data[].idstring
data[].providerstringinstagram, facebook, youtube, google-calendar, google-sheets, …
data[].externalIdstringThe account's id at the provider.
data[].displayNamestring
data[].nodeIdstring | null
data[].expiresAtstring | nullWhen the provider's access expires, if known.
data[].needsReconnectAtstring | nullSet when the provider refused the stored access: sign in again.
data[].createdAtstringISO-8601 timestamp (UTC).
data[].updatedAtstringISO-8601 timestamp (UTC).

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 5XX: Server error. The body carries a requestId to quote to support.

POST /v1/social-accounts

Auth: Bearer token. Permission: integration.create.

Create a social account connection by submitting its credentials directly. Credentials are encrypted before they are stored. For most providers, use the provider's OAuth start endpoint instead, since it handles sign-in and consent on your behalf.

Request body: application/json

FieldTypeRequiredDescription
providerstringyes
externalIdstringyes
displayNamestringyes
credsobjectyesThe provider credential (for example access and refresh tokens). Encrypted; never returned.
nodeIdstring | nullno
expiresAtstring | nullno
curl -X POST "https://api.brixsignage.com/v1/social-accounts" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 200: Success: An account of the same provider and external id that needed a new sign-in was reconnected instead: its id is returned.

FieldTypeDescription
dataobject
data.idstring

Response 201: Success.

FieldTypeDescription
dataobject
data.idstring

Response 401: Missing, expired or revoked bearer token.

Response 403: You do not hold integration.create at the location.

Response 422: provider, externalId, displayName or creds is missing, or a location outside this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

PATCH /v1/social-accounts/{id}

Auth: Bearer token. Permission: integration.edit.

Update a connected social account by its ID. You can change its display name or move it to a different location in your organization. Notes. - Answers { ok: true }, not the account.

ParameterInTypeRequiredDescription
idpathstringyesSocial account id.

Request body: application/json

FieldTypeRequiredDescription
displayNamestringno
nodeIdstring | nullnoMove the account; you need integration.edit at the destination too.
credsobjectnoReplaces the stored credential and clears needsReconnectAt.
curl -X PATCH "https://api.brixsignage.com/v1/social-accounts/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 200: Success.

FieldTypeDescription
dataobject
data.oktrue

Response 401: Missing, expired or revoked bearer token.

Response 403: You cannot move the account to that location.

Response 404: No such account in this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

DELETE /v1/social-accounts/{id}

Auth: Bearer token. Permission: integration.delete.

Delete a connected social account by its ID. This permanently removes the stored credentials and stops any apps that use the account from fetching new data. Notes. - Answers { ok: true }.

ParameterInTypeRequiredDescription
idpathstringyesSocial account id.
curl -X DELETE "https://api.brixsignage.com/v1/social-accounts/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataobject
data.oktrue

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 404: No such account in this workspace.

Response 5XX: Server error. The body carries a requestId to quote to support.

GET /v1/social-accounts/preview-token

Auth: Bearer token. Permission: integration.view.

Get a short-lived token used to preview a live social app before it is published to a screen. Pass this token as the dt query parameter when calling social feed endpoints from a preview. The token is issued only for your own workspace and cannot be requested for another one.

curl "https://api.brixsignage.com/v1/social-accounts/preview-token" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataobject
data.tokenstringA new short-lived token that lets an app preview read this workspace's social feeds (the dt parameter). Minted on each call.
data.expiresInintegerSeconds until it expires (1800).

Response 401: Missing, expired or revoked bearer token.

Response 403: The token lacks the permission this operation needs (see x-brix-permission).

Response 5XX: Server error. The body carries a requestId to quote to support.