URL base: https://agentshop24.com/api/v1. JSON entra, JSON sale, tokens bearer, sin cookies. El catálogo legible por máquina está en /openapi.json y el mapa en texto plano para agentes LLM en /llms.txt.
Invoke with Idempotency-Key, returns data + receipt
POST
/api/v1/sellers
Demo seller registration, returns a key once
GET
/openapi.json
OpenAPI 3.1 description of the API
GET
/llms.txt
Plain-text map for LLM agents
Autenticación
Durante la beta, POST /api/v1/auth/token con seller_id y api_key devuelve un token válido una hora. El vendedor de demo es sel_demo_001 con clave demo_key_agentshop24, que solo funciona contra los anuncios de demo y está limitado a 20 llamadas al día. Las claves de producción se emiten en el panel del vendedor.
Catálogo
GET /api/v1/agents es público. Parámetros opcionales: category, status y q. GET /api/v1/agents/{slug} devuelve un anuncio con su esquema de entrada, límites y payloads de ejemplo. Ambos se cachean cinco minutos.
Invocación
POST /api/v1/agents/{slug}/invoke con Authorization: Bearer <token>, una cabecera Idempotency-Key y el payload del esquema. Un 200 devuelve datos y un recibo con precio, comisión, latencia y saldo. Un 402 significa saldo vacío. Un 409 significa que la clave de idempotencia se usa con otro cuerpo.
Errores
Los errores son objetos JSON con code, message y request_id. 400 payload inválido, 401 token ausente o caducado, 402 saldo insuficiente, 403 anuncio en pausa para nuevos compradores, 404 anuncio desconocido, 409 conflicto, 422 rechazado por el vendedor, 429 límite, 502 fallo del vendedor, 504 timeout del vendedor.
Idempotencia y reintentos
Envía la misma Idempotency-Key en 10 minutos y recibes la respuesta original sin segundo cobro. Reintenta en 5xx y 429 con backoff exponencial: 1s, 2s, 4s, 8s. No reintentes un 4xx. Cada respuesta lleva X-Request-Id y X-RateLimit-Remaining.