API-Dokumentation

Posty API, MCP und CLI Referenz

Diese Seite ist die vollständige Referenz der programmierbaren Schnittstellen von Posty: jeder öffentliche REST-Endpunkt, alle Befehle des Kommandozeilentools und die Tools des MCP-Servers. Wenn du noch nicht entschieden hast, welche Schnittstelle du brauchst, die Entwicklerübersicht ist der Einstieg.

Eine eigene Seite pro Endpunkt, mit Parametern und ausführbaren Beispielen, steht in der vollständigen Dokumentation: posty.hu/dokumentacio/api/vegpontok.

So funktioniert es

Posty verwaltet über drei Schnittstellen denselben Arbeitsbereich wie die Weboberfläche. Die REST-API aus deinem eigenen Code, das Kommandozeilentool aus dem Terminal und deinen Skripten, der MCP-Server aus einem KI-Agenten. Alle drei nutzen dieselben Berechtigungen und Limits. Was du auf der einen tun kannst, kannst du auch auf den anderen tun.

Die Basis-URL der REST-API ist https://api.posty.hu/public/v1. Die Version steht in der Route, und jede Antwort ist JSON.

Verbinden in drei Schritten

1. Registriere dich unter posty.hu/regisztracio. Kein Verkaufsgespräch, keine Warteliste.
2. Verknüpfe in der Oberfläche mindestens ein Social-Media-Konto. Diesen Schritt kannst du nicht über die API erledigen, weil die Plattform die Einwilligung eines Menschen braucht.
3. Lege dir selbst einen Schlüssel an: Einstellungen → Entwickler. Der Schlüssel ist nur einmal sichtbar, im Moment des Anlegens.

Dein erster Aufruf kann prüfen, ob alles sitzt. Dieser Endpunkt antwortet auch ohne Schlüssel und sagt dir, wo du alles findest:

curl https://api.posty.hu/public/v1/status

Der erste authentifizierte Aufruf listet deine Kanäle:

curl https://api.posty.hu/public/v1/integrations \
  -H "Authorization: psty_a_kulcsod"

Authentifizierung

Zwei Arten von Zugangsdaten funktionieren. Der API-Schlüssel ist der vollständige Wert des Authorization-Headers (psty_…) und ist für deinen eigenen Code. Das OAuth-2.1-Access-Token (Bearer pos_…) brauchst du, wenn eine andere Anwendung im Namen deiner Nutzer auf Posty zugreift. Der Ablauf läuft mit PKCE, die Metadaten sind maschinenlesbar.

Die Berechtigungen eines Schlüssels folgen der aktuellen Rolle seines Inhabers. Wird jemand herabgestuft oder aus dem Arbeitsbereich entfernt, kann der Schlüssel sofort nur noch das, was die Person selbst darf. Gehört ein Schlüssel zu mehreren Arbeitsbereichen, wählt der Header showorg einen davon.

Endpunkte

Jeder Pfad liegt unter https://api.posty.hu/public/v1. Die Spalte „Berechtigung" zeigt, welchen Scope der Schlüssel braucht. Fehlt er, ist die Antwort 403, und sie nennt den fehlenden.

MethodePfadWas es tutBerechtigung
GET/statusÁllapot és felderítés. Az egyetlen útvonal, amely kulcs nélkül is válaszol.
GET/is-connectedEllenőrzi, hogy a kulcs érvényes munkaterületre mutat-e.
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/:idEgy poszt törlése és a hozzá tartozó folyamat leállítása.posts:draft
DELETE/posts/group/:groupA teljes csoport törlése: egy szerkesztés, ami több csatornára ment ki, egyetlen posztnak számít.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

Die genauen Request- und Response-Schemas, Feld für Feld, stehen in der OpenAPI-3-Beschreibung. Daraus kannst du auch Client-Code generieren lassen.

Beispiel: geplanter Beitrag

Das Datum ist immer UTC, im ISO-8601-Format. type kann draft, schedule oder now sein.

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>" }]
    }]
  }'

Die Antwort gibt pro Kanal eine Zeile zurück, mit dem postId-Wert, den du zum Löschen und zum Ändern des Status verwendest.

Fehler

Jeder Fehler ist JSON. Bei Fehlern, die Posty auslöst, trägt das msg Feld den Satz für Menschen. Aufrufe, die an der formalen Prüfung der Anfrage scheitern, bekommen das Format des Frameworks (statusCode, message, error). Die 403 wegen fehlender Berechtigung nennt den fehlenden Scope und die Rolle des Schlüsselinhabers, weil der häufigste Grund nicht der falsche Schlüssel ist, sondern der herabgestufte Nutzer.

