Saltar al contenido

API ​

La API de la app web está hecha con API Platform y habla JSON-LD bajo /api. La documentación interactiva está en agent-tools.elkuku.dev/api/docs; los administradores encuentran un token para su botón Authorize en su página de perfil.

Autenticación ​

Cada petición excepto GET /api/links necesita un token de ID de Google emitido para el cliente OAuth Web:

http
Authorization: Bearer <Google ID token>

Las cuentas de Google desconocidas se registran como usuarios en su primera petición. Los errores son application/problem+json con un detail, incluido el 401 de un token ausente o no válido.

Endpoints ​

MétodoRutaQué
GET/api/meEl usuario con sesión iniciada: ID, identificador, rol, nombre de agente, avatar, medallas especiales, partes visibles, sincronización con Bannergress.
PATCH/api/meJSON merge patch (application/merge-patch+json) del nombre de agente, las medallas especiales, las partes visibles y la sincronización con Bannergress.
GET/api/agent-statsLas estadísticas propias del usuario, todas, las más recientes primero.
GET/api/agent-stats/{id}Una de las estadísticas del usuario.
POST/api/agent-statsGuardar estadísticas (201; 409 para la misma fecha y hora; 422 para estadísticas de otro agente).
GET, POST/api/timeline-eventsLos eventos propios de la línea de tiempo del usuario; añadir uno.
PATCH, DELETE/api/timeline-events/{id}Cambiar o eliminar un evento propio (422 para viajes que se superponen).
GET/api/done-bannersLos banners completados del usuario.
PATCH/api/done-banners/{id}Fijar el día en que se completó un banner propio.
GET/api/agentsLos agentes que muestran su perfil.
GET/api/agents/{agentName}Un agente con las partes que muestra (404 si es privado).
GET/api/usersAdministradores: cada usuario con lo que muestra.
GET/api/linksLa lista de enlaces: secciones con sus enlaces (title, url, description). Sin token; en caché una hora.

Guardar estadísticas ​

El cuerpo tiene los nombres de columna de agent_stat de 4e-website:

json
{
  "datetime": "2026-10-19 15:35:56",
  "nickname": "TestAgent",
  "faction": "Enlightened",
  "level": 16,
  "ap": 243517130,
  "explorer": 27659,
  "…": "…"
}
shell
curl -X POST https://agent-tools.elkuku.dev/api/agent-stats \
  -H "Authorization: Bearer $ID_TOKEN" \
  -H "Content-Type: application/ld+json" \
  -d @stats.json

Medallas especiales ​

GET y PATCH /api/me llevan las medallas especiales en el formato de 4e-website:

json
{ "anomaly": { "orion": "platinum" }, "annual": { "voyager": 5 }, "event": { "…": "…" } }

Un PATCH reemplaza los grupos que envía y conserva los demás.

AgentTools no está afiliado a Niantic Spatial ni a Ingress.