amator.app
API publique + n8n

L’endpoint

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

Envoyez un corps JSON et la clé dans l’en-tête X-API-KEY (pas Authorization: Bearer).

Les noms de champs sont en camelCase, dans les requêtes comme dans les réponses : clubId, createdAt. Un nom avec un tiret bas, comme club_id, est refusé avec 400 PUBLIC_API_SNAKE_CASE_FIELD, et la réponse indique le champ à envoyer à la place.

contentstring
le texte de la publication, de 1 à 2000 caractères. Obligatoire.
clubIduuid | null
le club au nom duquel vous publiez. Facultatif — sans lui, la publication va sur votre fil personnel.
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"}'

Une publication réussie renvoie 201 avec son lien :

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

Photos

Pour publier des photos, envoyez les mêmes champs en multipart/form-data au lieu de JSON et ajoutez jusqu’à 4 fichiers dans photos — ils apparaissent dans l’ordre d’envoi. Texte seul, photos seules ou les deux : content peut être omis dès qu’au moins une photo est envoyée.

photosfichier, jusqu’à 4
JPEG, PNG ou WebP, 5 Mo maximum chacune. Pas de vidéo.
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

Limites : 40 photos par jour et par clé d’API ; la requête entière, au plus 4 photos et le texte. C’est tout ou rien : si quelque chose échoue, aucune photo n’est conservée et rien n’est publié. Envoyez un en-tête Idempotency-Key (un UUID) : une nouvelle tentative après un délai dépassé renvoie la première publication au lieu de la publier deux fois.

Autres réponses

  • 400FEED_POST_EMPTY

    Le texte est vide ou trop long.

  • 400PUBLIC_API_SNAKE_CASE_FIELD

    Un nom de champ avec un tiret bas, comme club_id — details.fields indique le nom en camelCase à envoyer (clubId).

  • 401PUBLIC_API_KEY_INVALID

    La clé est absente, inconnue ou révoquée.

  • 403FEED_NOT_A_CAPTAIN

    Vous n’êtes ni propriétaire ni administrateur de ce club.

  • 404FEED_TEAM_NOT_FOUND

    Aucun club ne correspond à ce clubId.

  • 429PUBLIC_API_RATE_LIMITED

    Cette destination a déjà reçu une publication cette heure-ci.

  • 429FEED_DAILY_LIMIT_REACHED

    La limite propre au fil, 40 publications par jour, est atteinte.

  • 400PUBLIC_API_TOO_MANY_PHOTOS

    Plus de 4 photos dans une publication.

  • 400IMAGE_INVALID_FILE_TYPE

    Une photo n’est ni JPEG, ni PNG, ni WebP — une vidéo, par exemple.

  • 400IMAGE_FILE_TOO_LARGE

    Une photo dépasse 5 Mo.

  • 400PUBLIC_API_MULTIPART_INVALID

    Le formulaire est illisible — un fichier hors de photos ou un champ envoyé deux fois.

  • 413PUBLIC_API_BODY_TOO_LARGE

    La requête dépasse 4 photos et le texte.

  • 429PUBLIC_API_PHOTO_DAILY_LIMIT

    Cette clé d’API a déjà publié ses 40 photos des dernières 24 heures.