Error Codes

Complete reference of error codes returned by the Reports Service API.

Error Response Format

All errors follow the standard EventZR envelope format with structured error objects.

Error response examplejson
{
  "data": null,
  "error": {
    "code": "ERR_REPORTS_TEMPLATE_NOT_FOUND",
    "message": "Report template with ID 'abc123' not found",
    "http": 404
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "service": "reports-svc",
    "timestamp": "2026-02-24T19:00:00.000Z"
  }
}

Error Code Reference

CodeHTTPDescription
ERR_REPORTS_NOT_FOUND404Report template, export, or schedule not found
ERR_REPORTS_TEMPLATE_NOT_FOUND404Report template does not exist
ERR_REPORTS_EXPORT_NOT_FOUND404Export job does not exist
ERR_REPORTS_SCHEDULE_NOT_FOUND404Scheduled report does not exist
ERR_REPORTS_WEBHOOK_NOT_FOUND404Webhook registration not found
ERR_REPORTS_DELIVERY_NOT_FOUND404Webhook delivery record not found
ERR_REPORTS_DUPLICATE409Resource already exists (duplicate name/slug)
ERR_REPORTS_TEMPLATE_ARCHIVED409Template is archived and cannot be modified
ERR_REPORTS_EXPORT_ALREADY_COMPLETED409Export job already completed, cannot cancel
ERR_REPORTS_EXPORT_NOT_FAILED409Only failed exports can be retried
ERR_REPORTS_VALIDATION_FAILED400DTO validation failed
ERR_REPORTS_INVALID_TEMPLATE400Template configuration is invalid
ERR_REPORTS_INVALID_CRON400Invalid cron expression for schedule
ERR_REPORTS_INVALID_FORMAT400Unsupported export format (use csv, xlsx, pdf, json)
ERR_REPORTS_FILE_TOO_LARGE400Report output exceeds maximum file size
ERR_REPORTS_QUOTA_EXCEEDED429Daily or monthly report generation quota exceeded
ERR_REPORTS_RATE_LIMITED429Too many requests, rate limit exceeded
ERR_REPORTS_UNAUTHORIZED401Missing or invalid JWT token
ERR_REPORTS_FORBIDDEN403Insufficient permissions for this operation
ERR_REPORTS_SUBSCRIPTION_REQUIRED403Feature requires higher subscription tier
ERR_REPORTS_BOOTSTRAP_FAILED503Service is still initializing, please retry
ERR_REPORTS_GENERATION_FAILED500Report generation failed (rendering/data error)
ERR_REPORTS_S3_UPLOAD_FAILED500Failed to upload report to S3
ERR_REPORTS_WEBHOOK_DELIVERY_FAILED500Webhook delivery failed after all retries
ERR_REPORTS_AI_NARRATIVE_FAILED500AI narrative generation failed

HTTP Status Code Summary

StatusMeaningWhen
200OKSuccessful GET, PUT, DELETE, or toggle operations
201CreatedResource created (template, schedule, webhook)
202AcceptedExport job queued for background processing
400Bad RequestValidation failure, invalid parameters
401UnauthorizedMissing or expired JWT token
403ForbiddenInsufficient role or subscription tier
404Not FoundResource does not exist
409ConflictDuplicate resource or invalid state transition
429Too Many RequestsRate limit or quota exceeded
500Internal ErrorGeneration failure, S3 error, AI error
503Service UnavailableLambda bootstrap in progress