Open Education API

The Open Education API (OEAPI, formerly OOAPI) is an open REST API standard for exchanging education data — institutions, programmes, courses, offerings, persons and results — between educational institutions, students and suppliers. It was created by a community of Dutch universities, colleges (MBO, HBO, WO) and suppliers, facilitated by SURF and supported via the Npuls programme. OEAPI is a specification rather than a hosted, queryable API: institutions implement their own endpoints from the published OpenAPI specification, with use cases including RIO and eduXchange. Source: https://oeapi.eu/ (fetched 2026-10-09).

Open Education API publishes 29 API contracts indexed on the APIs.io network, including academic sessions API, Associations API, Buildings API, and 26 more. Tagged areas include Company, Education, Higher Education, Open Standards, and Interoperability.

The Open Education API catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

Open Education API’s developer surface includes changelog, authentication, documentation, API reference, getting-started guide, support, and 24 more developer resources.

41.0/100 developing Agent 26/100 agent aware Full breakdown ↓
scored 2026-10-09 · rubric v0.23.0
3 published contracts
CompanyEducationHigher EducationOpen StandardsInteroperabilitySpecificationsNetherlands

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-10-09 · rubric v0.23.0
Regulatory Posture applies to this provider. Its tags matched the Education & Research regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero: never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and several others — scorable at all.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/open-education-api: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 29

Individual APIs this provider publishes, each with its own machine-readable definition.

Open Education API academic sessions API

The academic sessions API provides information about the different time periods a programme can be offered.

Open Education API Associations API

The associations API provides information about the association between an offering and a person (e.g. students, lecturers, etc). Associations can be posted between institutions...

Open Education API Buildings API

The building API provides a building that is currently used by the organisation. It includes all location details.

Open Education API Components API

The components API provides information about components being part of parent courses.

Open Education API course offering associations API

The course offering associations API provides information about the association between a course offering and a person (e.g. students, lecturers, etc). Associations can be poste...

Open Education API course offerings API

The offerings API provides information about offerings which have a global timeframe, e.g. a period to which students can enrol.

Open Education API Courses API

The courses API provides a self-contained and formally structured learning experience, aimed at delivering defined learning outcomes to students, usually within the context of a...

Open Education API Documents API

The API for accessing and retrieving document resources.

Open Education API education specifications API

The education specification API provides information on the specification of an education object. This specification allows for other education objects to be derived from it. It...

Open Education API Groups API

The groups API provides information about groups that are related to organisations, persons and offerings. Groups of students that are related to an offering are typically used ...

Open Education API learning component offering associations API

The API for associations between persons and learning component offerings.

Open Education API learning component offerings API

The offerings API provides information about learning component offerings which have a global timeframe, e.g. a period to which students can enrol.

Open Education API learning components API

The learning components API provides information about learning activities that are part of a course (or learning component).

Open Education API learning outcomes API

The learning outcomes API provides information about the statements regarding what a learner knows, understands and is able to do on completion of a learning process, which are ...

Open Education API News API

The news API provides news feeds and items regarding a specific subject.

Open Education API Offerings API

The offerings API provides information about offerings which have a global timeframe, e.g. a period to which students can enroll.

Open Education API Organisations API

The organisations API provides the organisations that are responsible for the execution and recognition of education, either as an educational institution or as an organisation ...

Open Education API Organizations API

The organizations API provides the organizations that are responsible for the execution and recognition of education.

Open Education API Persons API

The persons API provides information about persons related to an organisation.

Open Education API programme offering associations API

The programme offering associations API provides information about the association between a programme offering and a person (e.g. students, lecturers, etc). Associations can be...

Open Education API programme offerings API

The offerings API provides information about programme offerings which have a global timeframe, e.g. a period to which students can enrol.

Open Education API Programmes API

The programmes API provides a coherent set of educational components, aimed at the realisation of competences or objectives in the field of knowledge, insight, attitudes and ski...

Open Education API Programs API

The programs API provides a coherent set of educational components, aimed at the realization of competences or objectives in the field of knowledge, insight, attitudes and skill...

Open Education API Rooms API

