Errors

Error response shape, common codes, and rate-limit notes.

Management API errors use a JSON envelope with a stable code where the backend can classify the failure.

{
  "success": false,
  "code": "VALIDATION_ERROR",
  "message": "Request does not match the schema"
}

Common codes

HTTPCodeMeaning
400VALIDATION_ERRORRequest query, body, or params do not match the schema.
400bad_requestThe request is syntactically valid but missing an action-specific field or invalid for the resource.
401unauthDashboard session is missing or invalid.
401api_key_invalidManagement API key is missing, malformed, unknown, or hash verification failed.
401api_key_expiredManagement API key is past its expiration time.
401api_key_revokedManagement API key has been revoked.
403insufficient_scopeThe key does not include the scope required by the route or action.
403application_forbiddenThe key is restricted away from the requested application.
403session_requiredThe route accepts only dashboard session authentication.
404not_foundThe requested application or related resource was not found for the account.
429rate_limit_reachedA global or route-specific rate limit was exceeded.
500INTERNAL_ERRORUnhandled server error. The message contains an error id.

Validation errors

Schema validation currently returns the generic message:

{
  "success": false,
  "code": "VALIDATION_ERROR",
  "message": "Request does not match the schema"
}

Check the route reference for exact field names, accepted enum values, and required query parameters.

Rate limits

The backend has a global rate limit. Some routes add tighter limits:

RouteLimit
POST /api/v1/panel/api-keys10 creates per hour. Session-only.
PATCH /api/v1/panel/update-api-keys2 application runtime key rotations per hour.

Search parameters

Table endpoints accept searchParams as a JSON string. URL-encode the JSON before placing it in the query string.

{
  "searchString": "john",
  "categories": ["Login"]
}

If the JSON is malformed or uses an unsupported category, the route can return VALIDATION_ERROR or a table response with no matches, depending on where parsing is performed.

On this page