post
/auth/loginLogin account
Authenticate with a password and either email (or login on email instances) or login (a username on username instances). Returns authentication token if credentials are valid and MFA is not required. If MFA is enabled, returns a ticket for MFA verification. Requires a solved captcha challenge (X-Captcha-Token).
login_user
Request body
application/json
json
{
"type": "object",
"properties": {
"email": {
"description": "Email address for authentication. Send this or login, not both",
"$ref": "#/components/schemas/EmailType"
},
"login": {
"description": "Sign-in identifier. An email address on email instances, a username on username instances",
"type": "string"
},
"password": {
"description": "Account password",
"$ref": "#/components/schemas/PasswordType"
},
"invite_code": {
"description": "Guild invite code to join after login",
"type": [
"string",
"null"
]
}
},
"required": [
"password"
]
}Responses
200
Success
json
{
"anyOf": [
{
"$ref": "#/components/schemas/AuthTokenWithUserIdResponse"
},
{
"type": "object",
"properties": {
"mfa": {
"type": "boolean",
"const": true,
"description": "Indicates MFA is required to complete authentication"
},
"ticket": {
"type": "string",
"description": "MFA ticket to use when completing MFA verification"
},
"allowed_methods": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed MFA methods"
},
"totp": {
"type": "boolean",
"description": "Whether TOTP authenticator MFA is available"
},
"webauthn": {
"type": "boolean",
"description": "Whether WebAuthn security key MFA is available"
},
"backup_codes": {
"type": "boolean",
"description": "Whether the account has at least one unconsumed backup code"
}
},
"required": [
"mfa",
"ticket",
"allowed_methods",
"totp",
"webauthn",
"backup_codes"
],
"additionalProperties": false
}
]
}400
Bad Request - The request was malformed or contained invalid data
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}429
Too Many Requests - You are being rate limited
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
},
"retry_after": {
"type": "number",
"description": "Seconds to wait before retrying"
},
"global": {
"type": "boolean",
"description": "Whether this is a global rate limit"
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}500
Internal Server Error - An unexpected error occurred
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Machine-readable error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"description": "Field-specific validation errors",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Field path that failed validation"
},
"code": {
"description": "Machine-readable validation error code",
"type": "string"
},
"message": {
"type": "string",
"description": "Human-readable validation error message"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}