Introduction

This API is responsible for managing accreditation data for a WorldSkills event.

Authentication

If the resource requires authorization, a Bearer access token needs to be sent with the Authorization header:

GET /accreditation HTTP/1.1
Authorization: Bearer ABCD-EFGH-1234-5678

Key Concepts

Zones define certain areas or services to which people can have access to. An accreditation can have multiple zones.

Positions are used to categorize People - each position has a certain color and default zones. A position might be called "sub-category" in the accreditation matrix.

Each event has a unique ID that needs to be used in the API URL. The following examples use the `eventId` 12345 which needs to be replaced before using the API.

Accreditation Sync

The Sync endpoint can be used to synchronize accreditation data to a different system and make sure the information is up-to-date. An initial sync can be done to fetch all accreditations:

curl "https://api.worldskills.org/accreditation/events/12345/sync" \
  -H "Authorization: Bearer ABCD-EFGH-1234-5678" \
  -H "Accept: application/json"

To keep the data up-to-date, the sync can then be called every 2 minutes to fetch only the changes since the last sync. The last sync time is passed as a timestamp with the query parameter `since`. To make sure no changes are missed, the current time minus 3 minutes can be used for the parameter `since`. e.g. at 15:08 the following call would be made:

curl "https://api.worldskills.org/accreditation/events/12345/sync?since=2025-04-10T15:05:00Z" \
  -H "Authorization: Bearer ABCD-EFGH-1234-5678" \
  -H "Accept: application/json"

Send Scans

If accreditations are scanned by a different system as part of access control, each scan should be sent to the Accreditation API for reporting. Scans don't need to be sent in realtime, but within 5 latest.

Each scan consists of the accreditation, a timestamp of the scan, the zone for which was scanned, and if the access was allowed.

curl -X POST \
  "http://localhost:8080/accreditation/events/12345/scan" \
  -H "Authorization: Bearer ABCD-EFGH-1234-5678" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "accreditation_id": 98765,
    "zone_id": 123,
    "allowed": true,
    "timestamp": "2025-04-20T09:21:00Z"
  }'

Fetch Zones

Available zones can be fetched by calling the following endpoint:

curl "https://api.worldskills.org/accreditation/events/12345/zones" \
  -H "Authorization: Bearer ABCD-EFGH-1234-5678" \
  -H "Accept: application/json"

Loading API reference…