amator.app
Публічний API + n8n

Ендпоінт

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

Надішліть тіло запиту в JSON, а ключ передайте в заголовку X-API-KEY (не Authorization: Bearer).

Назви полів — у camelCase, у запитах і відповідях: clubId, createdAt. Назву з підкресленням, як-от club_id, буде відхилено з кодом 400 PUBLIC_API_SNAKE_CASE_FIELD, а відповідь назве поле, яке треба надіслати натомість.

contentstring
текст поста, від 1 до 2000 символів. Обов’язкове поле.
clubIduuid | null
клуб, від імені якого публікуєте. Необов’язкове — без нього пост з’явиться у вашій стрічці.
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"}'

Успішна публікація повертає 201 і посилання на пост:

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": "…"
}

Фото

Щоб опублікувати фото, надішліть ті самі поля як multipart/form-data замість JSON і додайте до 4 файлів у полі photos — вони з’являться в тому порядку, в якому ви їх надіслали. Лише текст, лише фото або все разом: content можна не передавати, якщо надіслано хоча б одне фото.

photosфайл, до 4
JPEG, PNG або WebP, до 5 МБ кожне. Без відео.
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

Обмеження: 40 фото на добу на один API-ключ; увесь запит — щонайбільше 4 фото і текст. Усе або нічого: якщо щось не вдалося, жодне фото не зберігається і нічого не публікується. Надішліть заголовок Idempotency-Key (UUID) — і повтор після тайм-ауту поверне перший пост замість того, щоб опублікувати його вдруге.

Інші відповіді

  • 400FEED_POST_EMPTY

    Текст поста порожній або задовгий.

  • 400PUBLIC_API_SNAKE_CASE_FIELD

    Назва поля з підкресленням, як-от club_id: details.fields називає поле в camelCase, яке треба надіслати (clubId).

  • 401PUBLIC_API_KEY_INVALID

    Ключа немає, він невідомий або відкликаний.

  • 403FEED_NOT_A_CAPTAIN

    Ви не власник і не адміністратор цього клубу.

  • 404FEED_TEAM_NOT_FOUND

    Клубу з таким clubId не існує.

  • 429PUBLIC_API_RATE_LIMITED

    У це місце вже публікували цієї години.

  • 429FEED_DAILY_LIMIT_REACHED

    Вичерпано денний ліміт стрічки — 40 постів на день.

  • 400PUBLIC_API_TOO_MANY_PHOTOS

    Понад 4 фото в одному пості.

  • 400IMAGE_INVALID_FILE_TYPE

    Фото не у форматі JPEG, PNG чи WebP — наприклад, відео.

  • 400IMAGE_FILE_TOO_LARGE

    Фото більше за 5 МБ.

  • 400PUBLIC_API_MULTIPART_INVALID

    Форму не вдається прочитати — файл поза photos або поле, надіслане двічі.

  • 413PUBLIC_API_BODY_TOO_LARGE

    Запит більший за 4 фото і текст.

  • 429PUBLIC_API_PHOTO_DAILY_LIMIT

    Цей API-ключ уже опублікував свої 40 фото за останні 24 години.

На цій сторінці