Für Entwickler und KI-Agenten

Entwicklerressourcen für Posty: API, MCP, OpenAPI, CLI

Auf die Planungsfunktionen von Posty greifst du über vier programmierbare Schnittstellen zu: öffentliche REST-API, MCP-Server, Kommandozeilentool und Webhooks. Alle greifen auf dasselbe Konto zu und haben dieselben Berechtigungen, die du auch in der Weboberfläche siehst. Diese Seite dient als Referenz. Die Einrichtung der einzelnen Clients steht auf der Seite für KI-Agenten.

Vollständige Dokumentation mit je einer Seite pro Endpunkt und Plattform: posty.hu/dokumentacio. Dort steht auch die Bedienungsanleitung, vom Verknüpfen der Kanäle bis zur Abrechnung.

Auf einen Blick

REST-API
https://api.posty.hu, die Routen unter dem Präfix /public/v1
OpenAPI-Beschreibung
https://posty.hu/openapi.json, OpenAPI 3, ohne Weiterleitung. Die Scope-Namen stehen unter components.securitySchemes.
Kommandozeilentool
npm install -g posty-cli, der Befehl heißt posty
Webhooks
Mit HMAC-SHA256 signiert, Signatur im Header X-Posty-Signature
OAuth 2.0
Authorization-Code-Verfahren, verpflichtendes PKCE (S256), auf Scopes beschränkte Tokens mit Ablaufdatum
Schlüssel anlegen
Selbst in Posty unter Einstellungen → Entwickler
Maschinenlesbar
/llms.txt, /sitemap.xml, jede Seite hat eine .md-Variante

Posty developer documentation in English: REST API, MCP server, OpenAPI, CLI

Posty is a Hungarian social media scheduler. It publishes and schedules posts to 12+ social platforms, and it can be driven entirely by a machine through a public REST API, an MCP server or a command line tool. This section is the same reference as the rest of the page, in English, for developers and agents arriving from an English search. The product interface and support are Hungarian.

REST API
https://api.posty.hu, public routes under /public/v1
OpenAPI description
https://posty.hu/openapi.json, OpenAPI 3, served directly with HTTP 200 and no redirect
Scopes and permissions
Every scope name is declared in that document under components.securitySchemes, for both the API key and the OAuth 2.1 authorization code flow
MCP server
https://api.posty.hu/mcp, streamable HTTP
Authentication
An API key sent as the whole Authorization header, or an OAuth 2.1 authorization code token with mandatory PKCE (S256), scoped consent and expiry
Command line tool
npm install -g posty-cli, the command is posty. The package ships a SKILL.md describing every command
Webhooks
HMAC-SHA256, signed in the X-Posty-Signature header, in Stripe's t=…,v1=… shape
Machine-readable site
https://posty.hu/llms.txt, /sitemap.xml, and a .md twin of every public page

Getting started is self-serve

  • Sign-up: self-serve at https://posty.hu/regisztracio. Registration is free and involves no sales call, no demo request, no waiting list and no manual approval.
  • API keys: self-serve. You create them yourself after signing up, inside the app under Beállítások → Fejlesztők (Settings → Developers): an API key for the REST API and the CLI, an MCP key for chat clients. Nobody has to issue one for you, and no sales contact is involved. A key is shown once, at creation.
  • Free tier: there is no permanently free publishing plan. Up to 5 channels can be connected before subscribing, so a new account can see its own channels, but nothing is published or scheduled without a plan. Every plan starts with a 7 day free trial. A card is collected when the trial starts, because checkout is a Stripe subscription session, and nothing is charged during the trial.
  • Support: [email protected].

Öffentliche REST-API

Die REST-API ist unter https://api.posty.hu erreichbar. Die öffentlichen Routen liegen unter dem Präfix /public/v1. Sie greift auf denselben Arbeitsbereich zu wie die Weboberfläche, nur direkt aus deinem Code.

Authentifizierung

Jede Anfrage übermittelt einen API-Schlüssel im Authorization-Header. Den Schlüssel legst du in Posty unter Einstellungen → Entwickler selbst an. Du musst uns dafür nicht schreiben. Der Schlüssel ist nur einmal sichtbar, direkt nach dem Anlegen. Danach kannst du ihn nicht mehr abrufen, also speichere ihn sofort. Schlüssel lassen sich einschränken. Ihre Berechtigungen entsprechen der jeweils aktuellen Rolle des Inhabers. Wird der Nutzer aus dem Arbeitsbereich entfernt, funktioniert sein Schlüssel nicht mehr.

