Create an account after a sign-in with a provider
const url = 'https://api.gampeon.com/v1/auth/signup';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"ticket":"example","email":"hello@example.com","displayName":"example","handle":"example","birthMonth":"example","acceptTerms":"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/signup \ --header 'Content-Type: application/json' \ --data '{ "ticket": "example", "email": "hello@example.com", "displayName": "example", "handle": "example", "birthMonth": "example", "acceptTerms": "example" }'Creates an account connected to the provider account from the ticket. Same rules as POST /v1/accounts (minimum age 13, accepting the current terms, email confirmation), but without a password. A password can be set later with “Forgot password”. When email confirmation is off, the answer also contains a session.
Rate limit: 5 per hour per IP (shared with POST /v1/accounts).
Request Bodyrequired
Section titled “Request Bodyrequired”object
ticket from POST /v1/auth/{provider}/callback
3 to 32 letters, digits, spaces, _ or -
Optional wished handle
Birth month as YYYY-MM. Minimum age 13.
Current version from GET /v1/legal/terms. Sending it means the person accepts the Terms of Use and the Community Guidelines in that version.
Example generated
{ "ticket": "example", "email": "hello@example.com", "displayName": "example", "handle": "example", "birthMonth": "example", "acceptTerms": "example"}Responses
Section titled “Responses”Account created
object
An email with a confirmation link was sent
Only when no confirmation is needed
Unix time in milliseconds
Example generated
{ "id": 1, "email": "example", "displayName": "example", "handle": "example", "verificationRequired": true, "token": "example", "expiresAt": 1}Error codes: invalid_field, invalid_ticket
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: signup_closed, too_young
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: email_taken, handle_taken, identity_taken
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: terms_required
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: 5 per hour per IP (shared with POST /v1/accounts). 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"}