API docs & tech

Skill data, on tap.

Everything in the framework is available as structured data. Query it, sync it and build on top of it.

Authentication

All requests are authenticated with a bearer token obtained through the OAuth 2.0 client-credentials flow.

curl https://api.scorecard.school/v1/skills \
  -H "Authorization: Bearer $SCORECARD_TOKEN" \
  -H "Accept: application/json"

Endpoints

GET/v1/qualificationsList qualifications with their NQF/EQF level.
GET/v1/qualifications/{id}/competenciesCompetencies belonging to a qualification.
GET/v1/skillsSearch skills by label, level or ESCO concept.
GET/v1/skills/{id}/indicatorsPerformance descriptors and indicators for a skill.
POST/v1/scorecardsCreate a learner scorecard from demonstrated skills.
GET/v1/mappings/escoCrosswalk internal skill IDs to ESCO URIs.

Response shape

A skill object carries its level, parent competency, ESCO mapping and the indicators used to evidence it.

{
  "id": "skl_8f21c",
  "label": "Clinical reasoning",
  "level": { "framework": "EQF", "value": 6 },
  "competency": "cmp_142",
  "esco": "http://data.europa.eu/esco/skill/1a2b3c",
  "indicators": [
    "Selects relevant diagnostic data",
    "Justifies decisions against protocol"
  ]
}

Tech at a glance

REST + JSON.

Predictable resource URLs, cursor pagination and ISO-8601 timestamps.

OAuth 2.0.

Client-credentials flow with scoped, rotatable access tokens.

Webhooks.

Signed events when a scorecard, mapping or qualification changes.

Bulk export.

Nightly NDJSON exports for data warehouses and BI tooling.

ESCO native.

Every skill carries its ESCO URI where a mapping exists.

Versioned.

Breaking changes ship behind a new /vN prefix; older versions stay live.

Request API access.

Get sandbox credentials and the full reference.

Book a demo