
Loading Optiviera...
JSON · JWT Auth · Mandantenfähig
Integrieren Sie jedes System mit Optiviera über eine vollständig dokumentierte REST API. Alle Endpunkte erfordern ein JWT Bearer-Token und werden automatisch auf Ihren Mandanten beschränkt.
In drei Schritten zum ersten API-Aufruf
Senden Sie Ihre Zugangsdaten an POST /api/auth/login. Die Antwort enthält ein JWT-Token, das 24 Stunden gültig ist.
Fügen Sie das Token jeder Anfrage hinzu: Authorization: Bearer [token]
Alle Endpunkte befinden sich unter https://optiviera.com/api und antworten mit JSON. Der Mandantenkontext wird automatisch aus Ihrem Token abgeleitet.
Jede Anfrage muss ein gültiges JWT Bearer-Token vom Login-Endpunkt enthalten
curl -X POST https://optiviera.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"••••"}'{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 86400,
"tokenType": "Bearer"
}Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Alles was Sie vor Ihrem ersten Aufruf wissen müssen
Basis-URL: https://optiviera.com/api — Alle Endpunkte sind relativ zu dieser Basis-URL. Verwenden Sie immer HTTPS.
Alle Anfragen und Antworten verwenden application/json. Setzen Sie Content-Type: application/json bei Schreiboperationen.
Daten werden automatisch auf Ihre Organisation gefiltert, basierend auf der TenantId in Ihrem JWT.
Listenendpunkte unterstützen ?page=1&pageSize=20. Die Antwort enthält totalCount, page und pageSize.
Die meisten Listenendpunkte akzeptieren Query-Parameter wie ?status=Open&sortBy=createdAt&sortDir=desc.
12 Ressourcengruppen für alle Plattformmodule
/api/auth/login/api/auth/refresh/api/auth/logout/api/tickets/api/tickets/api/tickets/{id}/api/tickets/{id}/api/tickets/{id}/api/tickets/{id}/comments/api/invoices/api/invoices/api/journal-entries/api/journal-entries/api/balance-sheet/api/trial-balance/api/employees/api/employees/api/employees/{id}/api/employees/{id}/api/positions/api/departments/api/payroll/api/payroll/run/api/payroll/{id}/api/payroll/{id}/approve/api/orders/api/orders/api/quotations/api/quotations/api/customers/api/customers/api/purchase-orders/api/purchase-orders/api/suppliers/api/suppliers/api/purchase-orders/{id}/api/products/api/products/api/stock-movements/api/stock-movements/api/warehouses/api/leads/api/leads/api/contacts/api/contacts/api/pipeline-stages/api/work-orders/api/work-orders/api/work-orders/{id}/api/work-orders/{id}/api/work-orders/{id}/api/reports/tickets/api/reports/finance/api/reports/hr/api/reports/sales/api/reports/inventory/api/settings/tenant/api/settings/tenant/api/settings/users/api/sla-configs/api/sla-configsStandard HTTP-Semantik wird durchgehend konsistent verwendet
Anfrage erfolgreich. Antworttext enthält das Ergebnis.
Ressource erstellt. Antworttext enthält das neue Objekt mit ID.
Anfrage erfolgreich. Kein Antworttext (bei DELETE).
Fehlerhaft formatierte Anfrage oder fehlende Pflichtfelder.
Fehlendes, abgelaufenes oder ungültiges JWT-Token.
Gültiges Token, aber unzureichende Berechtigungen.
Ressource existiert nicht oder gehört einem anderen Mandanten.
Eingabevalidierung fehlgeschlagen. Siehe details-Array im Antworttext.
Unerwarteter Serverfehler. Kontaktieren Sie den Support mit der Anfrage-ID.
Alle Fehlerantworten folgen einer einheitlichen JSON-Struktur
Bei fehlgeschlagenen Anfragen gibt die API einen strukturierten JSON-Body zurück. Nutzen Sie das details-Array für feldspezifisches Validierungs-Feedback.
{
"status": 422,
"error": "ValidationError",
"message": "Request validation failed",
"details": [
{ "field": "email", "message": "Email is required" },
{ "field": "password", "message": "Minimum 8 characters" }
]
}Erkunden Sie die vollständige interaktive Swagger-Dokumentation oder kontaktieren Sie unser Team.