API

Developer API

Obolus stellt eine schlanke öffentliche API für Payroll- und Tax-Compare-Workflows bereit. MCP und OpenAPI beschreiben denselben freigegebenen Tool-Scope.

Status

Die Developer API ist bewusst schlank gehalten und deckt derzeit Payroll- und Tax-Compare-Workflows ab. Der Scope wird kontrolliert erweitert und befindet sich aktuell im Early Public Status.

MCP

Der eigentliche Remote-MCP-Transport liegt unter /api/mcp und ist für ChatGPT, Agents und andere MCP-Clients gedacht. Die JSON-Beschreibung des freigegebenen Scopes liegt getrennt unter /api/mcp-discovery.

OpenAPI

OpenAPI ist die REST-orientierte Spezifikation derselben öffentlichen Tools. Verwende /api/openapi für Swagger-kompatible Dokumentation, Client-Generierung und formale Request/Response-Schemas.

Was ist öffentlich?

Der aktuelle Public Scope umfasst Discovery über MCP und OpenAPI sowie die beiden Tools berechne und taxcompare. Cockpit-, Budget- und Invest-Interaktionen bleiben bewusst Produkt-Flow und werden nicht als Public API veröffentlicht.

Welche Schnittstelle ist für was gedacht?

Für die meisten öffentlichen Integrationen ist REST über OpenAPI plus direkter Tool-Call die richtige Wahl. MCP ist die bessere Schicht für Agenten, Tool-Runtime-Systeme und Clients, die Discovery und Invocation über einen Gateway-Ansatz brauchen.

REST + OpenAPI

Empfohlen für klassische Integrationen, Dashboards, Backend-Services, SDK-Generierung und konventionelle API-Clients.

MCP

Empfohlen für AI-Agents, Tool-Runner und Systeme, die Tool-Discovery und Invocation über eine kompakte, maschinenlesbare Beschreibung verwenden wollen.

Authentifizierung

API-Keys sind für produktive Nutzung vorgesehen und sollten in allen Requests verwendet werden, auch wenn einzelne Endpunkte aktuell noch ohne Auth erreichbar sein können. Für öffentliche Integrationen ist x-public-api-key der bevorzugte Header.

  • Bevorzugter Header: x-public-api-key: <key>
  • Alternativ unterstützt: x-api-key oder Authorization: Bearer <token>
  • OpenAPI, MCP-Discovery und der MCP-Transport können offen oder key-geschützt sein, abhängig vom jeweiligen Deployment.
  • Für stabile Integrationen sollte immer ein API-Key verwendet werden.
  • API-Keys können aktuell nicht self-service erzeugt werden; für Access und höhere Limits ist direkter Kontakt nötig.

Versionierung

Die öffentliche API wird aktuell über die Contract-Version statt über /v1-URLs versioniert. API-Version: 2.1.0. MCP-Version: 1.0.1. Nicht abwärtskompatible Änderungen werden mit einer neuen Contract-Version ausgerollt; additive Erweiterungen können innerhalb derselben Version erfolgen.

Locale und URL-Struktur

Die API selbst ist sprachneutral und lebt unter /api/..., nicht unter einem Locale-Präfix. Die /de-, /en- und /tr-Pfade gelten für die Dokumentation, nicht für die API-Endpunkte.

Rate Limits und Website-Traffic

Rate Limits gelten auf Route-Ebene und werden aktuell unabhängig von der Quelle angewendet, wenn Website-Traffic und externe API-Nutzung dieselben Endpunkte nutzen. Für taxcompare gelten aktuell 20 Requests pro 5 Minuten je Route; berechne ist großzügiger und nutzt 1000 Requests pro 5 Minuten für Cache-Misses. Cache-Hits bei berechne können vor der eigentlichen Limit-Prüfung beantwortet werden.

Wichtige Parameter

  • Unterstützte Ländercodes: DE, AT, US, CH, CA, AU, UK, IE
  • Mindestfelder für taxcompare: annual_gross, tax_year, countries, currency
  • taxcompare currency nutzt lower-case ISO-Werte wie eur, usd, chf, cad, aud, gbp
  • taxcompare gross_mode unterstützt shared_gross und local_median_gross
  • tax_year wird derzeit als String oder Integer akzeptiert, typischerweise 2026
  • berechne erwartet viele Beträge in Minor Units wie Cent

Input- und Output-Parameter

