← Alle Docs

REST API

Die REST API eignet sich für eigene Agenten, Skripte oder No-Code-Tools wie Make / n8n.

Base URL: https://humansupporter.com

Authentifizierung: Authorization: Bearer hs_dein_key_hier


Aufgabe erstellen

POST /api/v1/tasks
Authorization: Bearer hs_xxx
Content-Type: application/json

{
  "type": "buy_groceries",
  "location": "10115 Berlin",
  "payload": {
    "items": ["Brötchen x6", "Milch 1L"]
  },
  "tier": 1,
  "price": 1500
}

Response 201:

{
  "ok": true,
  "task": {
    "id": "cly123abc",
    "status": "OPEN",
    "type": "buy_groceries",
    ...
  }
}

Pflichtfelder

FeldTypBeschreibung
typestringAufgabentyp (z.B. buy_groceries, handwritten_card)

Optionale Felder

FeldTypBeschreibung
locationstringPLZ oder Adresse (für lokale Aufgaben)
lat / lngnumberKoordinaten alternativ zu location
radiusnumberSuchradius in Metern (default: 5000)
payloadobjectAufgaben-Details (frei definierbar)
tier1–4Qualifikations-Tier (default: 1)
pricenumberBudget in Cent (z.B. 1500 = 15,00 €)
expiresAtISO 8601Ablaufdatum der Aufgabe

Aufgaben auflisten

GET /api/v1/tasks
Authorization: Bearer hs_xxx

Response:

{
  "mine": [...],      // Aufgaben die ich bearbeite
  "available": [...], // Offene Aufgaben von anderen
  "placed": [...]     // Aufgaben die ich erstellt habe
}

Aufgabe abrufen

GET /api/v1/tasks/{id}
Authorization: Bearer hs_xxx

Optionaler Query-Parameter: ?audit=1 → gibt zusätzlich den Audit-Log zurück.


Aufgabe stornieren

PATCH /api/v1/tasks/{id}
Authorization: Bearer hs_xxx
Content-Type: application/json

{ "action": "cancel" }

Guthaben prüfen

GET /api/v1/account
Authorization: Bearer hs_xxx

Response:

{
  "balance": 4250,   // verfügbares Guthaben in Cent
  "reserved": 1500,  // in Escrow gesperrte Mittel
  "total": 5750      // Summe
}

Status-Codes

CodeBedeutung
200/201Erfolg
400Ungültige Anfrage (fehlende Felder)
401Nicht authentifiziert
402Unzureichendes Guthaben
403Keine Berechtigung
404Nicht gefunden
409Konflikt (z.B. falscher Status für Aktion)
500Serverfehler