Reports API
Schneller Zugriff auf die Daten, die wirklich zählen

Pyx ist keine Blackbox. Unsere API ermöglicht strukturierten Zugriff auf alle relevanten Plattformdaten und lässt sich zuverlässig in Ihre bestehende IT Landschaft integrieren. Strukturierte Compliance Daten können sicher abgerufen und nahtlos in ERP Systeme, Dashboards oder automatisierte Workflows überführt werden.

Klare Endpunkte und konsistente JSON Antworten sorgen für eine einfache, stabile Integration. - Kein geschlossenes System, kein Vendor Lock in.

1 · Schnellüberblick

Was es kann

  • Reports auf Abruf direkt aus der eigenen Anwendung
  • Eine einfache Sicherheitsregel – ein einzelner Bearer-Token, ausgestellt von Ihrer App
  • Durchgehend standardisiert – OpenAPI 3.1, reines JSON
  • Integrierte Paginierung für einfache Nutzung langer Listen
  • Klare Fehlercodes statt kryptischer Meldungen

Warum es Ihnen hilft

  • Keine Wartezeiten: Alle verbundenen Systeme haben 24/7-Zugriff
  • Ihr Team behält die volle Kontrolle – kein separates Login oder zusätzliche Passwörter
  • Funktioniert mit allen modernen Sprachen, Frameworks oder BI-Tools
  • Reaktionsschnelle UIs – auch bei tausenden Reports
  • Schnelleres Debugging, weniger Support-Tickets
2 · Deep Dive
Base URL
				
					https://frontend.local/api

				
			
Auth
				
					Authorization: Bearer <FRONTEND_PROVIDED_TOKEN>

				
			
Die API akzeptiert jedes JWT, das Ihr Frontend ausstellt. Es gibt keine serverseitige Ablauf- oder Refresh-Logik – Token-Lifetime und Rotation liegen komplett bei Ihnen.
2.1 · Endpunkte
Verb & PathPurposeSuccessCommon errors
GET /reports/{id} Fetch the full JSON payload for one report.200{ data: {…} }401 Unauthenticated, 404 Not found
GET /reports?page=1&per_page=25List reports (paginated).200{ data: [ … ], meta: { page, per_page, total } }401 Unauthenticated

Alle anderen Pfade erben den Sicherheitsmechanismus BearerAuth, wie in der OpenAPI 3.1-Spezifikation definiert
(siehe components.securitySchemes.BearerAuth).

2.2 · response shape
				
					{
  "data": {
    "id": "abc123",
    "title": "NorthPoly P5508",
    "created_at": "2025-07-09T08:15:30Z",
    "data": { /* arbitrary nested KPI structure */ }
  }
}

				
			
Bei Aufrufen von Listenendpunkten erhalten Sie zusätzlich:
				
					"meta": {
  "page": 2,
  "per_page": 25,
  "total": 100
}

				
			
2.3 · Schema referenz

ReportTransformer (Ausschnitt)

FieldTypeNotes
idstringPrimary key
titlestringHuman-readable title
created_atstring (data-time)ISO-8601
dataobjectYour custom metrics
2.4 · Fehlerkatalog
StatusBody
401{"message":"Unauthenticated"}
404{"error":{"code":"not_found","message":"Report not found"}}
Validation{ "message": "Validation error", "errors": { field: ["msg"] } }
2.5 · Beispielaufrufe

Shell (cURL)

				
					curl -X GET "https://frontend.local/api/reports?page=2&per_page=10" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

				
			

JavaScript (Fetch)

				
					const res = await fetch("https://frontend.local/api/reports/abc123", {
  headers: {
    Authorization: `Bearer ${token}`,
    Accept: "application/json",
  },
});
if (!res.ok) throw new Error(res.statusText);
const { data } = await res.json();

				
			
3 · Warum Entwickler das gut finden
  • Drop-in ready: Funktioniert direkt mit Axios, Fetch, Postman oder jedem OpenAPI-kompatiblen Client
  • Vorhersehbarer Footprint: Nur zwei Endpunkte – alles andere läuft über Pagination oder Path-Parameter
  • Überall typisiert: Die OpenAPI-3.1-Spezifikation erlaubt automatisches Generieren von TS-Interfaces oder PHP-DTOs in Sekunden
  • Zero Lock-in: Reines HTTP+JSON – Migration oder Erweiterung ohne Refactoring der Downstream-Consumer