JSON version of the OpenAPI spec / Swagger for the Eventor API: openapi.yml.
You can browse the Swagger UI for this spec, but it will not work because of CORS. You can use it to browse and create cURL commands that you can execute in your own terminal. Or you could import the OpenAPI spec into Postman and make your calls from there.
What is Eventor? Eventor is the event system for orienteering races in different countries, so if you want to arrange an orienteering event, you will probably register it in your local Eventor system to make other people see it and for them to register to your event (and where you can upload results after the event is done).
To use the Eventor API, you need an API key.
The different Eventor websites are:
Add /api/documentation
to either of the URLs to get the documentation for that
particular Eventor website (the documentation is also included in the OpenAPI
specification).
I have previously manually assembled
an OpenAPI spec for the Eventor API
with the XML content in mind. I have also previously converted the IOF v3 XSD
into a
JSON Schema
with Jackson (see repo
iof-orienteering-data-schemas).
So I followed a guide on how to
convert JSON schema to OpenAPI spec, using the
openapi-contrib/json-schema-to-openapi-schema
JavaScript library. This gave me a new file containing the IOF v3 JSON Schema as
an OpenAPI spec. Then I copied this into the components
section of the
existing OpenAPI spec, and started using the correct $ref
s for request bodys
and responses.
- Almost all data returned from the API is specified in IOF JSON schema v3, see this and XML version of the same spec in orienteering-oss/iof-orienteering-data-schemas
- Java helper library for converting XML from Eventor to JSON objects (and back): orienteering-oss/iof-xml. It is actually this library that does the converting behind the scenes for this version of the API.
- GraphQL version of the Eventor API: mikaello/eventor-graphql-api