Für Suchmaschinen und die erste Orientierung reicht die Kurzfassung: dieselben Tool-Verträge decken alle unterstützten Länder ab, aber die Bedeutung einzelner Payroll-Felder unterscheidet sich je nach Steuersystem.

  • Input-Felder beschreiben denselben Request-Surface über mehrere Länder hinweg.
  • Output-Felder bleiben im Contract stabil, auch wenn ihr fachlicher Kontext je Land variiert.
  • Die vollständige Länder-Matrix bleibt interaktiv und lädt danach clientseitig nach.

Wichtige Endpunkte

/api/openapi

OpenAPI-Spezifikation (Swagger-kompatibel)

/api/mcp-discovery

JSON-Discovery für Tool-Scope, Metadaten und Docs

/api/mcp

Streamable HTTP MCP-Transport für ChatGPT und andere MCP-Clients

/api/berechne

Direkter Payroll- und Tax-Call

/api/taxcompare

Direkter Salary-Compare-Call

Quickstart

  1. API-Key anfragen, wenn du produktiv oder mit höheren Limits integrieren willst
  2. Einen Beispiel-Request unten direkt kopieren und senden
  3. Die Response prüfen und mit deinem Use Case abgleichen
  4. Details und erweiterte Felder bei Bedarf im OpenAPI-Contract unter /api/openapi nachsehen

Responses und Fehler

Erfolgsantworten verwenden kein globales ok/data-Envelope, sondern liefern direkt tool-spezifische Response-Strukturen. Für identische Inputs innerhalb derselben Contract-Version sind Responses deterministisch. Innerhalb derselben Contract-Version bleiben Response-Strukturen stabil. Fehler folgen einem schlanken JSON-Format mit error und optional details oder restricted_fields.

Beispielantwort (taxcompare, gekürzt):

{
  "results": [
    {
      "country": "DE",
      "net": 39750,
      "tax": 13000,
      "social_contributions": 7250,
      "effective_rate": 33.75,
      "input_annual_gross": 60000,
      "input_currency": "eur",
      "comparison_basis": "shared_gross"
    }
  ]
}

Fehler

Typische Fehlercodes:

  • 400 validation error
  • 401 missing or invalid key
  • 403 restricted field access
  • 429 rate limiting
  • 500 internal server error
{
  "error": "Invalid taxcompare payload.",
  "details": [
    "body.countries must contain at least 1 items."
  ]
}

Beispiele

curl -s https://www.obolusfinanz.de/api/openapi
curl -s https://www.obolusfinanz.de/api/mcp-discovery
curl -N -H "Accept: text/event-stream" https://www.obolusfinanz.de/api/mcp
curl -X POST https://www.obolusfinanz.de/api/taxcompare \
  -H "Content-Type: application/json" \
  -H "x-public-api-key: YOUR_API_KEY" \
  -d '{
    "annual_gross": 60000,
    "tax_year": "2026",
    "countries": ["DE", "AT", "AU"],
    "currency": "eur"
  }'
curl -X POST https://www.obolusfinanz.de/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-public-api-key: YOUR_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "taxcompare",
      "arguments": {
        "annual_gross": 60000,
        "tax_year": "2026",
        "countries": ["DE", "AT", "AU"],
        "currency": "eur"
      }
    }
  }'

Hinweis

MCP und OpenAPI werden aus derselben Vertragsquelle erzeugt. Diese Contract-Quelle ist die verbindliche Grundlage der öffentlichen API. Änderungen am Backend sollten immer gemeinsam mit dem öffentlichen Contract ausgeliefert werden.

API-Nutzung & Richtlinien

Die Obolus API ist bewusst einfach, offen und für reale Finanz-Tools gedacht.

Du kannst sie verwenden für:

  • persönliche Projekte
  • Prototypen und Experimente
  • interne Tools
  • öffentliche Anwendungen

Bitte beachte dabei:

  • Vermeide exzessiven automatisierten Traffic oder Missbrauch
  • Verkaufe rohe API-Outputs nicht als eigenständiges Produkt weiter
  • Nutze die API als Teil einer größeren Anwendung oder eines Workflows

Attribution

Wenn du die API in einem öffentlich sichtbaren Produkt nutzt, freuen wir uns über einen kleinen Hinweis:

Powered by Obolus

Stabilität

Die API entwickelt sich aktiv weiter. Kern-Endpunkte bleiben stabil, während Response-Strukturen sich im Detail verbessern können. Für produktive Integrationen empfehlen wir, Responses defensiv zu verarbeiten.

Support

Bei Fragen zur öffentlichen API, für API-Key-Anfragen, manuelle Freischaltung oder für höheren Durchsatz nutze bitte das Kontakt- oder Feedback-Formular auf der Website, um API-Keys zu erhalten oder Limits anzupassen.