Introducing the Foojay.io Calendar API

We are excited to share that Foojay is growing and offering additional resources to bring the Java and OpenJDK community together on a global scale.

Several months ago, we launched the Foojay Calendar, an interactive platform that allows individuals to propose Java-related and Kotlin-related and any other OpenJDK-related events and add them to the calendar.

All Foojay members are welcome to submit their events. Once reviewed, the event will be included in the calendar.

Although many users loved the idea, several organizations that provide their own event platforms reached out to us and asked if they could integrate their own events database into our calendar directly.

During our latest collaborations, we integrated events from JUG Switzerland, thanks to Patrick Baumgartner, and Adoptium with the Eclipse Foundation, thanks to Carmen Delgado.

We have expanded our API capabilities and now allow anyone to send their own events.

Our hope is that this change will keep the OpenJDK community engaged and informed about relevant events happening worldwide.

How to add your events

We welcome inquiries from organizations interested in connecting with us.

You can reach us at hello@foojay.io or via Foojay Slack.

If you have events to share but lack development capabilities, our team is happy to assist with integration setup.

1. Registering as an External Source and Getting an API Key

Other organizations that want to use our API directly and send events via an endpoint can follow the instructions below.

To get started, you’ll need to register your source and create a unique API key in the WP admin. Please note that at this time, only Contributors and Admins have permission to complete this step. If you don’t fall into either of these categories, please reach out to us so we can grant you the necessary permissions.

Go to Events -> Sources.

Share additional information about your organization, including its name, description, and details about the types of events it will provide.

Generate a unique API key. You can use services like https://api-key.me/ or https://www.lastpass.com/ to generate secure keys.

Press “Add new source” and copy your API key & generated slug.

2. Working with an API endpoint

Now you can work with our endpoint.

Endpoint: https://foojay.io/wp-json/foojay/v2/calendar/

Method: POST

The endpoint is used to create new events on the Foojay Calendar. Any newly added events will be saved as drafts and will be published only after approval by the website administrator.

To send data to the endpoint, use the FormData format.

Below is an example of adding a new event in Postman:

Mandatory fields are marked with an asterisk (*).

The ‘source’ field is used along with a custom HTTP header to restrict the external sources from which events can be added.

To add your API key, use the “calendar-key” HTTP header. Make sure you have already generated an API key and source name, which should have been provided by the Foojay admin.

3. Responses

Once the event has been successfully added, you’ll receive a 201 code and event ID:

If there is an issue, you will receive a response with a 4xx code:

Example on the Frontend

Below is a description of the API fields and their corresponding elements on the front-end.

Example Based on an Existing Event

The following is a real imported event provided by https://adoptium.net/:

If you encounter any problems or have any questions, please reach out to us at hello@foojay.io or on the Foojay Slack.

The post Introducing the Foojay.io Calendar API appeared first on foojay.