Two Minute Reports Logo
API Reference

Errors

The Two Minute Reports API error envelope, status codes, and machine-readable error codes.

When a request fails, the API returns the standard envelope with success: false and an error object:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "name: String must contain at least 1 character(s)"
  }
}
  • code — a stable, machine-readable string. Branch on this in your code rather than parsing the message.
  • message — a human-readable description. For validation and business-rule errors it is specific; for authentication, authorization, and server errors it is intentionally generic to avoid leaking internal details.

Status codes

HTTP statuscodeWhen it happens
400BAD_REQUESTInvalid input — failed request validation or a business-rule violation
401UNAUTHORIZEDMissing, malformed, expired, or revoked token
403FORBIDDENAuthenticated, but lacking the required team role or access
403INSUFFICIENT_PERMISSIONSThe API key lacks the scope the endpoint requires — the message names the missing scope
404NOT_FOUNDThe resource does not exist or is not visible to you
409CONFLICTConflicts with current state (e.g. a duplicate invite)
413PAYLOAD_TOO_LARGERequest body exceeds the size limit
422VALIDATION_ERRORSemantic validation failure
429TOO_MANY_REQUESTSRate limit exceeded
402PAYMENT_REQUIREDThe team's plan is cancelled — reactivate to make changes
500INTERNAL_SERVER_ERRORAn unexpected error on our side

Examples

{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid UUID: \"abc\""
  }
}
Copyright © 2026