API-Dokumentation
Pressemitteilungen programmatisch erstellen, mit Bildern versehen und zur Prüfung einreichen — über die versionierte REST-API des Publisher-Hubs.
Grundlagen
Die API v1 ist ein RESTful Web Service mit JSON-Responses. Basis-URL: https://pressekonto.com/api/v1. Eine über die API angelegte Mitteilung ist immer ein Entwurf; veröffentlicht wird sie erst nach dem Einreichen über die Submit-Route und der anschließenden Inhaltsprüfung — sie erscheint dann wie jede andere Mitteilung auf beiden Portalen.
Authentifizierung
Alle Anfragen benötigen einen persönlichen API-Token als Bearer-Header: Authorization: Bearer <token>. Jeder Token trägt Berechtigungen (z. B. press-releases:write), die den Zugriff auf die jeweiligen Endpunkte steuern. Tokens erstellen und widerrufen Sie selbst in Ihrem Publisher-Konto unter „API-Tokens" — Voraussetzung ist eine aktive Buchung (Tarif oder Einzel-Pressemitteilung). Bestandskunden der Altportale: Ihre bisherigen API-Schlüssel wurden übernommen und funktionieren weiter — sowohl als Bearer-Token als auch in der alten Form (X-ApiKey-Header) und auf den dokumentierten /service/…-Pfaden. Für neue Integrationen empfehlen wir die aktuellen /api/v1/…-Endpunkte mit Bearer-Token.
Endpunkte
Pressemitteilungen
/press-releases
Eigene Mitteilungen auflisten (paginiert, filterbar über ?status= und ?per_page=, max. 100).
· Berechtigung: press-releases:read
/press-releases
Neue Mitteilung anlegen — immer als Entwurf (Status draft).
· Berechtigung: press-releases:write
/press-releases/{id}
Eine Mitteilung inkl. Firma, Rubrik und Bildern abrufen.
· Berechtigung: press-releases:read
/press-releases/{id}
Mitteilung ändern — nur im Status draft oder rejected.
· Berechtigung: press-releases:write
/press-releases/{id}/submit
Zur Inhaltsprüfung einreichen — der einzige Weg Richtung Veröffentlichung.
· Berechtigung: press-releases:write
/press-releases/{id}
Mitteilung löschen — veröffentlichte Mitteilungen sind ausgenommen.
· Berechtigung: press-releases:write
Bilder
/press-releases/{id}/images
Bilder einer Mitteilung auflisten.
· Berechtigung: press-releases:read
/press-releases/{id}/images
Bild hochladen (multipart/form-data) — nur bei draft/rejected.
· Berechtigung: press-release-images:write
/press-release-images/{imageId}
Bild entfernen — nur bei draft/rejected.
· Berechtigung: press-release-images:write
Stammdaten
/companies
Eigene Firmenprofile (Newsrooms) auflisten.
· Berechtigung: companies:read
/companies/{id}
Ein Firmenprofil abrufen.
· Berechtigung: companies:read
/categories
Aktive Rubriken inkl. Übersetzungen — liefert die category_id für neue Mitteilungen.
· Berechtigung: press-releases:read
Felder einer Pressemitteilung
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| company_id | integer | ja | ID eines eigenen Firmenprofils — bestimmt Newsroom und Portal. |
| category_id | integer | ja | Rubrik (siehe GET /categories). |
| language | string | ja | Sprachcode, zwei Zeichen: de oder en. |
| title | string | ja | Überschrift, max. 255 Zeichen. |
| text | string | ja | Inhalt. Erlaubtes HTML: p, br, h2, h3, strong, em, ul, ol, li, blockquote, a — alles andere wird entfernt. |
| backlink_url | string | — | Link zur Quelle/Website, max. 255 Zeichen. |
| keywords | string | — | Schlagworte, kommagetrennt, max. 255 Zeichen. |
| teaser_begin / teaser_end | integer | — | Zeichen-Offsets für den Teaser-Ausschnitt. |
| no_export | boolean | — | Mitteilung von Feeds/Exporten ausnehmen. |
Felder eines Bild-Uploads
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| image | file | ja | JPG, PNG oder WebP, max. 8 MB. |
| title | string | — | Bildtitel, max. 120 Zeichen. |
| description | string | — | Beschreibung, max. 500 Zeichen. |
| copyright | string | — | Urheberangabe, max. 255 Zeichen. |
| is_preview | boolean | — | Als Vorschaubild setzen (ersetzt ein vorhandenes). |
Schneller Einstieg
Der typische Ablauf: Entwurf anlegen, Bild hochladen, zur Prüfung einreichen.
# 1. Entwurf anlegen
curl -X POST https://pressekonto.com/api/v1/press-releases \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"company_id": 1,
"category_id": 2,
"language": "de",
"title": "Neue Produktankündigung",
"text": "<p>Unser neues Produkt …</p>"
}'
# 2. Bild hochladen (multipart)
curl -X POST https://pressekonto.com/api/v1/press-releases/123/images \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@pressefoto.jpg" \
-F "ai_declaration=original" \
-F "copyright=Mustermann GmbH" \
-F "is_preview=1"
# 3. Zur Inhaltsprüfung einreichen
curl -X POST https://pressekonto.com/api/v1/press-releases/123/submit \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "ai_text_declaration": "none" }'
Pflicht seit Juli 2026: Der Submit-Aufruf erklärt verbindlich den KI-Grad des Textes (ai_text_declaration: none, assisted, mostly_ai, fully_ai — Transparenzpflicht nach Art. 50 KI-VO) und schließt die Kenntnisnahme der dauerhaften Archivierung ein (AGB § 13). Jedes Bild trägt seine eigene Kennzeichnung (ai_declaration: original, ai_generated, ai_edited).
Maschinenlesbare Referenz: OpenAPI-Spezifikation (YAML).
HTTP-Statuscodes
| Code | Bedeutung |
|---|---|
| 200 / 201 / 204 | Erfolg — Abruf, Ressource erstellt bzw. gelöscht. |
| 401 | Kein oder ungültiger API-Token. |
| 402 | Einreichen erfordert eine aktive Buchung (Tarif oder Einzel-PM). |
| 403 | Token-Berechtigung fehlt oder die Ressource gehört nicht zu Ihrem Konto. |
| 409 | Statuskonflikt — z. B. Bearbeiten einer bereits veröffentlichten Mitteilung. |
| 422 | Validierungsfehler oder Kontingent-/Richtlinienverstoß (Details im Body). |
| 429 | Rate-Limit erreicht: 60 Anfragen pro Minute je Token (Header X-RateLimit-*). |
API-Token erstellen
Tokens verwalten Sie selbst im Publisher-Konto. Bei Fragen zur Anbindung hilft der Support: info@businessportal24.com