# Student Portal 4EU+ API

**Canonical:** https://apis.io/apis/university-of-warsaw/sp4eu-api/  
**Provider:** University of Warsaw — https://apis.io/providers/university-of-warsaw/  
**Base URL:** https://api.sp4eu.uw.edu.pl  
**Documentation:** https://sp4eu.uw.edu.pl/

Student Portal 4EU+ API is one of 17 APIs that [University of Warsaw](https://apis.io/providers/university-of-warsaw/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 2 JSON Schema definitions. Tagged areas include Course Catalog, Mobility, Student Services, 4EU+ Alliance, and OpenAPI. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 2 JSON Schemas.

The REST API behind the Student Portal 4EU+, the shared student services portal of the 4EU+ European University Alliance, built and operated by the University of Warsaw. It publishes its own springdoc-generated OpenAPI 3.1 (74 paths, 44 schemas) at /v3/api-docs and serves Swagger UI at the API root. Resources cover the alliance course catalogue and syllabi, mobility options, housing, tutorials, person roles, profiles and student documents. Read endpoints such as GET /api/v1/Tutorial answer anonymously; Admin and User surfaces need a bearer token from /access/login, and the portal authenticates users against the University of Warsaw SAML IdP. Operator evidence: servers[0] is https://api.sp4eu.uw.edu.pl, the build info at /system/build reports group pl.edu.uw.dsk.sp4eu, and the SP's eduGAIN registration names University of Warsaw as the entity organisation.

## Operations (60 of 91)

| Method | Path | Summary |
|---|---|---|
| PUT | `/api/v1/MobilityOptionHome/ApplicationProcedure/Content` | Ustawianie procedury aplikacji dla uniwersytetu |
| PUT | `/api/v1/Admin/Tutorial/{tutorialId}` | Aktualizacja tutorialu |
| DELETE | `/api/v1/Admin/Tutorial/{tutorialId}` | Usunięcie tutorialu z relacjami |
| PUT | `/api/v1/Admin/RegistrationInfo/{courseRegistrationInfoId}` | Aktualizacja informacji o rejestracji |
| GET | `/api/v1/Admin/MobilityOption/{id}` | Czytanie informacji o opcji mobilności z podanym id |
| PUT | `/api/v1/Admin/MobilityOption/{id}` | Aktualizacja opcji mobilności |
| DELETE | `/api/v1/Admin/MobilityOption/{id}` | Usuwanie opcji mobilności |
| GET | `/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure` | Czytanie procedury aplikacji dla opcji mobilności po id |
| PUT | `/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure` | Ustawianie procedury aplikacji |
| DELETE | `/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure` | Usuwanie procedury aplikacji dla opcji mobilności po id |
| GET | `/api/v1/Admin/CourseCertificate/{documentId}` | Wyświetlanie danych konkretnego certyfikatu. |
| PUT | `/api/v1/Admin/CourseCertificate/{documentId}` | Aktualizacja danych certyfikatu. |
| DELETE | `/api/v1/Admin/CourseCertificate/{documentId}` | Usunięcie certyfikatu (wraz z powiązanymi plikami). |
| GET | `/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}` | Wyświetlanie danych pliku. |
| PUT | `/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}` | Aktualizacja danych pliku. |
| DELETE | `/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}` | Usunięcie pliku. |
| PUT | `/api/v1/Admin/Course/{courseId}` | Aktualizacja kursu |
| PUT | `/api/v1/Admin/Course/{courseId}/Syllabus/{courseSyllabusId}` | Aktualizowanie sylabusa kursu |
| PUT | `/api/v1/Admin/Course/{courseId}/Profile` | Aktualizacja profilu dla kursu |
| GET | `/api/v1/Profile` | Listowanie danych o profilach niezależnie od pola is_publicly_visible |
| POST | `/api/v1/Profile` | Dodawanie profilu |
| GET | `/api/v1/PersonRole` | — |
| POST | `/api/v1/PersonRole` | — |
| DELETE | `/api/v1/PersonRole` | — |
| GET | `/api/v1/HousingOption` | Listowanie danych o opcjach zakwaterowania (z paginacją - odata). |
| POST | `/api/v1/HousingOption` | Dodanie nowej opcji zakwaterowania. |
| POST | `/api/v1/HousingOption/{id}/File/Upload` | Dodanie pliku dla opcji zakwaterowania o podanym id. |
| GET | `/api/v1/Admin/Tutorial` | Listowanie danych o tutorialach |
| POST | `/api/v1/Admin/Tutorial` | Dodawanie tutorialu |
| GET | `/api/v1/Admin/RegistrationInfo` | Pobranie informacji o rejestracjach. |
| POST | `/api/v1/Admin/RegistrationInfo` | Dodawanie informacji o rejestracji |
| POST | `/api/v1/Admin/MobilityOption` | Utworzenie opcji mobilności wraz z artykułem i powiązaniem |
| GET | `/api/v1/Admin/Course` | Listowanie danych o kursach. |
| POST | `/api/v1/Admin/Course` | Dodawanie kursu |
| GET | `/api/v1/Admin/CourseCertificate` | Wyświetlanie listy danych wszystkich certyfikatów. |
| POST | `/api/v1/Admin/CourseCertificate` | Dodanie certyfikatu (bez załączonego pliku). |
| POST | `/api/v1/Admin/CourseCertificate/{documentId}/File` | Dodanie pliku. |
| POST | `/api/v1/Admin/Course/{courseId}/Syllabus` | Dodawanie sylabusa kursu |
| POST | `/api/v1/Admin/Course/ReadFromFile` | czytanie kursów z pliku xls i xlsx |
| POST | `/api/v1/Admin/Course/Import` | Importowanie kursu |
| POST | `/api/v1/Admin/Course/Export/SubjectIds` | Eksport wybranych kursów do pliku xlsx na podstawie subjectIds. |
| POST | `/api/v1/Admin/Course/Export/CourseIds` | Eksport wybranych kursów do pliku xlsx na podstawie courseIds. |
| GET | `/system/git` | — |
| GET | `/system/build` | — |
| GET | `/saml2/service-provider-metadata` | — |
| GET | `/saml2/idp` | available idps |
| GET | `/principal` | Principal bez mapowania atrybutów. Zwraca dokładnie te atrybuty, które utrzymujemy z IDP (Identity Provider). |
| GET | `/principal/edugain` | Principal z zamapowanymi wybranymi atrybutami w kontekście edugaina. |
| GET | `/principal/authenticated` | authenticated |
| GET | `/api/v1/User/Document` | — |
| GET | `/api/v1/User/Document/{documentId}` | — |
| GET | `/api/v1/User/Document/{documentId}/Download` | Pobranie powiązanych plików jako zip |
| GET | `/api/v1/Tutorial` | Listowanie danych o tutorialach (z paginacją - odata). |
| GET | `/api/v1/Tutorial/{id}` | Pobranie danych o tutorialu o podanym id. |
| GET | `/api/v1/Profile/{id}` | Czytanie profilu z podanym id |
| GET | `/api/v1/Profile/All` | Listowanie danych o profilach |
| GET | `/api/v1/PersonRole/{id}` | — |
| GET | `/api/v1/PersonRole/SearchPerson` | — |
| GET | `/api/v1/PersonRole/SearchPerson/{personId}` | Czytanie informacji o osobie |
| GET | `/api/v1/MobilityOption` | Listowanie danych o opcjach mobilności (z paginacją - odata). |

…and 31 more operations. They are listed in full on the page.

## Machine-readable artifacts (8)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/university-of-warsaw/refs/heads/main/openapi/university-of-warsaw-sp4eu-api-openapi.yml
- **OpenAPI** — https://api.sp4eu.uw.edu.pl/v3/api-docs
- **Documentation** — https://api.sp4eu.uw.edu.pl/
- **Website** — https://sp4eu.uw.edu.pl/
- **x-errors** — https://raw.githubusercontent.com/api-evangelist/university-of-warsaw/refs/heads/main/errors/university-of-warsaw-spring-error-envelope.yml
- **x-example** — https://raw.githubusercontent.com/api-evangelist/university-of-warsaw/refs/heads/main/examples/university-of-warsaw-sp4eu-tutorial-example.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/university-of-warsaw/refs/heads/main/json-schema/university-of-warsaw-sp4eu-tutorial-schema.json
- **JSONSchema** — https://raw.githubusercontent.com/api-evangelist/university-of-warsaw/refs/heads/main/json-schema/university-of-warsaw-sp4eu-course-schema.json

## Other University of Warsaw APIs (12)

- [Dane Badawcze UW Research Data Repository REST API](https://apis.io/apis/university-of-warsaw/rdr-rest/)
- [Dane Badawcze UW OAI-PMH Endpoint](https://apis.io/apis/university-of-warsaw/rdr-oai-pmh/)
- [University of Warsaw apiref API](https://apis.io/apis/university-of-warsaw/university-of-warsaw-apiref-api/)
- [University of Warsaw apisrv API](https://apis.io/apis/university-of-warsaw/university-of-warsaw-apisrv-api/)
- [University of Warsaw calendar API](https://apis.io/apis/university-of-warsaw/university-of-warsaw-calendar-api/)
- [University of Warsaw courses API](https://apis.io/apis/university-of-warsaw/university-of-warsaw-courses-api/)
- [University of Warsaw fac API](https://apis.io/apis/university-of-warsaw/university-of-warsaw-fac-api/)
- [Jaskier API](https://apis.io/apis/university-of-warsaw/jaskier-api/)
- [ReIn UW Institutional Repository REST API](https://apis.io/apis/university-of-warsaw/rein-uw-rest/)
- [ReIn UW OAI-PMH Endpoint](https://apis.io/apis/university-of-warsaw/rein-uw-oai-pmh/)
- [University of Warsaw SAML Identity Provider (eduGAIN / PIONIER.Id)](https://apis.io/apis/university-of-warsaw/saml-idp/)
- [DataCite DOI Registration (REPOD / REPOD.DBUW)](https://apis.io/apis/university-of-warsaw/datacite-membership/)

## Tags

Course Catalog, Mobility, Student Services, 4EU+ Alliance, OpenAPI

---

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