API-dokumentáció

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/status

Az 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ÚtvonalMit csinálJogosultság
GET/statusÁllapot és felderítés. Kulcs nélkül is válaszol.
POST/signup/startEgyszer 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/completeA 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-connectedEllenőrzi, hogy a kulcs érvényes munkaterületre mutat-e.
GET/workspacesA 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/integrationsA bekötött csatornák: azonosító, név, @handle, platform, és hogy tud-e most posztolni.channels:read
GET/integration-settings/:idEgy csatorna posztolási szabályai és beállítássémája, a fiókra feloldott karakterkorláttal.channels:read
POST/integration-trigger/:idPlatformspecifikus lekérdezés egy csatornán: táblák, subredditek, oldalak listája.channels:read
GET/social/:integrationVisszaadja azt a platformcímet, amit egy embernek meg kell nyitnia a csatorna bekötéséhez.channels:write
GET/groupsAz ügyfélcsoportok, amelyekbe a csatornák be vannak sorolva.channels:read
GET/postsA naptár egy időszakra: minden poszt állapottal és időponttal.posts:read
POST/postsPoszt 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/:idCsak 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/:groupA teljes csoport törlése, minden csatornáról: egy szerkesztés, ami több csatornára ment ki.posts:draft
PUT/posts/:id/statusPoszt átmozgatása piszkozat és ütemezett állapot között.posts:publish
GET/posts/:id/missingMegmondja, mi hiányzik még a poszthoz a közzétételhez.posts:read
PUT/posts/:id/release-idA 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/:idA következő szabad időpont a munkaterület ütemezése szerint.posts:read
POST/uploadKép vagy videó feltöltése a médiatárba, legfeljebb 1 GB.media:write
POST/upload-from-urlMédiafájl behúzása nyilvános URL-ről a médiatárba.media:write
POST/upload-linkBöngészős feltöltési link, ha a fájl a felhasználó eszközén van.media:write
GET/upload-link/:idA feltöltési linken beérkezett fájlok, a posztba tehető címmel.media:write
GET/analytics/:integrationEgy csatorna statisztikái a kért időszakra.analytics:read
GET/analytics/post/:postIdEgy közzétett poszt platformstatisztikái.analytics:read
GET/notificationsA munkaterület értesítései, lapozva.posts:read
GET/fotoai/statusBe van-e kötve a kulcs tulajdonosának FotoAI-fiókja, kiként, és mennyi FotoAI-kredit van rajta.media:write
GET/fotoai/modelsA FotoAI kép- és videómodelljei paraméterekkel (képarány, felbontás, hossz) és kreditárral.media:write
POST/fotoai/quoteEgy generálás pontos ára és a quote_id (10 percig érvényes). Nem költ semmit.media:write
POST/fotoai/generationsGenerá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/generationsA 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/:idEgy 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/importBá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/plansA 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/subscriptionA 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/checkoutStripe 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/portalRö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:list

A 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ó.

Hitelesítés
posty auth:loginBö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:statusMelyik munkaterülethez van kötve a gép.
posty auth:logoutA tárolt kulcs törlése.
Csatornák
posty integrations:listA 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.
Posztolás
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.jsonA teljes kérés fájlból, szkriptekhez.
Kezelés
posty posts:listA 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 draftVá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:linkBö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.
Analitika
posty analytics:platform <id> -d 30Csatornastatisztika az elmúlt N napra.
posty analytics:post <id>Egy poszt statisztikái.
posty posts:missing <id>Mi hiányzik még a poszthoz.
FotoAI
posty fotoai:statusBe van-e kötve a FotoAI, kiként, és mennyi a kredit.
posty fotoai:models --category imageA 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.
Előfizetés
posty billing:plansA négy csomag ára és korlátai.
posty billing:subscribe --tier pro --period yearlyStripe Checkout link a csomagra. A --open a böngészőben nyitja meg; a felhasználó fizet.
posty billing:statusAz előfizetés állapota, fizetés után ezzel ellenőrizd.
posty billing:manageLink 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özMit csinálÍr?
get_workspace_contextA pontos idő UTC-ben, a felhasználó időzónája és a munkaterület neve.nem
list_workspacesFelsorolja a felhasználó munkaterületeit, és megjelöli azt, amelyiken a kapcsolat dolgozik.nem
switch_workspaceMásik munkaterületre állítja a kapcsolatot. Ezután minden eszköz ott dolgozik.igen
list_integrationsA bekötött csatornák azonosítóval, @handle-lel és állapottal.nem
list_groupsAz ügyfélcsoportok.nem
get_integration_schemaEgy csatorna szabályai és a fiókra feloldott karakterkorlát.nem
get_channel_optionsPlatformspecifikus választható értékek egy csatornához.igen
preview_postMegmutatja, mi menne ki, csatornánként. Nem ír semmit.nem
list_postsA naptár, UTC és helyi idővel, csatornanévvel.nem
delete_postEgy 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_postPiszkozat, ütemezés vagy azonnali közzététel.igen
upload_media_from_urlKép vagy videó a médiatárba URL-ből vagy data URL-ből.igen
create_upload_linkFotó 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_filesAmi a feltöltési linken beérkezett, a posztba tehető címmel.nem
fotoai_list_modelsA FotoAI kép- és videómodelljei paraméterekkel és kreditárral.nem
fotoai_quoteEgy FotoAI-generálás pontos ára. Nem költ semmit.nem
fotoai_generateGenerá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_generationEgy generálás állapota, és ha kész, a médiatárba mentett fájlok posztba tehető címe.igen
get_plansA 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
subscribeStripe 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_subscriptionAz 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_subscriptionLink 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_postyMegnyitja a Posty alkalmazást: naptár, bejegyzésíró és csatornák. A ChatGPT oldalsávjában is ott van.nem
open_posty_panelUgyanez az alkalmazás egy ChatGPT beszélgetés oldalpaneljén. Csak az alkalmazás hívja, a modell nem.nem
read_settingsA felhasználó beállításai: időzóna és a munkaterület, amelyiken a kapcsolat dolgozik, a választható értékekkel.nem
update_settingsElmenti 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_mentionsCsatornák és következő bejegyzések a ChatGPT asztali alkalmazás @ menüjéhez. Csak az alkalmazás hívja.nem
get_postEgy 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_postMó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:

Kezdd el még ma

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
7 nap ingyen · ma 0 Ft fizetendő · bármikor lemondható