Media sync API

Media sync endpoints in the Brix REST API: 3 operations (GET, DELETE, POST). 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/media-sync

Auth: Bearer token. Permission: integration.view.

Return the workspace's synced folders, including the remote path, the destination folder in Brix, the connected account, sync status, the last error, the last check time, and the number of files synced. Only folders connected at locations where the caller holds the integration view permission are returned.

curl "https://api.brixsignage.com/v1/media-sync" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataarray of object
data[].idstring
data[].providerstringonedrive or sharepoint.
data[].remotePathstring
data[].folderIdstringThe library folder the files land in.
data[].folderNamestring | null
data[].accountLabelstring | null
data[].accountConnectedbooleanFalse when the connected account was removed: syncing stops until it is connected again.
data[].status"ok" | "error" | "paused"
data[].lastErrorstring | null
data[].lastSyncAtstring | null
data[].itemsSyncedinteger
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.

DELETE /v1/media-sync/{id}

Auth: Bearer token. Permission: integration.delete.

Stop following a remote folder. The sync source is removed, but files already imported are not affected. This action is recorded in the activity log. Notes. - The files already synced stay in the library.

ParameterInTypeRequiredDescription
idpathstringyesSynced folder id.
curl -X DELETE "https://api.brixsignage.com/v1/media-sync/{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 5XX: Server error. The body carries a requestId to quote to support.

POST /v1/media-sync/{id}/sync

Auth: Bearer token. Permission: integration.create.

Trigger an immediate sync of one connected folder, bounded to a fixed number of files for the run, and return a summary of what happened. This action is recorded in the activity log. Notes. - A failed run still answers 200: read error.

ParameterInTypeRequiredDescription
idpathstringyesSynced folder id.
curl -X POST "https://api.brixsignage.com/v1/media-sync/{id}/sync" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200: Success.

FieldTypeDescription
dataobject
data.importedinteger
data.updatedinteger
data.removedinteger
data.skippedinteger
data.failedinteger
data.caughtUpbooleanFalse when more changes remain for the next run.
data.errorstring | nullWhy the run stopped, in words; null when it did not.

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 synced folder with this id.

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