Endpoint

List posts

Retrieve posts in a workspace with optional filters for status, date range, and pagination.

List workspace posts

GET /api/v1/posts returns a paginated list of every post in the workspace, ordered by creation date descending.

curl "$SOCIALSPOOL_BASE_URL/api/v1/posts" \
  -H "Authorization: Bearer $SOCIALSPOOL_API_KEY"

Successful response shape:

{
  "results": [
    {
      "id": "post_01HZ...",
      "content": "Hello from the SocialSpool API",
      "status": "published",
      "publish_at": "2026-06-01T12:00:00Z",
      "targets": [
        {
          "id": "pt_01HZ...",
          "platform": "x",
          "status": "published",
          "platform_post_id": "987654321",
          "platform_post_url": "https://x.com/acme/status/987654321",
          "published_at": "2026-06-01T12:00:05Z"
        }
      ],
      "created_at": "2026-06-01T11:00:00Z",
      "updated_at": "2026-06-01T12:00:05Z"
    }
  ],
  "count": 1,
  "next_cursor": null
}
Filtering

All filter parameters are optional query string values:

  • status: filter by post status. One of draft, scheduled, publishing, published, failed, canceled.
  • cursor: pagination cursor from a previous response.
  • limit: maximum results per page (default 20, max 100).
Get a single post

GET /api/v1/posts/:id returns the full post record including all targets and their publish history.

curl "$SOCIALSPOOL_BASE_URL/api/v1/posts/post_01HZ..." \
  -H "Authorization: Bearer $SOCIALSPOOL_API_KEY"