Create a project
const url = 'https://api.gampeon.com/v1/projects';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"slug":"example","title":"example","tagline":"example","description":"example","genre":"roleplay","status":"concept","tags":["example"],"languages":["en"],"links":{"discord":"example","youtube":"example","x":"example","twitch":"example","tiktok":"example","steam":"example"},"website":"example","studio":"example","published":true}'};
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/projects \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "slug": "example", "title": "example", "tagline": "example", "description": "example", "genre": "roleplay", "status": "concept", "tags": [ "example" ], "languages": [ "en" ], "links": { "discord": "example", "youtube": "example", "x": "example", "twitch": "example", "tiktok": "example", "steam": "example" }, "website": "example", "studio": "example", "published": true }'A project is the public page of a game. With studio, the project belongs to that studio (owners and admins only). New projects are drafts that only the team sees, until they are published (published: true here or later with a change). At most 20 projects per account and 50 per studio.
Access tokens: scope projects:write.
Rate limit: 10 per hour per account.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Line breaks allowed
Default: development. playtest from older clients counts as beta
Up to 10 lowercase tags (a-z, 0-9, -, max. 24 characters each).
Up to 10 languages (ISO 639-1)
Links besides the website: Discord invite, YouTube channel, X, Twitch, TikTok profile, Steam store page. Only https://. In a change, an empty string removes a link.
object
Website. Only https:// URLs, empty string removes it.
Studio slug (optional)
Publish right away. Needs a tagline and an about text with at least 100 characters. Default: draft
Responses
Section titled “Responses”Project created
object
Development stage, in this order: concept, development, alpha, beta, released
Languages of the game (ISO 639-1), up to 10
Players on linked servers that are online
Linked servers that are online
Linked marketplace items with at least one free version
Accounts that marked the project as a favorite
Page views (counted once per visitor and day, the team not included)
Unix time in milliseconds
Unix time in milliseconds
Example
{ "genre": "roleplay", "status": "concept", "languages": [ "en" ], "owner": { "type": "studio" }}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: insufficient_scope, token_not_allowed, forbidden, studio_hidden
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: studio_not_found
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: slug_taken, project_limit_reached
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: publish_requirements
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: 10 per hour 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"}