Game Dev Events API
The idea of GDE is to create an accessible and open community anyone can contribute to.
Therefore I decided to implement
a public API as soon as possible to grant access to the data of this
site programmatically and feed it into other sites, apps, bots, feeds or whatever you like.
This project is in an early stage. The API documentation is incomplete and the API itself may be subject to change.
Use at your own risk for now!
Introduction and basics
The GDE API is a RESTFUL API.
All reading data endpoints (except those who are user-related) can be accessed without any authentication.
Endpoints that create, update or delete information need to be accessed with an authentication header (see below).
Authentication
The GDE API uses API keys to authenticate certain requests. Requests which require auth have a yellow note in the header of the example box.
Send your API key in the HTTP Authentication
header as a Bearer token
.
This is an example using the JavaScript fetch()
method:
const yourApiToken = "1iuebeorfenlgho1orhn"; // This is just an example token
const response = await fetch("https://api.gamedevevents.com/v1/events/", {
method: "POST",
headers: {
"Authentication": `Bearer ${yourApiToken}`
}
});
const result = await response.json();
Create an Event
This will create a new event object. Based on your user level, the event either needs to be approved by another user, or will be published right away.
Parameters
title REQUIRED
The title of the eventancestor optional
The ID of the predecessor in case of an recurring event, for example last years' event object.startDate REQUIRED
ISO formatted start date and/or time of the event. You can either submit a fully formatted ISO date, or partial data if the exact time is not yet known.These values are valid as well:
2022
, 2022-09
, 2022-09-01
endDate REQUIRED
Same logic as withstartDate
.
submissionStart optional
ISO formatted start date and/or time of when the submission window opens. Can also have partial date information, in case the exact time is not yet known.submissionEnd
REQUIRED
with submissionStart
Partial ISO date string again.
submissionUrl
REQUIRED
with submissionStart
URL of where to find more information or submit the submission.
description optional
A descriptive text for the event. Markdown is supported.website optional
URL of the events websitesteamUrl optional
If the event also has a steam event, provide it here, or pass"tba"
if the URL is not yet
known.
steamFrontpageFeature
REQUIRED
with steamUrl
Pass true
if the steam event will receive a steam front page feature. If its not yet known,
you can pass null
, otherwise false
.
location optional
If the event is (also) happening in a physical location, pass the address as string. This is basically free form.costNote optional
Any note about the events cost or lack thereof.costItems optional
One or more cost item objects describing one or more different participation cost.tags REQUIRED
One or more tags to apply to the event. Please note that there are certain tags which are applied automatically by the system and cannot be added manually. Those tags will be ignored by the system.languages REQUIRED
One or more languages to apply to the event. Please add at least the main language the event is being held in.Fetch details of an event
This endpoint returns all details of a single event object.
The endpoint is called with the GET
method and requires
the specific event id as URL parameter.
Fetch list of events
This endpoint returns a list of events, ordered by start date ascending.
This means the event that will start next (or is currently active and has the earliest end date/time)
will be on top.
The response is paginated and will return 25 items at max. It communicates the total amount of events
as well as next
and previous
API URLs to fetch more items.