Web authentication API

From Official Factorio Wiki
Revision as of 19:50, 3 October 2024 by Asdff45 (talk | contribs) (Update possible return codes and values)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Category: Internal API

Factorio's Web Authentication API endpoint gives you a token in exchange for your username and password, which is used by several other Factorio web API endpoints. The authentication endpoint is located at:

https://auth.factorio.com/api-login

Authentication requires sending an HTTP POST request (Content-Type: application/x-www-form-urlencoded) with these parameters:

username Required. Account username or e-mail.
password Required. Account password.
api_version Default: 1 Currently 6.
require_game_ownership Not required. If set to 'true', will fail authentication if the user account hasn't actually purchased Factorio.
email_authentication_code Not required. If a previous login failed with email-authentication-required, email authentication can be completed by including the code sent to the user via mail.

This endpoint always returns JSON encoded data.

HTTP Status codes
API-Version Success Error
<= 3 200 401
>= 4 200 200
Success json
API-Version Name Value
<= 1 [] Array of hexadecimal encoded auth tokens
>= 2 token Auth token is a hexadecimal encoded byte string
>= 2 username The username of the logged in user.
Error json
API-Version Name Value
all data Always empty object "{}"
all error Error codes like login-failed or email-authentication-required
all message A more detailed error message that can be shown to the user
<= 3 status Same value as the Status Code

Clients causing a lot of errors like login-failed will be rate limited.