# Open Education API programme offering associations API

**Canonical:** https://apis.io/apis/open-education-api/open-education-api-programme-offering-associations-api/  
**Provider:** Open Education API — https://apis.io/providers/open-education-api/  
**Base URL:** https://demo01.eduapi.nl/v6  
**Documentation:** https://oeapi.eu/specification/v6.0/

Open Education API programme offering associations API is one of 29 APIs that [Open Education API](https://apis.io/providers/open-education-api/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 10 JSON Schema definitions. Tagged areas include programme offering associations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 10 JSON Schemas.

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 posted between institutions. This requires detailed information on the programme offering and the persons. To allow for this information a complete person object and offering object can be part of the API. The structure is explained in the following model: <table> <tr> <td></td> <td colspan=3 align=center>offering</td> </tr> <tr> <td rowspan=3>student</td> <td></td> <!-- <td>internal</td> --> <td>external</td> </tr> <tr> <td>internal</td> <!-- <td>POST <a href="#tag/offerings/paths/~1offerings~1{offeringId}~1associations~1external/post"> /offerings/{offeringId}/associations/me</a> local enrolment based on selected offering This call will allow for a local student using his well known credentials to enrol for the offering identified by the offeringId <br>Alternatively the association can also be created through POST <a href="#tag/associations/paths/~1associations~1me/post">/associations/me</a> </td> --> <td>POST <a href="#tag/course-offering-associations/operation/createExternalProgrammeOfferingAssociationByopenId"> /programme-offering-associations/external/me</a>Retrieves student details from the well known endpoint that exposes person information at the 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. </td> </tr> <tr> <td>external</td> <!-- <td> This method is not yet implemented it requires full student details and offering details. This would mean the OEAPI message would contain more than one resource in the message. At the moment the student mobility project is looking into a solution. <br> Alternatively it could be achieved through using two calls: <ul> <li>create student with POST <a href="#tag/persons/paths/~1persons~1{personId}/post">/persons</a> </li> <li> <a href="#tag/offerings/paths/~1offerings~1{offeringId}~1associations~1external/post"> /offerings/{offeringId}/associations/me</a> </li> </ul> for the enrolment </td> --> <td>no support needed</td> </tr> </table> Direct update of current information: <a href="#tag/programme-offering-associations/operation/partialUpdateProgrammeOfferingAssociationById"> PATCH /programme-offering-associations/{programmeOfferingAssociationId}</a> This call is currently limited to passing results and a remote state. For future use other association resource information could be passed. More information on the support for student mobility can be found <a href="https://swimlanes.io/d/s5mfpj7Si">here</a>

## Operations (6)

| Method | Path | Summary |
|---|---|---|
| GET | `/persons/{personId}/programme-offering-associations` | GET /persons/{personId}/programme-offering-associations |
| POST | `/programme-offering-associations/external/me` | POST /programme-offering-associations/external/me |
| GET | `/programme-offering-associations/{programmeOfferingAssociationId}` | GET /programme-offering-associations/{programmeOfferingAssociationId} |
| PUT | `/programme-offering-associations/{programmeOfferingAssociationId}` | PUT /programme-offering-associations/{programmeOfferingAssociationId} |
| PATCH | `/programme-offering-associations/{programmeOfferingAssociationId}` | PATCH /programme-offering-associations/{programmeOfferingAssociationId} |
| GET | `/programme-offerings/{programmeOfferingId}/programme-offering-associations` | GET /programme-offerings/{programmeOfferingId}/programme-offering-associations |

## Machine-readable artifacts (12)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/openapi/open-education-api-programme-offering-associations-api-openapi.yml
- **Documentation** — https://oeapi.eu/v6.0/
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-test-component-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-learning-component-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-person-properties-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-learning-outcome-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-organisation-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-academic-session-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-component-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-organization-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-room-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/open-education-api/refs/heads/main/json-schema/open-education-api-group-schema.json

## Other Open Education API APIs (12)

- [Open Education API academic sessions API](https://apis.io/apis/open-education-api/open-education-api-academic-sessions-api/)
- [Open Education API Associations API](https://apis.io/apis/open-education-api/open-education-api-associations-api/)
- [Open Education API Buildings API](https://apis.io/apis/open-education-api/open-education-api-buildings-api/)
- [Open Education API Components API](https://apis.io/apis/open-education-api/open-education-api-components-api/)
- [Open Education API course offering associations API](https://apis.io/apis/open-education-api/open-education-api-course-offering-associations-api/)
- [Open Education API course offerings API](https://apis.io/apis/open-education-api/open-education-api-course-offerings-api/)
- [Open Education API Courses API](https://apis.io/apis/open-education-api/open-education-api-courses-api/)
- [Open Education API Documents API](https://apis.io/apis/open-education-api/open-education-api-documents-api/)
- [Open Education API education specifications API](https://apis.io/apis/open-education-api/open-education-api-education-specifications-api/)
- [Open Education API Groups API](https://apis.io/apis/open-education-api/open-education-api-groups-api/)
- [Open Education API learning component offering associations API](https://apis.io/apis/open-education-api/open-education-api-learning-component-offering-associations-api/)
- [Open Education API learning component offerings API](https://apis.io/apis/open-education-api/open-education-api-learning-component-offerings-api/)

## Tags

programme offering associations

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/open-education-api/open-education-api-programme-offering-associations-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/open-education-api/.
