Game Dev Events

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.

Warning!
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 event

ancestor 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 with startDate.

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 website

steamUrl 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.