---
title: "List connected social accounts"
method: GET
path: "/platform-connections"
tags: ["Connections"]
---

# List connected social accounts

`GET /platform-connections`

Returns all social media accounts connected to your Publora account.

## Headers

- `x-publora-user-id` string

## Response `200`

List of connected accounts

- object
  - `success` boolean
  - `connections` PlatformConnection[]
    - `platformId` string — Unique ID in format platform-id (e.g., twitter-123456789)
    - `username` string
    - `displayName` string
    - `profileImageUrl` string, uri
    - `profileUrl` string, uri, nullable — URL to the user's profile on the platform. Can be null if not available for the platform.
    - `accessTokenExpiresAt` string, date-time, nullable — Effective credential expiry, derived the same way as tokenStatus. Null when no authoritative date exists: always for YouTube, and for platforms that do not expire on a schedule (Facebook, X/Twitter, Mastodon, Bluesky). Do not compare this against the current time to decide about reconnecting - read tokenStatus instead.
    - `tokenStatus` 'valid' | 'expiring_soon' | 'expired' | 'unknown' — Authoritative credential health. Read this to decide whether a reconnect is needed. 'expired' also covers connections the platform revoked, where accessTokenExpiresAt may still be null or in the future.
    - `tokenExpiresIn` string, nullable — Human-readable time until token expiration
    - `lastSuccessfulPost` string, date-time, nullable — Timestamp of last successful post
    - `lastError` ConnectionLastError, nullable — Last connection error, or null
      - `message` string
      - `occurredAt` string, date-time

## Other responses

- `401` — Invalid API key
- `500` — Server error

---

[API](https://skmtc.dev/publora/apis/publora-api.md) · [All operations](https://skmtc.dev/publora/apis/publora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/publora/publora-api/revisions/a1534a88d80a/schema)
