Core concepts
How publishing works
Write once, post everywhere is a literal description of the engine. One caption plus a list of networks becomes one real API call per network — the same code path whether you use the dashboard or the API.
The fan-out
When you create a post to publish now, PostMyIsh runs the fan-out synchronously — inside the request — so the response already reflects what happened:
- The target list is narrowed to the networks you’ve actually connected. Unknown or unconnected ids are dropped.
- For each target, the account’s credentials are decrypted in memory and used to call that network’s real API.
- Each call has a 20-second timeout, and each network’s outcome — success with a platform post id, or a failure message — is captured independently.
- The post and every per-network result are written together, atomically, and the post moves to
published.
One network failing doesn't sink the rest
Three delivery states
Per network, a publish attempt resolves to exactly one of:
| State | What it means |
|---|---|
| Delivered | The network accepted the post and returned a platform post id. |
| Failed | The network rejected the call; the error is recorded against that network. |
| Not configured | The account is connected but has no usable credential yet, so the call is skipped — a no-op that reports zero reach. |
“Not configured” is why connecting an account isn’t quite the same as being able to publish to it — the network needs a credential it can actually use. That’s covered in Connecting accounts.
Honest metrics
Publishing never invents numbers. Immediately after a post ships, its reach and engagement_rate are 0. Those fields only move once a network reports back real figures. If you see zeros right after publishing, that’s correct — not a bug.
Asynchronous networks
A few networks accept media by pulling it and finish processing after they respond — TikTok returns a publish id, YouTube processes an upload, and so on. PostMyIsh fires these correctly, but doesn’t yet poll them for a final processing status; that follow-up is on the roadmap. For those networks, published means “successfully handed off,” not “confirmed live.”
Dashboard and API share it
- The composer and Create a post call the same publishing engine.
- A post created in the UI is visible over the API, and vice versa — there’s one set of accounts, posts, and results behind both.