Docs
Posts
GET
/posts/{id}

Requires posts:read.

Authorization

bearerAuth
AuthorizationBearer <token>

API key starting with fh_

In: header

Path Parameters

id*string

Post id

Match^post_[0-9a-fA-F]{32}$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://feedhorizon.com/api/v1/posts/post_0195f0a27b3c7d4e8f5a1b2c3d4e5f60"
{
  "data": {
    "id": "post_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
    "profileId": "prof_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
    "content": "Five-minute tomato soup, our quickest weeknight dinner.",
    "status": "draft",
    "source": "ui",
    "scheduledAt": "2026-11-10T08:00:00.000Z",
    "timezone": "Europe/Berlin",
    "publishedAt": "2026-11-10T08:00:00.000Z",
    "idempotencyKey": "launch-post-2026-11-10",
    "createdAt": "2026-11-10T08:00:00.000Z",
    "updatedAt": "2026-11-10T08:00:00.000Z",
    "targets": [
      {
        "id": "tgt_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
        "socialAccountId": "acc_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
        "accountName": "Soup Club",
        "platform": "twitter",
        "content": null,
        "options": {
          "pinterest": {
            "boardId": "string",
            "title": "string",
            "link": "http://example.com"
          },
          "tiktok": {
            "privacyLevel": "PUBLIC_TO_EVERYONE",
            "allowComment": true,
            "allowDuet": true,
            "allowStitch": true,
            "brandOrganic": true,
            "brandedContent": true,
            "aiGenerated": true
          }
        },
        "status": "draft",
        "attempts": 0,
        "scheduledAt": "2026-11-10T08:00:00.000Z",
        "publishedAt": "2026-11-10T08:00:00.000Z",
        "platformPostId": "1854123456789012345",
        "platformUrl": "https://x.com/i/web/status/1854123456789012345",
        "error": {
          "code": "string",
          "category": "auth_expired",
          "source": "user",
          "message": "string"
        }
      }
    ],
    "media": [
      {
        "id": "med_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
        "url": "https://media.feedhorizon.com/org_…/launch.jpg",
        "mimeType": "image/jpeg",
        "filename": "launch.jpg",
        "sizeBytes": 482113
      }
    ]
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "validation_failed",
    "message": "One or more fields are invalid, see details",
    "docUrl": "https://feedhorizon.com/docs/api/errors#invalid_request_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}
{
  "error": {
    "type": "authentication_error",
    "code": "missing_api_key",
    "message": "No Authorization: Bearer header",
    "docUrl": "https://feedhorizon.com/docs/api/errors#authentication_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}
{
  "error": {
    "type": "permission_error",
    "code": "insufficient_scope",
    "message": "The key lacks the scope for this endpoint",
    "docUrl": "https://feedhorizon.com/docs/api/errors#permission_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}
{
  "error": {
    "type": "not_found_error",
    "code": "resource_not_found",
    "message": "The resource does not exist, belongs to another organization, or the key cannot see its profile. A malformed id is also a 404",
    "docUrl": "https://feedhorizon.com/docs/api/errors#not_found_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limited",
    "message": "Too many requests. Wait the seconds in Retry-After",
    "docUrl": "https://feedhorizon.com/docs/api/errors#rate_limit_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "Something failed on our side. Retry with backoff, using the same Idempotency-Key for writes",
    "docUrl": "https://feedhorizon.com/docs/api/errors#api_error",
    "requestId": "req_m2x81a0kfd3h9s"
  }
}