Winstwaker API Referentie (v1)
Deze docs zijn afgestemd op de actuele runtime-contracten van de publieke /v1 endpoints.
Bouw je met AI? Gebruik
https://winstwaker.nl/api/developers/llms als contextbron.Authenticatie
GET /v1/healthis publiek.- Alle andere endpoints vereisen
Authorization: Bearer .... ww_live_...voor live mode,ww_test_...voor test mode.- Create POST routes vereisen altijd
Idempotency-Key.
Response Envelope
{
"ok": true,
"request_id": "uuid",
"mode": "live",
"status": "ACCEPTED | SUBMITTED | ...",
"message": "Leesbare status",
"data": {},
"breakdown": {},
"errors": null
}{
"ok": false,
"request_id": "uuid",
"mode": "live",
"status": "ERROR",
"message": "Readable message",
"data": null,
"breakdown": null,
"errors": { "code": "AUTH_INVALID_KEY", "details": {} }
}Rate Limits
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset.- Bij
429 RATE_LIMIT_EXCEEDEDwordt ookRetry-Aftermeegestuurd.
Error Codes
AUTH_MISSING_BEARER,AUTH_INVALID_KEY,AUTH_IP_NOT_ALLOWED.AUTH_SCOPE_MISSING,AUTH_KEY_MODE_MISMATCH.RATE_LIMIT_EXCEEDED.VALIDATION_MISSING_IDEMPOTENCY_KEY,VALIDATION_BLOCKED.CONFLICT_IDEMPOTENCY,REQUEST_NOT_FOUND.CREDITS_INSUFFICIENT,DIGIPOORT_SUBMIT_FAILED.
Webhook delivery voor deze developer-v1 flow is momenteel niet publiek gedocumenteerd; gebruik status-endpoints met refresh=true.
GET/v1/health
Health check (publiek)
Geeft operational of degraded terug.
- 200: service is operationeel.
- 503: service is degraded (bijv. datastore tijdelijk niet bereikbaar).
GET/v1/credits/balance
Haal creditsaldo op
Optionele query: mode=live|test. Zonder mode krijg je beide balansen.
- 200: saldo(s) opgehaald.
- Typische errors:
AUTH_MISSING_BEARER,AUTH_INVALID_KEY,RATE_LIMIT_EXCEEDED.
GET/v1/credits/events
Haal credit-events op
mode=live|test(optioneel).limit(default 25, max 100).cursorvoor paginatie.
- 200: events met
next_cursor. - Typische errors:
VALIDATION_INVALID_MODE, auth errors, rate limit errors.
GET/v1/usage/summary
Usage overzicht
Query: period=day|month (default day).
- 200: aggregatie van
successful,failed,blocked,pending. - Typische errors:
VALIDATION_INVALID_PERIOD, auth errors, rate limit errors.
POST/v1/omzetbelasting/returns
Dien omzetbelasting in
- Verplicht:
Idempotency-Key. - Gebruik
ob_nummerofobNummer. - Gebruik
periodeinYYYY-Q[1-4]ofyear+quarter. - Input via
vatData/vat_dataof quickstart metomzet+btw_hoog.
- 202 bij succesvolle submit, 200 bij idempotent replay.
- Typische errors:
VALIDATION_MISSING_IDEMPOTENCY_KEY,VALIDATION_BLOCKED,CONFLICT_IDEMPOTENCY,CREDITS_INSUFFICIENT,DIGIPOORT_SUBMIT_FAILED.
GET/v1/omzetbelasting/returns/{requestId}
BTW status opvragen
refresh=true|false(default true).- Response bevat endpoint-status, Digipoort metadata en eventuele errorcontext.
- 200 bij gevonden request, 404 met
REQUEST_NOT_FOUNDals request onbekend is.
POST/v1/dividendbelasting/returns
Dien dividendbelasting in
- Verplicht:
Idempotency-Key. - Verplicht:
distributionDate,grossDividend,dividendTax,netDividend. - Verplicht:
withholdingEntityName,withholdingEntityRsin,beneficiaries[]. - 202 bij succesvolle submit, 200 bij idempotent replay.
- Typische errors:
VALIDATION_BLOCKED,CONFLICT_IDEMPOTENCY,CREDITS_INSUFFICIENT,DIGIPOORT_SUBMIT_FAILED.
GET/v1/dividendbelasting/returns/{requestId}
Dividend status opvragen
refresh=true|false(default true).- Response bevat Digipoort metadata inclusief
digipoort_kenmerken statussen. - 200 bij gevonden request, 404 met
REQUEST_NOT_FOUNDals request onbekend is.