How Posttar is put together
Workspace, project, post, slide: what each one is and what contains what.
Five nouns carry the whole API, and every endpoint belongs to one of them. Read this once and the rest of the documentation stops needing footnotes.
| Noun | What it is | What it holds |
|---|---|---|
| Workspace | The account. Your API key belongs to exactly one, and sees everything in it and nothing outside it. | Projects, the team, the plan and its credits |
| Project | One brand, and at most one Instagram account. A project can exist without Instagram connected: it just cannot publish. | Its brand DNA, its color palettes, its autopilot grid, its posts |
| Post | One piece of content, in one of the six formats. It carries a caption and, depending on the format, slides or a script. | Slides, or scenes, or the reel's three text blocks |
| Slide | One page of a carousel. Text over a layout, or a whole image drawn by AI. | Its text fields, its colors and fonts |
| Brand DNA | What the project sounds and looks like: description, audience, tone, image style, fonts, the two colors, the photo and the logo. | Nothing. It is read by everything that generates |
Almost every call needs an id, and ids only come from a previous response. GET /projects gives you a project's id, which is the projectId everywhere else; GET /posts gives you a post's; GET /posts/{id} gives you each slide's. There is no endpoint that takes a name instead of an id.
What costs a credit
Creating a post costs 1 credit, in any of the six formats, and the credit is spent when generation STARTS, not when it succeeds: a post that ends in failed has already cost it. Nothing else in the API spends a credit. Editing, scheduling, publishing and every read are free.
POST /slides/{id}/reimagine is the one exception worth knowing: it does not take a credit, but it costs real money on our side (about $0.015) and it is capped per post. GET /posts/{id}/edit-budget tells you how many are left before you spend one.
There is no test mode
Every call hits your real account. There is no sandbox, no test key, and no dry run: a post you create through the API is a post in your calendar, and it spends a credit from the same balance the app spends. Publishing is worse than irreversible in the usual sense, because it puts something on a real Instagram account.
The cheap way to explore is to read first (GET /projects, GET /posts), and to do your first write on a post you create for that purpose and delete afterwards. DELETE /posts/{id} removes it entirely.
What deleting takes with it
DELETE /posts/{id} is irreversible and it is not only the post: the slides go, the reel or audiogram content goes, the generated images go, and the record of which library clips it used goes. A post that was already published on Instagram stays on Instagram: deleting here removes it from Posttar, not from the platform.
The credit is not refunded, and that is on purpose: it paid for work that was done. Its record survives the post.
Roles
A workspace has an owner, and may have admin and member people. No endpoint in this API is gated by role today: a key made by a member reaches everything a key made by the owner reaches. The two operations that do depend on role, inviting someone and cancelling an invite, are not in the API at all.
What a key IS limited by is the workspace it belongs to, and the plan of that workspace. See Authentication.