Posteady
Posteady Docs
User guideDeveloper guidesAPI referenceMCP
API referenceChannel texts

Write posts for several channels

Write a post for each account from one source, in that account's persona voice.

POST
/api/v1/channel-texts
curl -X POST "https://example.com/api/v1/channel-texts" \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com/blog/spring-menu",    "targets": [      {        "accountId": "11111111-1111-4111-8111-111111111111"      },      {        "accountId": "22222222-2222-4222-8222-222222222222"      },      {        "accountId": "33333333-3333-4333-8333-333333333333"      }    ]  }'

{  "channels": [    {      "accountId": "11111111-1111-4111-8111-111111111111",      "platform": "threads",      "personaId": "44444444-4444-4444-8444-444444444444",      "posts": [        "Spring is on the menu from March 3.",        "Three seasonal drinks and a new weekend brunch set. Which one are you trying first?"      ]    },    {      "accountId": "22222222-2222-4222-8222-222222222222",      "platform": "linkedin",      "personaId": "55555555-5555-4555-8555-555555555555",      "posts": [        "We are launching our spring menu on March 3, with three seasonal drinks and a new brunch set."      ]    },    {      "accountId": "33333333-3333-4333-8333-333333333333",      "platform": "instagram",      "personaId": "66666666-6666-4666-8666-666666666666",      "posts": [        "Spring menu drops March 3. Three new drinks and a weekend brunch set."      ]    }  ],  "failed": [],  "sourceMedia": [    {      "type": "IMAGE",      "url": "https://example.com/images/spring-menu.jpg"    }  ],  "partialSource": false}

Write a post for each selected account from one source: text, a public link, or one of your published posts. Each account's post is written in the voice of the account's persona and in the platform's format, the same way as Multiple channels at once in the Posteady app. Choose one account per platform; each account needs an active persona. The request waits until the posts are written, which usually takes 10 to 30 seconds. Posteady doesn't save or publish the result: publish each channel's posts with POST /api/v1/posts or schedule them with POST /api/v1/scheduled-posts. Each written channel costs 5 credits, and a link source costs 5 more credits once per request. If some channels fail, the response lists them in failed and you aren't charged for them. If every channel fails, the request returns an error and you aren't charged.

AuthorizationBearer <token>

In: header

Request body

application/json

TypeScript definitions

Use the request body type in TypeScript.

Provide exactly one of text, url, or post as the source, and the accounts to write for.

Response body

application/json

application/json

application/json

application/json

application/json