Approve a sign-in for the launcher
const url = 'https://api.gampeon.com/v1/auth/launcher/approve';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"challenge":"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/launcher/approve \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "challenge": "example" }'Called by the portal page that the launcher opens in the system browser, after you confirm that you want to sign in to the launcher. Returns a one-time code that the portal hands to the launcher with the link gampeon://auth?code=…&state=…. The code is valid for 2 minutes and only together with the secret verifier behind challenge, which never leaves the launcher (PKCE, RFC 7636, method S256).
Not available with access tokens.
Rate limit: 20 per 15 minutes per account.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
BASE64URL(SHA-256(verifier)) without padding, 43 characters
Example generated
{ "challenge": "example"}Responses
Section titled “Responses”One-time code
object
One-time code, 43 characters
Unix time in milliseconds
Example generated
{ "code": "example", "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"}Limit: 20 per 15 minutes per account. 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"}