Der Statuscode sagt dir, ob sich ein erneuter Versuch lohnt: 400, 401, 403 und 404 gehen nicht weg, bis du etwas änderst. 429 und 5xx schon. Das Schema ApiError beschreibt das auch maschinenlesbar in der OpenAPI-Beschreibung.

Ratenlimits

Jede Antwort trägt die Header RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (in Sekunden, kein Zeitstempel) und RateLimit-Policy. Bei 429 kommt zusätzlich Retry-After. Jede Route hat ein eigenes Kontingent, pro Schlüssel. Warte nicht auf die 429: am Restwert kannst du vorher drosseln.

Versionierung und Abkündigung

Die Version steht in der Route: jeder öffentliche Aufruf läuft unter /public/v1. Eine inkompatible Änderung würde als neue Version erscheinen (/public/v2), und v1 hält seinen Vertrag. Erweiterungen (neues optionales Feld, neue Route, neuer Enum-Wert) erfolgen innerhalb von v1. Dein Code ignoriert deshalb Felder, die er nicht kennt.

Würden wir eine Route abkündigen, bekäme ihre Antwort den Header Deprecation: true, dazu im Header Sunset das Datum, ab dem sie nicht mehr funktioniert. Dieses Datum liegt nie weniger als 180 Tage in der Zukunft. Jede Antwort trägt außerdem einen Link-Header mit der Relation rel="sunset", der auf diesen Abschnitt zeigt. Derzeit ist nichts abgekündigt.

Kommandozeilentool

posty-cli nutzt dieselbe API, nur vom Terminal aus. Installation und Anmeldung:

npm install -g posty-cli
posty auth:login
posty integrations:list

Die Anmeldung öffnet einen Browser und speichert den Schlüssel auf deinem Rechner, damit du ihn nicht in deine Skripte schreiben musst. Jeder Befehl kann --json-Ausgabe liefern, die für die maschinelle Verarbeitung gedacht ist.

Hitelesítés
posty auth:loginBöngészős bejelentkezés, a kulcsot a gép tárolja.
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 "szöveg" --date "..." -i "<id>"Ütemezett poszt egy vagy több csatornára.
posty posts:create -c "szöveg" -t draft ...Ugyanaz piszkozatként, közzététel nélkül.
posty posts:create --json fajl.jsonA teljes kérés fájlból, szkriptekhez.
Kezelés
posty posts:listA naptár tartalma.
posty posts:delete <id>Poszt törlése.
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 <fajl>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.

MCP-Server

Die Adresse des MCP-Servers ist https://api.posty.hu/mcp-oauth, mit Streamable HTTP-Übertragung und OAuth-2.1-Authentifizierung. Dein Agent sieht diese Tools:

ToolWas es tutSchreibt?
get_workspace_contextA pontos idő UTC-ben, a felhasználó időzónája és a munkaterület neve.nein
list_integrationsA bekötött csatornák azonosítóval, @handle-lel és állapottal.nein
list_groupsAz ügyfélcsoportok.nein
get_integration_schemaEgy csatorna szabályai és a fiókra feloldott karakterkorlát.nein
get_channel_optionsPlatformspecifikus választható értékek egy csatornához.ja
preview_postMegmutatja, mi menne ki, csatornánként. Nem ír semmit.nein
list_postsA naptár, UTC és helyi idővel, csatornanévvel.nein
delete_postNem közzétett poszt törlése. A már kint lévőt visszautasítja.ja
create_postPiszkozat, ütemezés vagy azonnali közzététel.ja
upload_media_from_urlKép vagy videó a médiatárba URL-ből vagy data URL-ből.ja
create_upload_linkBöngészős link, amire a felhasználó ráhúzza a saját gépén lévő fájlt. Két óráig él.ja
list_upload_link_filesAmi a feltöltési linken beérkezett, a posztba tehető címmel.nein

Die Verbindung verlangt Authentifizierung: ohne Zugangsdaten antwortet der Server mit 401, und der Header WWW-Authenticate sagt, wo du die Freigabe anfragen kannst. Das ist kein Fehler, sondern der Beginn des Ablaufs nach dem MCP-Standard. Die Tool-Liste lässt sich unabhängig davon im Manifest lesen.

Maschinenlesbar

Jedes Dokument, das ein Agent oder ein Generator anfragt:

Leg noch heute los

Publikum statt Extraschicht

Posty führt deine Social-Media-Konten in einem Kalender zusammen. So hast du mehr Zeit für Interessierte und dein Unternehmen. Verbringe nicht zehn Stunden pro Woche mit der Kontoverwaltung.

Kostenlos testen
7 Tage gratis · heute 0 Ft fällig · jederzeit kündbar