
Loading Optiviera...
JSON · JWT Auth · Multi-tenant
Integreer elk systeem met Optiviera via een volledig gedocumenteerde REST API. Alle endpoints vereisen een JWT Bearer-token en zijn automatisch beperkt tot uw tenant.
Van nul naar uw eerste API-aanroep in drie stappen
Stuur uw inloggegevens naar POST /api/auth/login. Het antwoord bevat een JWT-token dat 24 uur geldig is.
Voeg het token toe aan elk verzoek: Authorization: Bearer [token]
Alle endpoints bevinden zich onder https://optiviera.com/api en reageren met JSON. De tenantcontext wordt automatisch afgeleid van uw token.
Elk verzoek moet een geldig JWT Bearer-token bevatten dat verkregen is via het login-endpoint
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 wat u moet weten voor uw eerste aanroep
Basis-URL: https://optiviera.com/api — Alle endpoints zijn relatief aan deze basis-URL. Gebruik altijd HTTPS.
Alle verzoeken en antwoorden gebruiken application/json. Stel Content-Type: application/json in voor schrijfoperaties.
Gegevens worden automatisch gefilterd op uw organisatie via de TenantId in uw JWT.
Lijstendpoints ondersteunen ?page=1&pageSize=20. Het antwoord bevat totalCount, page en pageSize.
De meeste lijstendpoints accepteren queryparameters zoals ?status=Open&sortBy=createdAt&sortDir=desc.
12 resourcegroepen die alle modules van het platform dekken
/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-configsStandaard HTTP-semantiek wordt consistent gebruikt in de gehele API
Verzoek geslaagd. Body bevat het resultaat.
Resource aangemaakt. Body bevat het nieuwe object met ID.
Verzoek geslaagd. Geen body (gebruikt voor DELETE).
Ongeldig opgemaakt verzoek of ontbrekende verplichte velden.
Ontbrekend, verlopen of ongeldig JWT-token.
Geldig token maar onvoldoende rechten voor deze actie.
Resource bestaat niet of behoort tot een andere tenant.
Invoervalidatie mislukt. Zie de details-array in de responsebody.
Onverwachte serverfout. Neem contact op met support met het verzoek-ID.
Alle foutreacties volgen een consistente JSON-structuur
Wanneer een verzoek mislukt, retourneert de API een gestructureerde JSON-body. Gebruik de details-array voor veldniveau validatiefeedback.
{
"status": 422,
"error": "ValidationError",
"message": "Request validation failed",
"details": [
{ "field": "email", "message": "Email is required" },
{ "field": "password", "message": "Minimum 8 characters" }
]
}Verken de volledige interactieve Swagger-documentatie of neem contact op met ons team voor API-toegang.