Skip to content

Error Codes

Maintained by: Aether365 Team Audience: Developers and IT administrators Scope: Complete reference of Aether365 API error codes

All API errors return a consistent JSON structure:

json
{
  "success": false,
  "error": {
    "code": "SNAKE_CASE_ERROR_CODE",
    "message": "Human-readable description",
    "details": {}
  }
}

Authentication

CodeHTTPMeaningFix
AUTH_MISSING_TOKEN401No Authorization header in the requestInclude Authorization: Bearer <token> in every request
AUTH_INVALID_TOKEN401JWT could not be verifiedCheck that the token is not malformed or truncated
AUTH_EXPIRED_TOKEN401JWT has expiredObtain a new token by signing in again or refreshing the session
AUTH_INSUFFICIENT_SCOPE403The authenticated account does not have permission for this actionVerify you are using an account with the required role

Authorisation

CodeHTTPMeaningFix
TENANT_ACCESS_DENIED403Request attempted to access another tenant's dataThis should never occur in normal use - contact support if you see this
AUTH_INSUFFICIENT_SCOPE403Insufficient permissions for this actionVerify you are using an account with the required role

Tenant

CodeHTTPMeaningFix
TENANT_NOT_FOUND404No tenant account exists for this userCreate an account at app.aether365.io
TENANT_NOT_CONNECTED400Microsoft 365 admin consent has not been completedConnect a tenant via Settings > Connections

Scans

CodeHTTPMeaningFix
SCAN_NOT_FOUND404Scan ID does not exist or belongs to another tenantCheck the scan ID
SCAN_ALREADY_RUNNING409A scan is already in progress for this tenantWait for the current scan to complete
SCAN_PLAN_LIMIT_REACHED429Scan quota exhaustedWait until the next billing period or contact support
SERVICE_UNAVAILABLE503Platform is in maintenance modeCheck status and try again when maintenance ends

Connections

CodeHTTPMeaningFix
CONNECTION_NOT_FOUND404Connection ID does not existCheck the connection ID
CANNOT_REMOVE_LAST_CONNECTION409Cannot remove the only remaining connectionAdd another connection before removing this one

Team Members

CodeHTTPMeaningFix
MEMBER_LIMIT_REACHED429Member limit reachedContact support to add more members
MEMBER_ALREADY_EXISTS409Email already has an active or pending invitationCheck the current member list

Scheduled Scans

CodeHTTPMeaningFix
SCAN_PLAN_LIMIT_REACHED429Custom schedule limit reachedDelete an existing schedule or contact support

Validation

CodeHTTPMeaning
VALIDATION_ERROR400Request body or query parameter is invalid. The details field lists the specific invalid fields.

Server Errors

CodeHTTPMeaningFix
INTERNAL_ERROR500Unexpected server errorRetry the request. If the error persists, contact support with the request ID from the response headers.

Rate Limits

When you exceed the API rate limit, the API returns:

json
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Retry after 60 seconds."
  }
}

HTTP status: 429 Too Many Requests Header: Retry-After: 60

Current rate limits: 120 requests per minute per API key.

Was this page helpful?