Skip to content
GAMPEONCreate
New project

Approve a sign-in for the launcher

POST
/v1/auth/launcher/approve
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.

Media typeapplication/json
object
challenge
required

BASE64URL(SHA-256(verifier)) without padding, 43 characters

string
/^[A-Za-z0-9_-]{43}$/

Example generated

{
"challenge": "example"
}

One-time code

Media typeapplication/json
object
code
required

One-time code, 43 characters

string
expiresAt
required

Unix time in milliseconds

integer format: int64

Example generated

{
"code": "example",
"expiresAt": 1
}

Error codes: invalid_field

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: unauthorized

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: token_not_allowed

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Limit: 20 per 15 minutes per account. Error codes: rate_limited

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Report a problem with this pageOther ways to give feedback