Start a sign-in with Steam or Discord
const url = 'https://api.gampeon.com/v1/auth/steam/start';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"mode":"login","nonce":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.gampeon.com/v1/auth/steam/start \ --header 'Content-Type: application/json' \ --data '{ "mode": "login", "nonce": "example" }'Returns the address to send the browser to. The provider redirects back to the portal with state (and code for Discord, openid.* parameters for Steam), and the portal completes the sign-in with POST /v1/auth/{provider}/callback. The sign-in is valid for 10 minutes and can be used once.
mode: "link" connects the provider to the account you are logged in with (portal session required; access tokens are refused).
Not available with access tokens.
Rate limit: 30 per 15 minutes per IP.
Authorizations
Section titled “Authorizations”- None
- session
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Sign-in provider
Sign-in provider: steam or discord
Request Bodyrequired
Section titled “Request Bodyrequired”object
login: log in or sign up. link: connect to your account.
Random value (22 to 128 characters A-Z a-z 0-9 _ -) that the client keeps in the browser session and sends again with the callback. Binds the sign-in to the browser that started it.
Responses
Section titled “Responses”Address at the provider
object
Unix time in milliseconds
Example generated
{ "url": "https://example.com", "expiresAt": 1}Error codes: invalid_field
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: unauthorized
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: token_not_allowed
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: provider_unavailable
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Limit: 30 per 15 minutes per IP. Error codes: rate_limited
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}