TALQENDocs

Errors

All integrator errors use a single envelope. Messages are safe for clients; internal details are never exposed.

Error shape

Error envelopejson
{
  "error": {
    "code": "unauthenticated",
    "message": "Invalid API key.",
    "requestId": "..."
  }
}

Optional details may appear for validation issues or rate limit metadata such as retryAfterSeconds. Successful JSON responses also include an X-Request-Id header.

Verified error codes

HTTPCodeMeaning
400invalid_requestMalformed JSON, missing required headers, or schema validation failure.
401unauthenticatedMissing or invalid API key, environment mismatch, or revoked credential.
403permission_deniedAuthenticated but lacking scope, universe not allowed, or Discord guild mismatch.
404not_foundResource not found, or staff/Roblox identity not linked.
409conflictIdempotency key reused with a different payload, or conflicting shift state.
422unprocessableBusiness rule violation (timestamps, shift status, duration limits).
429rate_limitedToo many requests. Response may include Retry-After.
500internal_errorUnexpected server error. Message is always generic.
403discord_integration_not_connectedDiscord is not connected for this workspace.
403discord_guild_mismatchX-Discord-Guild-Id does not match the connected binding.
403discord_integration_suspendedDiscord integration is suspended.
403discord_integration_revokedDiscord integration has been revoked.
404discord_user_unlinkedNo staff profile is linked to the acting Discord user.
404roblox_user_unlinkedStaff profile has no linked Roblox identity.
403feature_not_enabledRequested feature is not enabled for the workspace.