Introduction

The WorldSkills API provides access to various resources related to WorldSkills events, people, and organizations. It is available to all WorldSkills Members. This documentation lists the available endpoints and how to use them.

Authentication

To access the API, a Bearer token is required for authentication. A token can be obtained with the OAuth 2.0 protocol. Each application needs a client ID and a client secret. Contact the WorldSkills International IT team to obtain these credentials.

Implicit Flow

The simplest authentication flow implementation is with the Implicit grant type - send the user to the following authorization URL:

https://auth.worldskills.org/oauth/authorize?response_type=token&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI

Once the user has logged in and authorized the application, they will be redirected to the redirect URI with the access token in the URL fragment:

https://example.org/callback#access_token=ABCD-EFGH-1234-5678

Authorization Code Flow

The alternative Authorization Code grant type requires the application to exchange the authorization code for an access token:

https://auth.worldskills.org/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI

An authorization code is returned to the redirect URI:

https://example.org/callback?code=1234567890

Then the application can exchange the authorization code for an access token, note that the client ID and the client secret need to be sent as Basic authentication header:

curl -X POST \
  "https://api.worldskills.org/auth/access_token" \
  -H "Authorization: Basic BASE64(CLIENT_ID:CLIENT_SECRET)" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code&code=1234567890&redirect_uri=YOUR_REDIRECT_URI"

The response will contain the access token:

{
  "access_token": "ABCD-EFGH-1234-5678",
  "token_type": "Bearer"
}

API References