Skip to content
GAMPEONCreate
New project

Create an account

POST
/v1/accounts
curl --request POST \
--url https://api.gampeon.com/v1/accounts \
--header 'Content-Type: application/json' \
--data '{ "email": "hello@example.com", "displayName": "example", "handle": "example", "password": "example", "birthMonth": "example", "acceptTerms": "example" }'

Creates an account. Without a wished handle, one is derived from the display name. When email is active, the account must confirm its address before the first login.

The minimum age is 13. Under 16, stricter privacy defaults apply (see GET /v1/me/social-settings). The birth month is only visible to the account itself.

acceptTerms must be the current version from GET /v1/legal/terms: the person has to agree to the Terms of Use and the Community Guidelines (links in that answer). The Privacy Policy is information, not consent.

Rate limit: 5 per hour per IP.

Media typeapplication/json
object
email
required
string format: email
<= 254 characters
displayName
required

3 to 32 letters, digits, spaces, _ or -

string
>= 3 characters <= 32 characters
handle

Optional wished handle

string
/^$|^[a-z0-9_]{3,24}$/
password
required

Password, 10 to 200 characters

string
>= 10 characters <= 200 characters
birthMonth
required

Birth month as YYYY-MM. Minimum age 13. Self-declared, only visible to the account itself.

string
/^\d{4}-(0[1-9]|1[0-2])$/
acceptTerms
required

Current version from GET /v1/legal/terms. Sending it means the person accepts the Terms of Use and the Community Guidelines in that version.

string
<= 40 characters

Example generated

{
"email": "hello@example.com",
"displayName": "example",
"handle": "example",
"password": "example",
"birthMonth": "example",
"acceptTerms": "example"
}

Account created

Media typeapplication/json
object
id
required
integer
email
required
string
displayName
required
string
handle
required
string
verificationRequired
required

An email with a confirmation link was sent

boolean

Example generated

{
"id": 1,
"email": "example",
"displayName": "example",
"handle": "example",
"verificationRequired": true
}

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: signup_closed, too_young

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: email_taken, handle_taken

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: terms_required

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: 5 per hour per IP. 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