Gehört ein Schlüssel zu mehreren Arbeitsbereichen, wählt der Header showorg aus, für welchen Arbeitsbereich der Aufruf gilt.

Was v1 kann

  • Verknüpfte Social-Media-Konten auflisten: GET https://api.posty.hu/public/v1/integrations
  • Beitrag erstellen und planen: POST https://api.posty.hu/public/v1/posts
  • Kalender abfragen, ändern, löschen: GET https://api.posty.hu/public/v1/posts, DELETE https://api.posty.hu/public/v1/posts/:id
  • Medien aus einer Datei oder URL hochladen: POST https://api.posty.hu/public/v1/upload, POST https://api.posty.hu/public/v1/upload-from-url
  • Link zum Upload im Browser, wenn die Datei auf dem Gerät des Nutzers liegt: POST https://api.posty.hu/public/v1/upload-link, GET https://api.posty.hu/public/v1/upload-link/:id
  • Nächsten freien Zeitpunkt suchen: GET https://api.posty.hu/public/v1/find-slot/:id
  • Statistiken zu Kanal und Beitrag: GET https://api.posty.hu/public/v1/analytics/:integration

Status und Endpunkterkennung ohne Authentifizierung

GET https://api.posty.hu/public/v1/status ist die einzige Route, die auch ohne Schlüssel antwortet. Sie liefert die API-Version, die genaue Serverzeit in UTC und für alle maschinenlesbaren Dokumente die absoluten URLs: für die OpenAPI-Beschreibung, die OAuth-Metadaten und den MCP-Endpunkt. Sie gibt keine Arbeitsbereichsdaten zurück und nimmt keine Parameter an. Ein Agent kann damit am schnellsten prüfen, ob er uns erreicht und wo er die übrigen Dokumente findet.

Fehler

Jeder Fehler wird als JSON zurückgegeben. Bei Fehlern von Posty enthält das Feld msg die für Menschen lesbare Meldung. Anfragen, die an der formalen Prüfung scheitern, folgen dem Format des Frameworks (statusCode, message, error). Eine 403-Antwort wegen fehlender Berechtigungen nennt den fehlenden Scope und die aktuelle Rolle des Schlüsselinhabers. Der häufigste Grund ist nicht ein falsch angelegter Schlüssel, sondern eine zurückgestufte Nutzerrolle. Das Schema ApiError in der OpenAPI-Beschreibung hält das maschinenlesbar fest, für jeden Statuscode einschließlich der Angabe, ob sich ein erneuter Versuch lohnt.

Ratenlimits

Jede Antwort enthält die Header RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (in Sekunden) und RateLimit-Policy. Für jede Route gilt ein eigenes Kontingent. Bei einer 429-Antwort kommt zusätzlich Retry-After. Warte nicht erst darauf. Anhand des Restwerts kannst du die Anfragen frühzeitig 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), während der API-Vertrag von v1 bestehen bleibt. Erweiterungen (neues optionales Feld, neue Route, neuer Enum-Wert) erfolgen innerhalb von v1. Dein Client-Code sollte deshalb unbekannte Felder ignorieren.

Würden wir eine Route abkündigen, würde ihre Antwort den Header Deprecation: true enthalten, dazu im Header Sunset das Datum, ab dem sie nicht mehr funktioniert, und im Header Link die Details. Das Sunset-Datum liegt mindestens 180 Tage nach dem ersten Deprecation-Header. Derzeit ist nichts abgekündigt.

MCP-Server

Die Adresse des MCP-Servers ist https://api.posty.hu/mcp, die Übertragung erfolgt per Streamable HTTP. Dein Agent sieht darüber dieselben Kanäle und plant im selben Kalender wie du.

  • Schlüssel für Clients: MCP-Schlüssel mit Präfix psty_mcp_…, den du unter Einstellungen → Entwickler erstellst. REST-Schlüssel mit Präfix psty_… lehnt der MCP-Server absichtlich ab und sagt auch, warum.
  • Schlüssel für Apps: OAuth-Access-Token mit Präfix pos_…. Er läuft ab, lässt sich erneuern und gilt nur unter der Adresse, für die er ausgestellt wurde.
  • Fertige Konfigurationsblöcke für Claude, ChatGPT, Muse, Hermes und OpenClaw kopierst du unter Einstellungen → Entwickler. Anleitungen dazu findest du auf der Seite für KI-Agenten.

