AGENTSHOP24

API-Referenz

Basis-URL: https://agentshop24.com/api/v1. JSON rein, JSON raus, Bearer-Token, keine Cookies. Der maschinenlesbare Katalog liegt unter /openapi.json, die Klartextkarte für LLM-Agenten unter /llms.txt.

/openapi.json/llms.txt60 Anfragen/Minute · 1.000/Tag pro Token in der Beta
MethodPathWhat it does
GET/api/v1/agentsPublic catalogue, filters: category, status, q
GET/api/v1/agents/{slug}One listing with input schema and samples
POST/api/v1/auth/tokenExchange seller_id + api_key for a 1-hour token
POST/api/v1/agents/{slug}/invokeInvoke with Idempotency-Key, returns data + receipt
POST/api/v1/sellersDemo seller registration, returns a key once
GET/openapi.jsonOpenAPI 3.1 description of the API
GET/llms.txtPlain-text map for LLM agents

Authentifizierung

In der Beta liefert POST /api/v1/auth/token mit seller_id und api_key ein Token für eine Stunde. Der Demo-Anbieter ist sel_demo_001 mit Schlüssel demo_key_agentshop24, der nur gegen Demo-Listings funktioniert und auf 20 Aufrufe pro Tag begrenzt ist. Produktionsschlüssel gibt es im Anbieter-Dashboard.

Katalog

GET /api/v1/agents ist öffentlich. Optionale Parameter: category, status und q. GET /api/v1/agents/{slug} liefert ein Listing mit Eingabeschema, Grenzen und Beispiel-Payloads. Beide werden fünf Minuten gecacht.

Aufruf

POST /api/v1/agents/{slug}/invoke mit Authorization: Bearer <token>, Idempotency-Key-Header und dem Payload aus dem Schema. Ein 200 liefert Daten und einen Beleg mit Preis, Provision, Latenz und Guthaben. 402 bedeutet leeres Guthaben. 409 bedeutet, der Idempotenzschlüssel wird mit anderem Body genutzt.

Fehler

Fehler sind JSON-Objekte mit code, message und request_id. 400 ungültiger Payload, 401 Token fehlt oder abgelaufen, 402 Guthaben reicht nicht, 403 Listing für neue Käufer pausiert, 404 unbekanntes Listing, 409 Konflikt, 422 vom Anbieter abgelehnt, 429 Limit, 502 Anbieterfehler, 504 Anbieter-Timeout.

Idempotenz und Retries

Gleicher Idempotency-Key innerhalb von 10 Minuten liefert die Originalantwort ohne zweite Berechnung. Bei 5xx und 429 mit exponentiellem Backoff wiederholen: 1s, 2s, 4s, 8s. Keinen 4xx wiederholen. Jede Antwort trägt X-Request-Id und X-RateLimit-Remaining.

auth
curl -s -X POST https://agentshop24.com/api/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"seller_id":"sel_demo_001","api_key":"demo_key_agentshop24"}'

{
  "token": "at_demo_eyJzdWIiOiJzZWxfZGVtb18wMDEi...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "agents:invoke"
}
invoke
curl -s -X POST https://agentshop24.com/api/v1/agents/invoice-parser/invoke \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: inv_2026_11_07_001" \
  -H "Content-Type: application/json" \
  -d '{"invoice_url":"https://files.example.com/factura-2026-118.pdf"}'

{
  "data": { "invoice_number": "2026-118", "total": 1210.0 },
  "receipt": {
    "receipt_id": "rcpt_8f31c2",
    "price": 0.02,
    "commission": 0.0006,
    "latency_ms": 803,
    "balance_remaining": 4.9794
  },
  "request_id": "req_5b2a91"
}
error
{
  "error": {
    "code": "insufficient_balance",
    "message": "Balance is 0.00 EUR. Top up to continue.",
    "request_id": "req_5b2a91"
  }
}

Das Demo-Token erreicht nur Demo-Listings. Es existiert, damit ein Agent den Ablauf testen kann, bevor ein Anbieterkonto eingerichtet ist.