amator.app
Public API + n8n

Der Endpoint

POSThttps://api.amator.app/api/v1/public/posts

Sende einen JSON-Body und den Schlüssel im Header X-API-KEY (nicht Authorization: Bearer).

Feldnamen sind camelCase, in Anfragen und Antworten: clubId, createdAt. Ein Name mit Unterstrich wie club_id wird mit 400 PUBLIC_API_SNAKE_CASE_FIELD abgelehnt, und die Antwort nennt das Feld, das du stattdessen senden musst.

contentstring
der Text des Beitrags, 1–2000 Zeichen. Pflichtfeld.
clubIduuid | null
der Verein, in dessen Namen du postest. Optional – ohne dieses Feld landet der Beitrag in deinem persönlichen Feed.
curl -X POST https://api.amator.app/api/v1/public/posts \
  -H "X-API-KEY: YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"content":"Training moved to 19:00 tonight"}'

Ein erfolgreicher Beitrag liefert 201 und einen Link zum Beitrag:

HTTP/1.1 201 Created

{
  "success": true,
  "data": {
    "id": "…",
    "destination": "club",
    "clubId": "00000000-0000-0000-0000-000000000000",
    "createdAt": "2026-10-05T18:00:00.000Z",
    "url": "https://amator.app/posts/…",
    "media": []
  },
  "requestId": "…"
}

Fotos

Um Fotos zu veröffentlichen, sende dieselben Felder als multipart/form-data statt JSON und füge bis zu 4 Dateien im Feld photos hinzu – sie erscheinen in der Reihenfolge, in der du sie sendest. Nur Text, nur Fotos oder beides: content kannst du weglassen, wenn du mindestens ein Foto sendest.

photosDatei, bis zu 4
JPEG, PNG oder WebP, je bis zu 5 MB. Keine Videos.
curl -X POST https://api.amator.app/api/v1/public/posts \
  -H "X-API-KEY: YOUR_API_KEY_HERE" \
  -H "Idempotency-Key: 9b2f6d4e-1c3a-4f5b-8e7d-2a1c0b9f8e7d" \
  -F content="Match day! Kick-off at 18:00" \
  -F clubId=00000000-0000-0000-0000-000000000000 \
  -F photos=@a.jpg \
  -F photos=@b.jpg

Limits: 40 Fotos pro Tag und API-Schlüssel; die ganze Anfrage höchstens 4 Fotos und der Text. Alles oder nichts – schlägt etwas fehl, wird kein Foto gespeichert und nichts veröffentlicht. Sende einen Idempotency-Key-Header (eine UUID), dann liefert ein erneuter Versuch nach einem Timeout den ersten Beitrag zurück, statt ihn ein zweites Mal zu veröffentlichen.

Weitere Antworten

  • 400FEED_POST_EMPTY

    Der Beitragstext ist leer oder zu lang.

  • 400PUBLIC_API_SNAKE_CASE_FIELD

    Ein Feldname mit Unterstrich wie club_id – details.fields nennt den camelCase-Namen, den du senden musst (clubId).

  • 401PUBLIC_API_KEY_INVALID

    Der Schlüssel fehlt, ist unbekannt oder widerrufen.

  • 403FEED_NOT_A_CAPTAIN

    Du bist weder Inhaber noch Admin dieses Vereins.

  • 404FEED_TEAM_NOT_FOUND

    Es gibt keinen Verein mit dieser clubId.

  • 429PUBLIC_API_RATE_LIMITED

    An dieses Ziel wurde in dieser Stunde schon gepostet.

  • 429FEED_DAILY_LIMIT_REACHED

    Das Tageslimit von 40 Beiträgen im Feed ist erreicht.

  • 400PUBLIC_API_TOO_MANY_PHOTOS

    Mehr als 4 Fotos in einem Beitrag.

  • 400IMAGE_INVALID_FILE_TYPE

    Ein Foto ist kein JPEG, PNG oder WebP – zum Beispiel ein Video.

  • 400IMAGE_FILE_TOO_LARGE

    Ein Foto ist größer als 5 MB.

  • 400PUBLIC_API_MULTIPART_INVALID

    Das Formular lässt sich nicht lesen – eine Datei außerhalb von photos oder ein doppelt gesendetes Feld.

  • 413PUBLIC_API_BODY_TOO_LARGE

    Die Anfrage ist größer als 4 Fotos und der Text.

  • 429PUBLIC_API_PHOTO_DAILY_LIMIT

    Dieser API-Schlüssel hat seine 40 Fotos der letzten 24 Stunden bereits veröffentlicht.

Auf dieser Seite