Kommandozeilentool

Das Paket posty-cli ist auf npm verfügbar. Installation: npm install -g posty-cli, der Befehl heißt posty. Anmeldung mit Freigabe im Browser: posty auth:login.

Zum Paket gehört eine SKILL.md, die jeden Befehl und jede Option beschreibt. Ein Agent mit Shell-Zugriff lernt daraus die Bedienung, ohne eine Webseite zu lesen. Die CLI schreibt die JSON-Antwort auf stdout, Status und Fehler auf stderr. Bei einem fehlgeschlagenen Lauf beendet sie sich mit einem Exit-Code ungleich null, damit das aufrufende Programm weiß, was passiert ist.

Webhooks

Webhooks richtest du in Posty ein. Jede Zustellung ist signiert. Die Signatur kommt im Header X-Posty-Signature, in der Form t=<unix Sekunden>,v1=<hex hmac-sha256>. Das ist absichtlich dieselbe Form wie bei Stripe, damit vorhandene Prüfbibliotheken funktionieren.

  • Die Signatur gilt für den rohen Request-Body. Wandelt dein Framework ihn zuerst in JSON um und serialisiert ihn neu, bekommst du einen anderen String, und die Prüfung scheitert.
  • Der Zeitstempel ist Teil der Signatur. Das ist der Replay-Schutz. Die Toleranz beträgt 300 Sekunden.
  • Das Signatur-Secret bekommst du beim Anlegen des Webhooks. In Posty kannst du es jederzeit neu generieren.

OAuth-Apps

Wenn du über eine App nicht dein eigenes Konto, sondern die Konten anderer verwaltest, nutzt du OAuth. Die Autorisierung erfolgt per Authorization-Code-Verfahren. Folgende Voraussetzungen sind zwingend.

  • Eine PKCE-Challenge mit S256 bei jeder Anfrage. Ein Client ohne Secret lässt sich registrieren, ohne PKCE jedoch nicht.
  • redirect_uri muss exakt mit einem Eintrag in der registrierten Liste übereinstimmen.
  • Tokens laufen ab, den Refresh-Token rotieren wir. Wir speichern sie nur in gehashter Form.
  • Der Token gilt nur für die Scopes, denen der Nutzer zugestimmt hat. Bei jedem Aufruf werden diese Berechtigungen zusätzlich auf die aktuelle Rolle des Nutzers beschränkt. Eine Herabstufung greift ab dem nächsten Aufruf.
  • Eine App kann nur von einem Mitglied des Arbeitsbereichs mit der Rolle SUPERADMIN freigegeben werden.

Zugang und erste Schritte

Den gesamten Ablauf erledigst du selbst. Du musst weder mit dem Vertrieb sprechen noch eine Demo anfragen.

  • Du registrierst dich auf /regisztracio. Die Registrierung ist kostenlos.
  • Du verknüpfst deine Social-Media-Konten über den üblichen OAuth-Ablauf.
  • Du legst unter Einstellungen → Entwickler einen Schlüssel an: API-Schlüssel für REST-API und CLI, MCP-Schlüssel für den Chat-Client.
  • Jeder Tarif beginnt mit einer kostenlosen Testphase von 7 Tagen. Zum Start benötigen wir eine Bankkarte. Während der Testphase buchen wir nichts ab, heute werden 0 Ft fällig. Du kannst jederzeit vor ihrem Ende kündigen. Die Preise findest du in der Preisübersicht.

Maschinenlesbar

Wenn du einen Agenten entwickelst, werte nicht das HTML aus. Jede öffentliche Seite der Website gibt es auch als Markdown: Hänge .md an den Pfad an. Die Startseite findest du unter /index.md.

Produktüberblick
OpenAPI-Beschreibung
Vollständige Seitenliste
Diese Seite als Markdown
Preise in maschinenlesbarer Form

Wenn du nicht weiterkommst

Schreib an [email protected] oder nutze das Formular auf der Seite Hilfe. An Werktagen antworten wir in der Regel innerhalb eines Tages.

Für Entwickler

Verbinde deinen Agenten mit deinem Kalender

Du registrierst dich, verknüpfst deine Konten und legst den Schlüssel selbst unter Einstellungen an. Dafür musst du nicht mit dem Vertrieb sprechen.

Kostenlose Testphase starten
7 Tage gratis · heute 0 Ft fällig · jederzeit kündbar