---
title: "List X posts"
method: GET
path: "/v1/social/x/{accountId}/tweets"
tags: ["social"]
---

# List X posts

`GET /v1/social/x/{accountId}/tweets`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/social/x/{accountId}/tweets`
- Auth: none required

Get recent posts from a connected X account, identified by accountId, using your own connected access token. Access requires a dt token, issued by the preview-token endpoint or provided automatically to a screen. If X is rate-limited or unavailable, the last known result is served instead.

**Notes.**
- Feed envelope: `stale` (and `staleSince`) beside `data`. Answers are cached at the edge for a few minutes.
- One X read per account every 5 minutes, shared by every screen.

## Path parameters

- `accountId` string, required

## Query parameters

- `dt` string, required

## Response `200`

Success.

- object
  - `data` object, required
    - `tweets` object[], required: Up to 10.
      - `id` string, required
      - `text` string, required
      - `createdAt` string, nullable, required: ISO-8601 timestamp (UTC).
      - `likes` integer, required
      - `retweets` integer, required
      - `image` string, nullable, required
  - `stale` boolean, required: True when the provider failed and this is the last good answer.
  - `staleSince` string: When the stale copy was fetched (only when `stale`).

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `404`: No such account, or the `dt` token is missing, expired or for another workspace.
- `502`: The provider failed and there is no recent copy to serve.
- `503`: `not_configured`: the account has no bearer token.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
