amator.app
API pública + n8n

El endpoint

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

Envía un cuerpo JSON y la clave en la cabecera X-API-KEY (no Authorization: Bearer).

Los nombres de los campos van en camelCase, en las peticiones y en las respuestas: clubId, createdAt. Un nombre con guion bajo, como club_id, se rechaza con 400 PUBLIC_API_SNAKE_CASE_FIELD, y la respuesta indica el campo que debes enviar en su lugar.

contentstring
el texto de la publicación, de 1 a 2000 caracteres. Obligatorio.
clubIduuid | null
el club en cuyo nombre publicas. Opcional: sin él, la publicación va a tu feed personal.
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"}'

Una publicación correcta devuelve 201 con su enlace:

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

Para publicar fotos, envía los mismos campos como multipart/form-data en lugar de JSON y añade hasta 4 archivos en photos: aparecen en el orden en que los envías. Solo texto, solo fotos o ambos: puedes omitir content si envías al menos una foto.

photosarchivo, hasta 4
JPEG, PNG o WebP, hasta 5 MB cada una. Sin vídeo.
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

Límites: 40 fotos al día por clave de API; la petición entera, como máximo 4 fotos y el texto. Es todo o nada: si algo falla, no se guarda ninguna foto y no se publica nada. Envía una cabecera Idempotency-Key (un UUID) y un reintento tras un tiempo de espera devolverá la primera publicación en lugar de publicarla dos veces.

Otras respuestas

  • 400FEED_POST_EMPTY

    El texto está vacío o es demasiado largo.

  • 400PUBLIC_API_SNAKE_CASE_FIELD

    Un nombre de campo con guion bajo, como club_id: details.fields indica el nombre en camelCase que debes enviar (clubId).

  • 401PUBLIC_API_KEY_INVALID

    Falta la clave, es desconocida o está revocada.

  • 403FEED_NOT_A_CAPTAIN

    No eres propietario ni administrador de ese club.

  • 404FEED_TEAM_NOT_FOUND

    No existe ningún club con ese clubId.

  • 429PUBLIC_API_RATE_LIMITED

    Ese destino ya tuvo una publicación en esta hora.

  • 429FEED_DAILY_LIMIT_REACHED

    Se alcanzó el límite propio del feed: 40 publicaciones al día.

  • 400PUBLIC_API_TOO_MANY_PHOTOS

    Más de 4 fotos en una publicación.

  • 400IMAGE_INVALID_FILE_TYPE

    Una foto no es JPEG, PNG ni WebP; por ejemplo, un vídeo.

  • 400IMAGE_FILE_TOO_LARGE

    Una foto supera los 5 MB.

  • 400PUBLIC_API_MULTIPART_INVALID

    No se puede leer el formulario: un archivo fuera de photos o un campo enviado dos veces.

  • 413PUBLIC_API_BODY_TOO_LARGE

    La petición es mayor que 4 fotos y el texto.

  • 429PUBLIC_API_PHOTO_DAILY_LIMIT

    Esta clave de API ya ha publicado sus 40 fotos de las últimas 24 horas.

En esta página