Changelog
What shipped
Every change that reached you, newest first. Things that are still open pull requests are not on this list.
Bluesky, and what X costs
- Bluesky is live. Connect with your handle and an app password, no OAuth dance. Self-hosted PDS works too.
- Bluesky posts are free to send and count as one connected account, like LinkedIn. Links are clickable and the 300 character limit counts graphemes, so emoji do not eat your post.
- X posts now bill a flat fee per post: 2 cents, or 25 cents when the post contains a link. LinkedIn, Bluesky and sandbox posts stay free.
- That fee is charged from your first X post, so a card has to be on file before X will send. You can still cap what you spend on X per month.
Sandbox keys, request ids and a new look
- Sandbox connections and test API keys. A test key starts with yp_test_, reaches sandbox connections and nothing else, and a sandbox post is validated, stored and webhooked like a real one but published nowhere. Start a post with [fail] to test your error path.
- Every authenticated response carries an x-request-id, plus rate limit headers that tell you where you are in the window. Quote a request id and we can find that exact call.
- A Logs section in the console lists your requests per key, with secrets redacted.
- Webhooks got a delivery log: read the last 30 days of attempts for any webhook.
- The API answers browsers directly now, and takes Authorization: Bearer everywhere it took x-api-key. Every timestamp is ISO-8601 UTC.
- The playground sends real requests and shows the real response instead of a preview.
- The API page fills its example commands in with your own key and your own connection slugs.
- Support threads in the app: message us, get a reply, see it without digging through email.
- The whole product was redesigned, dark first and monochrome.
The developer API
- The v2 API. POST /posts takes text and a list of connection slugs and fans out to all of them in one call, with a result per connection. POST /post/{slug} takes the post as a plain body, for the one-liner case.
- List your connections, list and read your posts, cancel a scheduled one.
- An OpenAPI 3.1 spec at /api/v2/openapi.json, no key needed to read it.
- Send an Idempotency-Key with a post and a retry cannot post twice.
- Signed webhooks for post.sent and post.failed, delivered with retries.
- An MCP server with five tools, so an agent can post without any glue code.
- New pricing: posts are unlimited, and you pay per connected account. The first two accounts are free, then $5 each, $2.50 from the eleventh, $1 from the hundred and first.
- A developer console: API keys, an MCP page, and a playground.
Keeping up
The docs always describe what is live right now, and status tells you whether the API is answering. Building on the API? Watch this page: new endpoints and new platforms land here first.