Posty API, MCP és CLI referencia
Ez az oldal a Posty programozható felületeinek teljes referenciája: minden nyilvános REST-végpont, a parancssori eszköz összes parancsa, és az MCP-szerver eszközei. Ha még nem döntötted el, melyik felület kell, a fejlesztői áttekintés onnan indul.
Végpontonként külön oldal, paraméterekkel és futtatható példákkal, a teljes dokumentációban van: posty.hu/dokumentacio/api/vegpontok.
Hogyan működik
A Posty három felületen ugyanazt a munkaterületet kezeli, mint a webes felület. A REST API a saját kódodból, a parancssori eszköz a terminálból és a szkriptjeidből, az MCP-szerver pedig egy AI-ügynökből. Mindhárom ugyanazokat a jogosultságokat és korlátokat használja, ezért amit az egyiken megtehetsz, megteheted a másikon is.
A REST API alapcíme https://api.posty.hu/public/v1. A verzió az útvonalban van, és minden válasz JSON.
Csatlakozás három lépésben
1. Regisztrálj a posty.hu/regisztracio címen. Nincs értékesítési hívás, nincs várólista.
2. Kösd be legalább egy közösségi fiókodat a felületen. Ezt a lépést API-ból nem lehet elvégezni, mert a platform beleegyezést kér egy embertől.
3. Hozz létre magadnak egy kulcsot: Automatizálások → Fejlesztőknek. A kulcs egyszer látszik, a létrehozás pillanatában.
Az első hívásod ellenőrizheti, hogy minden a helyén van. Ez a végpont kulcs nélkül is válaszol, és megmondja, hol találsz meg mindent:
curl https://api.posty.hu/public/v1/statusAz első hitelesített hívás pedig a csatornáidat listázza:
curl https://api.posty.hu/public/v1/integrations \
-H "Authorization: psty_a_kulcsod"Hitelesítés
Kétféle hitelesítő adat működik. Az API-kulcs a teljes Authorization fejléc értéke (psty_…), és a saját kódodhoz való. Az OAuth 2.1 hozzáférési token (Bearer pos_…) akkor kell, ha egy másik alkalmazás a te felhasználóid nevében fér hozzá a Postyhoz; a folyamat PKCE-vel megy, a metaadatok pedig géppel olvashatók.
Egy kulcs jogosultsága a tulajdonosa aktuális szerepkörével mozog: ha valaki lefokozódik vagy kikerül a munkaterületről, a kulcsa azonnal annyit tud, amennyit ő. Ha egy kulcs több munkaterülethez tartozik, a showorg fejléc választ közülük.
Végpontok
Minden útvonal a https://api.posty.hu/public/v1 alatt van. A „Jogosultság" oszlop azt mutatja, milyen scope kell a kulcsra; ha hiányzik, a válasz 403, és megnevezi a hiányzót.
| Metódus | Útvonal | Mit csinál | Jogosultság |
|---|---|---|---|
| GET | /status | Állapot és felderítés. Kulcs nélkül is válaszol. | |
| POST | /signup/start | Egyszer használatos kódot küld a felhasználó e-mail címére. Kulcs nélkül hívható, és minden címre ugyanazt válaszolja. | |
| POST | /signup/complete | A kóddal és a felhasználó hozzájárulásával (acceptTerms: true) létrehozza a fiókot, és egyszer megmutat egy teljes munkaterületi kulcsot (psty_sa_). Ingyenes próbaidő nincs, a következő lépés a checkout. Ha a címhez már van fiók, 409. | |
| GET | /is-connected | Ellenőrzi, hogy a kulcs érvényes munkaterületre mutat-e. | |
| GET | /workspaces | A kulcs által elérhető munkaterületek. A `current` azt jelöli, amelyikre a kérés érkezett. Ha a kulcs több munkaterületre szól, a többi útvonal a `showorg` fejlécben várja a munkaterület azonosítóját. | |
| GET | /integrations | A bekötött csatornák: azonosító, név, @handle, platform, és hogy tud-e most posztolni. | channels:read |
| GET | /integration-settings/:id | Egy csatorna posztolási szabályai és beállítássémája, a fiókra feloldott karakterkorláttal. | channels:read |
| POST | /integration-trigger/:id | Platformspecifikus lekérdezés egy csatornán: táblák, subredditek, oldalak listája. | channels:read |
| GET | /social/:integration | Visszaadja azt a platformcímet, amit egy embernek meg kell nyitnia a csatorna bekötéséhez. | channels:write |
| GET | /groups | Az ügyfélcsoportok, amelyekbe a csatornák be vannak sorolva. | channels:read |
| GET | /posts | A naptár egy időszakra: minden poszt állapottal és időponttal. | posts:read |
| POST | /posts | Poszt létrehozása: piszkozat, ütemezés vagy azonnali közzététel, egy vagy több csatornára. | posts:draft (közzétételhez posts:publish is) |
| DELETE | /posts/:id | Csak ez az egy poszt (egy csatorna) törlése, a szálával együtt. A csoport többi csatornája marad. | posts:draft |
| DELETE | /posts/group/:group | A teljes csoport törlése, minden csatornáról: egy szerkesztés, ami több csatornára ment ki. | posts:draft |
| PUT | /posts/:id/status | Poszt átmozgatása piszkozat és ütemezett állapot között. | posts:publish |
| GET | /posts/:id/missing | Megmondja, mi hiányzik még a poszthoz a közzétételhez. | posts:read |
| PUT | /posts/:id/release-id | A platformon kívül közzétett poszt azonosítójának és címének rögzítése. | posts:publish |
| GET | /find-slot/:id | A következő szabad időpont a munkaterület ütemezése szerint. | posts:read |
| POST | /upload | Kép vagy videó feltöltése a médiatárba, legfeljebb 1 GB. | media:write |
| POST | /upload-from-url | Médiafájl behúzása nyilvános URL-ről a médiatárba. | media:write |
| POST | /upload-link | Böngészős feltöltési link, ha a fájl a felhasználó eszközén van. | media:write |
| GET | /upload-link/:id | A feltöltési linken beérkezett fájlok, a posztba tehető címmel. | media:write |
| GET | /analytics/:integration | Egy csatorna statisztikái a kért időszakra. | analytics:read |
| GET | /analytics/post/:postId | Egy közzétett poszt platformstatisztikái. | analytics:read |
| GET | /notifications | A munkaterület értesítései, lapozva. | posts:read |
| GET | /fotoai/status | Be van-e kötve a kulcs tulajdonosának FotoAI-fiókja, kiként, és mennyi FotoAI-kredit van rajta. | media:write |
| GET | /fotoai/models | A FotoAI kép- és videómodelljei paraméterekkel (képarány, felbontás, hossz) és kreditárral. | media:write |
| POST | /fotoai/quote | Egy generálás pontos ára és a quote_id (10 percig érvényes). Nem költ semmit. | media:write |
| POST | /fotoai/generations | Generálás indítása a felhasználó FotoAI-kreditjeiből, árplafonnal (max_millicredits vagy quote_id) és idempotencia kulccsal. Az eredmény a médiatárba kerül. | media:write |
| GET | /fotoai/generations | A felhasználó legutóbbi FotoAI-generálásai minden forrásból, jelölve, amelyik már a munkaterület médiatárában van. | media:write |
| GET | /fotoai/generations/:id | Egy generálás állapota; ha kész, a médiatárba mentett képek és videók posztba tehető címmel. | media:write |
| POST | /fotoai/generations/:id/import | Bármelyik FotoAI-generálás (a fotoai.hu-n készültek is) importálása a médiatárba. Kétszer importálva ugyanazt adja vissza. | media:write |
| GET | /plans | A négy csomag (Alap, Pro, Kreátor, Csapat) havi és éves ára forintban, valamint euróban, svájci frankban és dollárban, a fontos korlátok, a próbaidőszak szabálya és a munkaterület jelenlegi csomagja. Csomagkapu nélkül válaszol. | |
| GET | /subscription | A munkaterületet vezérlő előfizetés állapota (none, trialing, active, past_due, read_only, cancelled), a csomag, az időszak vége, és az elmúlt órában elindított, ki nem fizetett checkout. Fizetés után ezt kérdezd le. | |
| POST | /subscriptions/checkout | Stripe Checkout link a választott csomagra és időszakra. Nem terhel semmit: a linket a felhasználó nyitja meg, és a saját Link-tárcájával vagy kártyájával fizet. Csak OAuth-token vagy teljes munkaterületi kulcs (psty_sa_) hívhatja, a fizetőé. | |
| GET | /subscription/portal | Rövid életű link a Stripe számlázási portálra: csomagváltás, lemondás, számlák, kártya. Ugyanaz a hitelesítési szabály, mint a checkoutnál. |
A pontos kérés- és válaszsémákat, mezőnként, az OpenAPI 3 leírás tartalmazza. Abból ügyfélkódot is tudsz generáltatni.
Példa: ütemezett poszt
A dátum mindig UTC, ISO 8601 formátumban. A type lehet draft, schedule vagy now.
curl -X POST https://api.posty.hu/public/v1/posts \
-H "Authorization: psty_a_kulcsod" \
-H "Content-Type: application/json" \
-d '{
"type": "schedule",
"date": "2026-09-15T09:00:00.000Z",
"shortLink": false,
"posts": [{
"integration": { "id": "a_csatorna_azonositoja" },
"value": [{ "content": "<p>Sziasztok!</p>" }]
}]
}'A válasz csatornánként egy sort ad vissza, benne a postId értékkel, amit a törléshez és az állapotváltáshoz használsz.
Hibák
Minden hiba JSON. A Posty által kiváltott hibákban a msg mező hordozza az emberi mondatot; a kérés formai ellenőrzésén elbukó hívások a keretrendszer alakját kapják (statusCode, message, error). A jogosultsági 403 megnevezi a hiányzó scope-ot és a kulcstulajdonos szerepkörét, mert a leggyakoribb ok nem a rossz kulcs, hanem a lefokozott felhasználó.
A státuszkód mondja meg, érdemes-e újrapróbálni: a 400, 401, 403 és 404 addig nem múlik el, amíg nem változtatsz valamin; a 429 és az 5xx igen. Az ApiError séma mindezt géppel olvashatóan is leírja az OpenAPI dokumentumban.
Hívási korlátok
Minden válasz viszi a RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (másodpercben, nem időbélyeg) és RateLimit-Policy fejléceket. A 429 mellé Retry-After is érkezik. Minden útvonalnak külön kerete van, kulcsonként. Ne a 429-re várj: a maradék értékből előre tudsz lassítani.
Verziózás és kivezetés
A verzió az útvonalban van: minden nyilvános hívás a /public/v1 alatt él. Törő változás új verzióként jelenne meg (/public/v2), a v1 pedig tartja a szerződését. A bővítés (új opcionális mező, új útvonal, új felsorolt érték) a v1-en belül történik, ezért a kódod hagyja figyelmen kívül azokat a mezőket, amiket nem ismer.
Ha egy útvonalat kivezetnénk, a válasza Deprecation: true fejlécet kap, mellé Sunset fejlécben a dátumot, ami után már nem működik. Ez a dátum soha nem lehet közelebb 180 napnál. Minden válasz visz egy Link fejlécet is rel="sunset" kapcsolattal, ami erre a szakaszra mutat. Jelenleg semmi nincs kivezetés alatt.
Parancssori eszköz
A posty-cli ugyanezt az API-t használja, csak terminálból. Telepítés és bejelentkezés:
npm install -g posty-cli
posty auth:login
posty integrations:listA bejelentkezés böngészőt nyit, a kulcsot pedig a gépeden tárolja, így a szkriptjeidbe nem kell beleírnod. Minden parancs tud --json kimenetet adni, ami gépi feldolgozásra való.
| posty auth:login | Böngészős bejelentkezés, a kulcsot a gép tárolja. |
| posty auth:signup --email <address> | Új fiók e-mailben kapott kóddal, ingyenes próbaidő nélkül. A kulcsot a gép tárolja, utána jön a billing:subscribe. |
| posty auth:status | Melyik munkaterülethez van kötve a gép. |
| posty auth:logout | A tárolt kulcs törlése. |
| posty integrations:list | A bekötött csatornák azonosítóval. |
| posty integrations:settings <id> | Egy csatorna szabályai és beállításai. |
| posty integrations:trigger <id> <method> | Platformspecifikus lekérdezés a csatornán. |
| posty posts:create -c "text" --date "..." -i "<id>" | Ütemezett poszt egy vagy több csatornára. |
| posty posts:create -c "text" -t draft ... | Ugyanaz piszkozatként, közzététel nélkül. |
| posty posts:create --json file.json | A teljes kérés fájlból, szkriptekhez. |
| posty posts:list | A naptár tartalma. |
| posty posts:delete <id> | Egy poszt törlése (egy csatorna). |
| posty posts:delete-group <group> | A teljes csoport törlése, minden csatornáról. |
| posty posts:status <id> --status draft | Váltás piszkozat és ütemezett között. |
| posty posts:find-slot <id> | A következő szabad időpont. |
| posty upload <file> | Médiafeltöltés a médiatárba. |
| posty upload:link | Böngészős feltöltési link, ha a fájl nem a gépen van. |
| posty upload:files <id> | Ami a feltöltési linken beérkezett. |
| posty analytics:platform <id> -d 30 | Csatornastatisztika az elmúlt N napra. |
| posty analytics:post <id> | Egy poszt statisztikái. |
| posty posts:missing <id> | Mi hiányzik még a poszthoz. |
| posty fotoai:status | Be van-e kötve a FotoAI, kiként, és mennyi a kredit. |
| posty fotoai:models --category image | A FotoAI modelljei paraméterekkel és árral. |
| posty fotoai:generate -m <model> -p "prompt" --aspect 4:5 | Árajánlat, megerősítés, generálás a saját FotoAI-kreditből; az eredmény a médiatárba kerül. |
| posty fotoai:get <id> | Egy generálás állapota és a médiatárba mentett fájlok címe. |
| posty billing:plans | A négy csomag ára és korlátai. |
| posty billing:subscribe --tier pro --period yearly | Stripe Checkout link a csomagra. A --open a böngészőben nyitja meg; a felhasználó fizet. |
| posty billing:status | Az előfizetés állapota, fizetés után ezzel ellenőrizd. |
| posty billing:manage | Link a Stripe számlázási portálra. |
MCP-szerver
Az MCP-szerver címe https://api.posty.hu/mcp-oauth, streamable HTTP átvitellel, OAuth 2.1 hitelesítéssel. Az ügynököd ezeket az eszközöket látja:
| Eszköz | Mit csinál | Ír? |
|---|---|---|
| get_workspace_context | A pontos idő UTC-ben, a felhasználó időzónája és a munkaterület neve. | nem |
| list_workspaces | Felsorolja a felhasználó munkaterületeit, és megjelöli azt, amelyiken a kapcsolat dolgozik. | nem |
| switch_workspace | Másik munkaterületre állítja a kapcsolatot. Ezután minden eszköz ott dolgozik. | igen |
| list_integrations | A bekötött csatornák azonosítóval, @handle-lel és állapottal. | nem |
| list_groups | Az ügyfélcsoportok. | nem |
| get_integration_schema | Egy csatorna szabályai és a fiókra feloldott karakterkorlát. | nem |
| get_channel_options | Platformspecifikus választható értékek egy csatornához. | igen |
| preview_post | Megmutatja, mi menne ki, csatornánként. Nem ír semmit. | nem |
| list_posts | A naptár, UTC és helyi idővel, csatornanévvel. | nem |
| delete_post | Egy nem közzétett poszt törlése (egy csatorna), allChannels: true esetén a teljes csoporté. A már kint lévőt visszautasítja. | igen |
| create_post | Piszkozat, ütemezés vagy azonnali közzététel. | igen |
| upload_media_from_url | Kép vagy videó a médiatárba URL-ből vagy data URL-ből. | igen |
| create_upload_link | Fotó vagy videó feltöltése a gépről vagy a telefonról: feltöltőkártya a csevegésben és egy link, amely két óráig él. Videó legfeljebb 1 GB, mp4 vagy mov. | igen |
| list_upload_link_files | Ami a feltöltési linken beérkezett, a posztba tehető címmel. | nem |
| fotoai_list_models | A FotoAI kép- és videómodelljei paraméterekkel és kreditárral. | nem |
| fotoai_quote | Egy FotoAI-generálás pontos ára. Nem költ semmit. | nem |
| fotoai_generate | Generálás a felhasználó FotoAI-kreditjeiből a jóváhagyott árajánlattal; az eredmény a médiatárba kerül. | igen |
| fotoai_get_generation | Egy generálás állapota, és ha kész, a médiatárba mentett fájlok posztba tehető címe. | igen |
| get_plans | A négy csomag ára forintban, euróban, svájci frankban és dollárban, a korlátok, a próbaidőszak szabálya és a jelenlegi csomag. Csak ha a felhasználó kérdezi. | nem |
| subscribe | Stripe Checkout link a választott csomagra. A felhasználó nyitja meg és a saját tárcájával fizet. Csak bejelentkezett (OAuth) kapcsolaton, a tulajdonosnak. | igen |
| get_subscription | Az előfizetés állapota és a ki nem fizetett checkout. Fizetés után ezzel erősíti meg az ügynök, hogy a csomag él. | nem |
| manage_subscription | Link a Stripe számlázási portálra: csomagváltás, lemondás, számlák, kártya. Csak OAuth-kapcsolaton, a fizetőnek. | igen |
| open_posty | Megnyitja a Posty alkalmazást: naptár, bejegyzésíró és csatornák. A ChatGPT oldalsávjában is ott van. | nem |
| open_posty_panel | Ugyanez az alkalmazás egy ChatGPT beszélgetés oldalpaneljén. Csak az alkalmazás hívja, a modell nem. | nem |
| read_settings | A felhasználó beállításai: időzóna és a munkaterület, amelyiken a kapcsolat dolgozik, a választható értékekkel. | nem |
| update_settings | Elmenti az időzónát, vagy másik munkaterületre állítja a kapcsolatot. A ChatGPT bővítmény beállításai ezt hívják. | igen |
| search_mentions | Csatornák és következő bejegyzések a ChatGPT asztali alkalmazás @ menüjéhez. Csak az alkalmazás hívja. | nem |
| get_post | Egy bejegyzés teljes egészében (thread bejegyzések vagy hozzászólások, média, beállítások) a Posty alkalmazás szerkesztőjének. Csak az alkalmazás hívja. | nem |
| update_post | Módosít egy ütemezett, piszkozat vagy hibás bejegyzést a Posty alkalmazás szerkesztőjéből. Megjelent bejegyzést nem módosít. Csak az alkalmazás hívja. | igen |
A kapcsolat hitelesítést kér: hitelesítő adat nélkül a szerver 401-et ad, és a WWW-Authenticate fejlécben megmondja, hol lehet engedélyt kérni. Ez nem hiba, hanem az MCP szabvány szerinti folyamat kezdete. Az eszközök listája ettől függetlenül olvasható a manifesztből.
Gépi olvasásra
Minden dokumentum, amit egy ügynök vagy egy generátor kér:
- OpenAPI 3: https://posty.hu/openapi.json
- MCP manifeszt: https://posty.hu/.well-known/mcp.json
- Állapot és felderítés:
https://api.posty.hu/public/v1/status - OAuth metaadatok:
https://api.posty.hu/.well-known/oauth-protected-resource - Rövid összefoglaló ügynököknek: https://posty.hu/llms.txt
Legyen közönséged, ne plusz műszakod
A Posty egy naptárba rendezi a közösségi fiókjaidat, így több időd jut az érdeklődőkre és a vállalkozásodra. Ne a fiókkezelés vigyen el heti tíz órát.
Ingyenes próba indítása