Tether Docs

Error Codes

Details on error codes returned by the HTTP API, including structure and taxonomy.


Details here focus on error codes returned by the HTTP API. For WebSocket gateway errors, see WebSocket Gateway.

Error Response Envelope

The error response envelope has the following guaranteed structure:

{
  "success": false,
  "error": {
    "code": "USER_NOT_FOUND",
    "message": "No Discord user exists with the provided ID",
    "status": 404,
    "retryable": false,
    "details": null
  }
}

Guarantees:

FieldDescription
successAlways false for errors.
error.codeStable across versions.
error.messageHuman-readable and not stable.
error.statusMirrors the HTTP status.
error.retryableAuthoritative.
error.detailsOptional and schema-dependent.

Tip

All errors are returned as JSON objects with the above structure.

Error Code Taxonomy

Errors are grouped by responsibility, not by endpoint.

Client Errors (4xx)

Client errors indicate a permanent failure unless the request is changed. These errors are never retryable.

CodeHTTP StatusMessageWhen Triggered
INVALID_REQUEST400The request is invalidMalformed or missing parameters
INVALID_USER_ID400The provided user ID is invalidInvalid user ID format
USER_NOT_FOUND404User is not being monitored by TetherUser not found

Server Errors (5xx)

Server errors indicate a temporary failure. These errors may be retryable.

CodeHTTP StatusMessageWhen Triggered
INTERNAL_ERROR500An unexpected error occurredUnhandled server error
SERVICE_UNAVAILABLE503The service is temporarily unavailableServer overload or maintenance

Example Error Response

{
  "success": false,
  "error": {
    "code": "USER_NOT_FOUND",
    "message": "User is not being monitored by Tether",
    "status": 404,
    "retryable": false,
    "details": null
  }
}

Last updated:

On this page