Endpoint
https://api.amator.app/api/v1/public/postsWyślij body w formacie JSON, a klucz podaj w nagłówku X-API-KEY (nie Authorization: Bearer).
Nazwy pól są w camelCase, w zapytaniach i odpowiedziach: clubId, createdAt. Nazwa z podkreśleniem, np. club_id, jest odrzucana z kodem 400 PUBLIC_API_SNAKE_CASE_FIELD, a odpowiedź podaje, jakiego pola użyć zamiast niej.
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"}'
Po udanej publikacji dostajesz 201 i link do posta:
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": "…"
}
Zdjęcia
Aby opublikować zdjęcia, wyślij te same pola jako multipart/form-data zamiast JSON i dodaj do 4 plików w polu photos — pojawią się w kolejności, w jakiej je wysłano. Sam tekst, same zdjęcia albo jedno i drugie: content można pominąć, gdy wysyłasz co najmniej jedno zdjęcie.
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
Limity: 40 zdjęć dziennie na klucz API; całe zapytanie to najwyżej 4 zdjęcia i tekst. Wszystko albo nic — jeśli coś się nie powiedzie, żadne zdjęcie nie zostaje zapisane i nic nie jest publikowane. Wyślij nagłówek Idempotency-Key (UUID), a ponowienie po przekroczeniu czasu zwróci pierwszy post zamiast publikować go drugi raz.