The rooms API provides the part of a building where an activity can take place. Including detailed information on the resources available, number of seats, etc. (Updated continu...

Open Education API service metadata API

The service API provides additional metadata needed to make the OEAPI fit for this organisation.

Open Education API test component offering association attempts API

The API for the attempts that are made by a person on a test component offering association.

Open Education API test component offering associations API

The API for associations between persons and test component offerings.

Open Education API test component offerings API

The offerings API provides information about test component offerings which have a global timeframe, e.g. a period to which students can enrol.

Open Education API test components API

The test components API provides information about test or assessment activities that are part of a course (or learning unit).

Scroll for all 29

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Open Education Api Rate Limits

0 limits

RATE LIMITS

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Open Education Api Context

67 classes · 227 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Open Education API API Rules

14 rules · 11 errors 2 warnings 1 info

SPECTRAL

Open Education API API Rules

0 rules ·

SPECTRAL

OpenAPI Overlays 2

Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.

Open Education Api Open Education Api Overlay

6 actions · update · oeapi-6.0-rc.3.yaml

GENERATED

Open Education Api Open Education Api V5 Overlay

53 actions · documentation · open-education-api-v5-openapi.yml

GENERATED

JSON Schema 10

Standalone JSON Schema definitions for this provider's data models.

AcademicSession

16 properties

JSON SCHEMA

Component

19 properties

JSON SCHEMA

Group

12 properties

JSON SCHEMA

LearningComponent

26 properties

JSON SCHEMA

LearningOutcome

16 properties

JSON SCHEMA

Organisation

18 properties

JSON SCHEMA

Organization

14 properties

JSON SCHEMA

PersonProperties

35 properties

JSON SCHEMA

Room

15 properties

JSON SCHEMA

TestComponent

31 properties

JSON SCHEMA

Scroll for all 10

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Open Education Api Authentication

http/openIdConnect · 2 schemes

SECURITY

Open Education Api Domain Security

TLSv1.3 · DNSSEC · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Open Education Api Agentic Access

153 operations · 29 acting

153 operations · 29 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 2

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 10

Pagination, idempotency, versioning, errors, and events

Scroll for all 10

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Company 1

The organization behind the API

Other 4

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: open-education-api
name: Open Education API
description: 'The Open Education API (OEAPI, formerly OOAPI) is an open REST API standard for exchanging education data —
  institutions, programmes, courses, offerings, persons and results — between educational institutions, students and suppliers.
  It was created by a community of Dutch universities, colleges (MBO, HBO, WO) and suppliers, facilitated by SURF and supported
  via the Npuls programme. OEAPI is a specification rather than a hosted, queryable API: institutions implement their own
  endpoints from the published OpenAPI specification, with use cases including RIO and eduXchange. Source: https://oeapi.eu/
  (fetched 2026-10-09).'
url: https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/apis.yml
x-type: company
x-source: harvest:spectral-ruleset-github
x-tier: profiled
x-tier-reason: enrichment pass 2026-10-09 (modular-v1; was harvest)
specificationVersion: '0.20'
created: '2026-10-09'
modified: '2026-10-09'
tags:
- Company
- Education
- Higher Education
- Open Standards
- Interoperability
- Specifications
- Netherlands
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
image: https://oeapi.eu/v6.0/_media/OpenEducationApi_Logo.png
common:
- type: AgenticAccess
  url: agentic-access/open-education-api-agentic-access.yml
- type: Spectral
  url: rules/open-education-api-specification-spectral-rules.yml
- type: Spectral
  url: rules/open-education-api-rules.yml
- type: JSONLD
  url: json-ld/open-education-api-context.jsonld
- type: Vocabulary
  url: vocabulary/open-education-api-vocabulary.yml
- type: AgentSkill
  url: skills/_index.yml
- type: DataModel
  url: data-model/open-education-api-data-model.yml
- type: ChangeLog
  url: changelog/open-education-api-changelog.yml
- type: Conventions
  url: conventions/open-education-api-conventions.yml
- type: Deprecation
  url: lifecycle/open-education-api-lifecycle.yml
- type: Lifecycle
  url: lifecycle/open-education-api-lifecycle.yml
- type: ErrorCatalog
  url: errors/open-education-api-problem-types.yml
- type: Conformance
  url: conformance/open-education-api-conformance.yml
- type: Overlay
  url: overlays/open-education-api-open-education-api-overlay.yaml
- type: Hosts
  url: hosts/open-education-api-hosts.yml
- type: Vendors
  url: vendors/open-education-api-vendors.yml
- type: SDKs
  url: packages/open-education-api-packages.yml
- type: Packages
  url: packages/open-education-api-packages.yml
- type: Authentication
  url: authentication/open-education-api-authentication.yml
- type: DomainSecurity
  url: security/open-education-api-domain-security.yml
- type: Website
  url: https://oeapi.eu/
- type: Documentation
  url: https://oeapi.eu/v6.0/
- type: APIReference
  url: https://oeapi.eu/specification/v6.0/
- type: GettingStarted
  url: https://oeapi.eu/v6.0/#/introduction/get-started
- type: ChangeLog
  url: https://oeapi.eu/v6.0/#/changelog/CHANGELOG
- type: Support
  url: https://oeapi.eu/v6.0/#/contact
- type: MailingList
  url: https://list.surf.nl/postorius/lists/oeapi.list.surf.nl
- type: GitHubOrganization
  url: https://github.com/open-education-api
- type: GitHubRepository
  url: https://github.com/open-education-api/specification
- type: SpectralRules
  url: https://github.com/open-education-api/specification/blob/32baca313e05299d6d15333622679812a80b2d9b/.spectral.yaml
apis:
- aid: open-education-api:open-education-api-academic-sessions-api
  name: Open Education API academic sessions API
  description: 'The academic sessions API provides information about the different time periods

    a programme can be offered.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - academic sessions
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-academic-sessions-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-associations-api
  name: Open Education API Associations API
  description: "The associations API provides information about the association between an offering and a person (e.g. students,\
    \ lecturers, etc).\nAssociations can be posted between institutions This requires information details on the offering\
    \ and the persons.\nTo allow for this information a complete person object and offering object can be part of the API.\n\
    The structure is explained in the following model:\n<table>\n  <tr>\n   <td></td>\n   <td colspan=3 align=center>offering</td>\n\
    \  </tr>\n  <tr>\n   <td rowspan=3>student</td>\n   <td></td>\n   <!-- <td>internal</td>\n   -->\n   <td>external</td>\n\
    \  </tr>\n  <tr>\n   <td>internal</td>\n   <!-- <td>POST <a href=\"#tag/offerings/paths/~1offerings~1{offeringId}~1associations~1external/post\"\
    >/offerings/{offeringId}/associations/me</a> local enrollment based on selected offering\n    This call will allow for\
    \ a local student using his .wellknown credentials to enroll for the offering identified by the offeringId\n    <br>Alternatively\
    \ the association can also be created through POST <a href=\"#tag/associations/paths/~1associations~1me/post\">/associations/me</a>\n\
    \   </td>\n   -->\n   <td>POST <a href=\"#tag/associations/paths/~1associations~1external~1me/post\">/associations/external/me</a>\
    \ gets student details from .wellknown at home institution. It passes offering details (provided by external institution)\
    \ to the home institution so the home institution can create a placeholder for the offering and its results. \n   </td>\n\
    \  </tr>\n  <tr>\n   <td>external</td>\n    <!--\n    <td>\n    This method is not yet implemented it requires full student\
    \ details and offering details. This would mean the \n    OOAPI message would contain more than one resource in the message.\
    \ At the moment the student mobility project is looking into\n    a sollution.\n    <br> Alternatively it could be achieved\
    \ through using two calls:\n    <ul>\n     <li>create student with POST <a href=\"#tag/persons/paths/~1persons~1{personId}/post\"\
    >/persons</a></li>\n     <li><a href=\"#tag/offerings/paths/~1offerings~1{offeringId}~1associations~1external/post\">/offerings/{offeringId}/associations/me</a></li>\n\
    \    </ul>\n    for the enrollment\n   </td>\n    -->\n   <td>no support needed</td>\n  </tr>\n</table>\nDirect update\
    \ of current information: <a href=\"#tag/associations/paths/~1associations~1{associationId}/patch\"> PATCH /associations/{associationId}</a>\n\
    This call is currently limited to passing results and a remote state. For future use other association resource information\
    \ could be passed. \nMore information on the support for student mobility can be found \n<a href=\"https://swimlanes.io/d/s5mfpj7Si\"\
    >here</a>"
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - associations
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-associations-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-buildings-api
  name: Open Education API Buildings API
  description: 'The building API provides a building that is currently used by the organisation.

    It includes all location details.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - buildings
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-buildings-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-components-api
  name: Open Education API Components API
  description: The components API provides information about components being part of parent courses.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - components
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-components-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-course-offering-associations-api
  name: Open Education API course offering associations API
  description: "The course offering associations API provides information about the association\nbetween a course offering\
    \ and a person (e.g. students, lecturers, etc).\nAssociations can be posted between institutions. This requires detailed\
    \ information\non the course offering and the persons. To allow for this information a\ncomplete person object and offering\
    \ object can be part of the API. The structure\nis explained in the following model:\n<table>\n  <tr>\n   <td></td>\n\
    \   <td colspan=3 align=center>offering</td>\n  </tr>\n  <tr>\n   <td rowspan=3>student</td>\n   <td></td>\n   <!-- <td>internal</td>\n\
    \   -->\n   <td>external</td>\n  </tr>\n  <tr>\n   <td>internal</td>\n   <td>POST <a\n     href=\"#tag/course-offering-associations/operation/createExternalCourseOfferingAssociationByopenId\"\
    >\n     /course-offering-associations/external/me</a>Retrieves student details from the well known endpoint \n     that\
    \ exposes person information at the home institution.\n     It passes offering details (provided by\n     external institution)\
    \ to the home institution so the home institution can\n     create a placeholder for the offering and its results.\n \
    \  </td>\n  </tr>\n  <tr>\n   <td>external</td>\n   <td>no support needed</td>\n  </tr>\n</table>\nDirect update of current\
    \ information: <a\n  href=\"#tag/course-offering-associations/operation/partialUpdateCourseOfferingAssociationById\">\n\
    \  PATCH /course-offering-associations/{courseOfferingAssociationId}</a>\nThis call is currently limited to passing results\
    \ and a remote state. For future\nuse other association resource information could be passed. More information on\nthe\
    \ support for student mobility can be found\n<a href=\"https://swimlanes.io/d/s5mfpj7Si\">here</a>"
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - course offering associations
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-course-offering-associations-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-course-offerings-api
  name: Open Education API course offerings API
  description: 'The offerings API provides information about offerings which have a global

    timeframe, e.g. a period to which students can enrol.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - course offerings
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-course-offerings-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-courses-api
  name: Open Education API Courses API
  description: 'The courses API provides a self-contained and formally structured learning experience,

    aimed at delivering defined learning outcomes to students, usually within the context

    of a programme.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - courses
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-courses-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-documents-api
  name: Open Education API Documents API
  description: The API for accessing and retrieving document resources.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - documents
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-documents-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-education-specifications-api
  name: Open Education API education specifications API
  description: 'The education specification API provides information on the specification of an education object.

    This specification allows for other education objects to be derived from it.

    It is used to aggregate education objects from a supplying institution.

    It clusters programs to a main educationSpecification that is used in registries such as RIO.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - education specifications
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-education-specifications-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-groups-api
  name: Open Education API Groups API
  description: "The groups API provides information about groups that are related to\norganisations, persons and offerings.\
    \ Groups of students that are related to an\noffering are typically used for rostering. The rostering application assigns\n\
    students based on these groups. For example, class 1b will be assigned to the\ncourse offering on Monday morning. Not\
    \ all groups are related to an offering. A\ngroup of people can also be a team that is working on a task outside the \n\
    scope of the OEAPI. These can be teams of students, but also teams of employees."
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - groups
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-groups-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-learning-component-offering-associations-api
  name: Open Education API learning component offering associations API
  description: The API for associations between persons and learning component offerings.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - learning component offering associations
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-learning-component-offering-associations-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-learning-component-offerings-api
  name: Open Education API learning component offerings API
  description: "The offerings API provides information about learning component offerings which \nhave a global timeframe,\
    \ e.g. a period to which students can enrol."
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - learning component offerings
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-learning-component-offerings-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-learning-components-api
  name: Open Education API learning components API
  description: 'The learning components API provides information about learning activities that

    are part of a course (or learning component).'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - learning components
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-learning-components-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-learning-outcomes-api
  name: Open Education API learning outcomes API
  description: 'The learning outcomes API provides information about the statements regarding

    what a learner knows, understands and is able to do on completion of a learning

    process, which are defined in terms of knowledge, skills and responsibility and

    autonomy.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - learning outcomes
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-learning-outcomes-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-news-api
  name: Open Education API News API
  description: The news API provides news feeds and items regarding a specific subject.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - news
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-news-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-offerings-api
  name: Open Education API Offerings API
  description: The offerings API provides information about offerings which have a global timeframe, e.g. a period to which
    students can enroll.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - offerings
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-offerings-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-organisations-api
  name: Open Education API Organisations API
  description: 'The organisations API provides the organisations that are responsible for the

    execution and recognition of education, either as an educational institution or

    as an organisation providing services, internships or facilities.'
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - organisations
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-organisations-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organization-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-room-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-group-schema.json
- aid: open-education-api:open-education-api-organizations-api
  name: Open Education API Organizations API
  description: The organizations API provides the organizations that are responsible for the execution and recognition of
    education.
  humanURL: https://oeapi.eu/specification/v6.0/
  tags:
  - organizations
  properties:
  - type: OpenAPI
    url: openapi/open-education-api-organizations-api-openapi.yml
  - type: Documentation
    url: https://oeapi.eu/v6.0/
  - type: JSONSchema
    url: json-schema/open-education-api-test-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-component-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-person-properties-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-learning-outcome-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-organisation-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-academic-session-schema.json
  - type: JSONSchema
    url: json-schema/open-education-api-component-schema.json


# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/apis.yml

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/open-education-api"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/open-education-api/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/open-education-api/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.