tebarDocs
GuideDevelopersAPI ReferenceChangelog
Posts

Create a post

POST
/v1/posts

Publishes now, schedules (scheduled_at), or saves a draft. Each target can have its own content, media_ids, and platform options (targets[].options, see the *Options schemas). Validated against every target platform before anything is saved.

Requires the write scope.

Authorization

bearer
headerAuthorizationBearer <token>

An API key (tb_live_...) from the dashboard, or an OAuth access token.

Header Parameters

Idempotency-Key?string

1-128 characters of [A-Za-z0-9_-]. The same key and body returns the first response (200, Idempotent-Replayed: true); a different body returns 409 idempotency_conflict.

Tebar-Profile?string

Limits an owner key to one profile (id or external_id). Unknown: 404 profile_not_found.

Request Body

application/json
  1. body
content?string
Lengthlength <= 5000
media_ids?array<>
Itemsitems <= 20
Default[]
media_urls?array<>
Items1 <= items <= 20
targets*array<>
Items1 <= items <= 10
scheduled_at?string
Formatdate-time
idea_id?string
Formatuuid

Response Body

Replayed by Idempotency-Key.

application/json
  1. response
id*string
Formatuuid
profile_id*string
Formatuuid
content*string|null
type*string
Value in"text""image""video""carousel"
status*string
Value in"draft""scheduled""publishing""published""partial""failed""canceled"
source*string
Value in"dashboard""api""mcp"
idea_id*|null
scheduled_at*|null
created_at*string
Formatdate-time
media*array<>
targets*array<>
Example Request
curl -X POST 'https://api.tebar.app/v1/posts' \
  -H 'Content-Type: application/json' \
  -d '{
  "targets": [
    {
      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65"
    }
  ]
}'
Example Response
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8",
  "content": "string",
  "type": "text",
  "status": "draft",
  "source": "dashboard",
  "idea_id": "513dcbd6-3206-4305-8a7e-8651161eebfb",
  "scheduled_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "media": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "type": "image",
      "expired": true,
      "public_url": "string",
      "poster_url": "string",
      "alt_text": "string"
    }
  ],
  "targets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
      "platform": "threads",
      "username": "string",
      "display_name": "string",
      "status": "pending",
      "options": {
        "property1": null,
        "property2": null
      },
      "content": "string",
      "media": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "type": "image",
          "expired": true,
          "public_url": "string",
          "poster_url": "string",
          "alt_text": "string"
        }
      ],
      "cover": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "image",
        "expired": true,
        "public_url": "string",
        "poster_url": "string",
        "alt_text": "string"
      },
      "platform_post_id": "string",
      "permalink": "string",
      "error_code": "string",
      "error_message": "string",
      "retry_after": "2019-08-24T14:15:22Z",
      "published_at": "2019-08-24T14:15:22Z"
    }
  ]
}