How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Student Portal 4EU+ API

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.

Student Portal 4EU+ API is one of 17 APIs that University of Warsaw publishes on the 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.

This API exposes 91 operations across 74 paths, organized into 12 resource areas, and defines 44 schemas. It is described by OpenAPI 3.1.0, at version v0.

Requests are made against a single base URL, https://api.sp4eu.uw.edu.pl.

91 operations 74 paths 44 schemas 7 DELETE59 GET15 POST10 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v0
Base URL
https://api.sp4eu.uw.edu.pl
Authentication
API Key
Resource Areas
12

Authentication & Security 1

Student Portal 4EU+ API declares 1 security scheme for authenticating requests. An API key is passed in the header as Authorization (Authorization).

Paths & Operations 91

Across 74 paths, the API surfaces 91 operations — 7 DELETE, 59 GET, 15 POST, 10 PUT. They span 12 resource areas, including MobilityOptionHome, Admin, Profile, PersonRole, HousingOption, System, Saml2, Principal, and 4 more. Each is listed below with its method, path, parameters, and response codes.

MobilityOptionHome 2

MobilityOptionHome resources of the Student Portal 4EU+ API

PUT
/api/v1/MobilityOptionHome/ApplicationProcedure/Content
Ustawianie procedury aplikacji dla uniwersytetu
setContentEnHost 1 param body → 200
GET
/api/v1/MobilityOptionHome/ApplicationProcedure
Pobranie procedur aplikacji dla uniwersytetu.
getHomeApplicationProceduresForOption 1 param → 200
Admin 52

Admin resources of the Student Portal 4EU+ API

PUT
/api/v1/Admin/Tutorial/{tutorialId}
Aktualizacja tutorialu
updateTutorial 1 param body → 200
DELETE
/api/v1/Admin/Tutorial/{tutorialId}
Usunięcie tutorialu z relacjami
removeTutorial 1 param → 200
PUT
/api/v1/Admin/RegistrationInfo/{courseRegistrationInfoId}
Aktualizacja informacji o rejestracji
updateCourseRegistrationInfo 1 param body → 200
GET
/api/v1/Admin/MobilityOption/{id}
Czytanie informacji o opcji mobilności z podanym id
getMobilityOption4euById 1 param → 200
PUT
/api/v1/Admin/MobilityOption/{id}
Aktualizacja opcji mobilności
updateMobilityOptions 1 param body → 200
DELETE
/api/v1/Admin/MobilityOption/{id}
Usuwanie opcji mobilności
removeMobilityOption 1 param → 200
GET
/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure
Czytanie procedury aplikacji dla opcji mobilności po id
getHostApplicationProceduresForOption 1 param → 200
PUT
/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure
Ustawianie procedury aplikacji
setContentEnHost_1 1 param body → 200
DELETE
/api/v1/Admin/MobilityOption/{id}/HostApplicationProcedure
Usuwanie procedury aplikacji dla opcji mobilności po id
removeApplicationProcedure 1 param → 200
GET
/api/v1/Admin/CourseCertificate/{documentId}
Wyświetlanie danych konkretnego certyfikatu.
getCertificateById 1 param → 200
PUT
/api/v1/Admin/CourseCertificate/{documentId}
Aktualizacja danych certyfikatu.
updateCertificate 1 param body → 200
DELETE
/api/v1/Admin/CourseCertificate/{documentId}
Usunięcie certyfikatu (wraz z powiązanymi plikami).
deleteCertificate 1 param → 200
GET
/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}
Wyświetlanie danych pliku.
getFileById 2 params → 200
PUT
/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}
Aktualizacja danych pliku.
updateFile 2 params body → 200
DELETE
/api/v1/Admin/CourseCertificate/{documentId}/File/{fileId}
Usunięcie pliku.
deleteFile 2 params → 200
PUT
/api/v1/Admin/Course/{courseId}
Aktualizacja kursu
updateCourse 1 param body → 200
PUT
/api/v1/Admin/Course/{courseId}/Syllabus/{courseSyllabusId}
Aktualizowanie sylabusa kursu
updateCourseSyllabus 2 params body → 200
PUT
/api/v1/Admin/Course/{courseId}/Profile
Aktualizacja profilu dla kursu
updateCourseProfile 1 param body → 200
GET
/api/v1/Admin/Tutorial
Listowanie danych o tutorialach
queryTutorialsForAdmin → 200
POST
/api/v1/Admin/Tutorial
Dodawanie tutorialu
addTutorial body → 200
GET
/api/v1/Admin/RegistrationInfo
Pobranie informacji o rejestracjach.
getAll → 200
POST
/api/v1/Admin/RegistrationInfo
Dodawanie informacji o rejestracji
addCourseRegistrationInfo body → 200
POST
/api/v1/Admin/MobilityOption
Utworzenie opcji mobilności wraz z artykułem i powiązaniem
createMobilityOptionAndSetApplicationProcedure body → 200
GET
/api/v1/Admin/Course
Listowanie danych o kursach.
getAllCourses → 200
POST
/api/v1/Admin/Course
Dodawanie kursu
addCourse body → 200
GET
/api/v1/Admin/CourseCertificate
Wyświetlanie listy danych wszystkich certyfikatów.
findAllCertificates → 200
POST
/api/v1/Admin/CourseCertificate
Dodanie certyfikatu (bez załączonego pliku).
addCertificate body → 200
POST
/api/v1/Admin/CourseCertificate/{documentId}/File
Dodanie pliku.
addFile 1 param body → 200
POST
/api/v1/Admin/Course/{courseId}/Syllabus
Dodawanie sylabusa kursu
addCourseSyllabus 1 param body → 200
POST
/api/v1/Admin/Course/ReadFromFile
czytanie kursów z pliku xls i xlsx
readFromFile body → 200
POST
/api/v1/Admin/Course/Import
Importowanie kursu
importCourse body → 200
POST
/api/v1/Admin/Course/Export/SubjectIds
Eksport wybranych kursów do pliku xlsx na podstawie subjectIds.
exportCoursesBySubjectIds body → 200
POST
/api/v1/Admin/Course/Export/CourseIds
Eksport wybranych kursów do pliku xlsx na podstawie courseIds.
exportCoursesByIds body → 200
GET
/api/v1/Admin/Tutorial/{id}
Pobranie danych o tutorialu o podanym id.
getTutorialByIdForAdmin 1 param → 200
GET
/api/v1/Admin/RegistrationInfo/{id}
Pobranie informacji o rejestracji kursu o podanym id.
getCourseRegistrationInfo_1 1 param → 200
GET
/api/v1/Admin/Person/SearchPerson
searchPersonForCourse_1 5 params → 200
GET
/api/v1/Admin/Person/SearchPerson/{personId}
Czytanie informacji o osobie
getSearchPersonForCourse_1 1 param → 200
GET
/api/v1/Admin/Person/All
Czytanie informacji o wszystkich osobach
getAllPersons → 200
GET
/api/v1/Admin/MobilityOption/All
Listowanie wszystkich opcji mobilności
getAllMobilityOptions → 200
GET
/api/v1/Admin/CourseCertificate/{personId}/Person
Wyświetlanie listy danych certyfikatów dla danej osoby.
findByPersonId 1 param → 200
GET
/api/v1/Admin/CourseCertificate/{documentId}/Download
Pobranie wszystkich plików dla danego certyfikatu.
downloadAll 1 param → 200
GET
/api/v1/Admin/CourseCertificate/{documentId}/Download/{fileId}
Pobranie konkretnego pliku.
download 2 params → 200
GET
/api/v1/Admin/CourseCertificate/{courseId}/Course
Wyświetlanie listy danych certyfikatów dla danego kursu.
findByCourseId 1 param → 200
GET
/api/v1/Admin/CourseCertificate/SearchPerson
searchPersonForCourse_2 5 params → 200
GET
/api/v1/Admin/CourseCertificate/SearchPerson/{personId}
Czytanie informacji o osobie
getSearchPersonForCourse_2 1 param → 200
GET
/api/v1/Admin/Course/{id}
Pobranie danych o kursie o podanym id.
getCourseById_1 1 param → 200
GET
/api/v1/Admin/Course/{id}/Syllabus
Pobranie danych o rejestracji kursu o podanym id.
getCourseSyllabus_1 1 param → 200
GET
/api/v1/Admin/Course/{id}/RegistrationInfo
Pobranie informacji o rejestracji kursu o podanym id.
getCourseRegistrationInfo_2 1 param → 200
GET
/api/v1/Admin/Course/{id}/Profile
Pobranie profili instruktorów kursu o podanym id.
getCourseInstructors_1 1 param → 200
GET
/api/v1/Admin/Course/Import/FileTemplate
pobieranie szablonu pliku xlsx eksportu kursów do pliku
getCoursesFileTemplate → 200
GET
/api/v1/Admin/Course/Export
Eksport kursów do pliku xlsx. Jeżeli 'year' nie zostanie podany - to zwracane są kursy, w których rok akademicki nie jest uzupełniony.
exportCourses 2 params → 200
DELETE
/api/v1/Admin/Course/{courseId}/Remove
Usunięcie kursu
removeCourses 2 params → 200
Profile 4

Profile resources of the Student Portal 4EU+ API

GET
/api/v1/Profile
Listowanie danych o profilach niezależnie od pola ispubliclyvisible
queryForProfile 5 params → 200
POST
/api/v1/Profile
Dodawanie profilu
addProfile body → 200
GET
/api/v1/Profile/{id}
Czytanie profilu z podanym id
getProfileById 1 param → 200
GET
/api/v1/Profile/All
Listowanie danych o profilach
findAllProfiles → 200
PersonRole 6

PersonRole resources of the Student Portal 4EU+ API

GET
/api/v1/PersonRole
findAll → 200
POST
/api/v1/PersonRole
upsertRole body → 200
DELETE
/api/v1/PersonRole
deleteRole 1 param → 200
GET
/api/v1/PersonRole/{id}
findAll_1 1 param → 200
GET
/api/v1/PersonRole/SearchPerson
searchPersonForCourse 5 params → 200
GET
/api/v1/PersonRole/SearchPerson/{personId}
Czytanie informacji o osobie
getSearchPersonForCourse 1 param → 200
HousingOption 7

HousingOption resources of the Student Portal 4EU+ API

GET
/api/v1/HousingOption
Listowanie danych o opcjach zakwaterowania (z paginacją - odata).
queryHousingOptions 6 params → 200
POST
/api/v1/HousingOption
Dodanie nowej opcji zakwaterowania.
addHousingOption body → 200
POST
/api/v1/HousingOption/{id}/File/Upload
Dodanie pliku dla opcji zakwaterowania o podanym id.
uploadHousingOptionFile 1 param body → 200
GET
/api/v1/HousingOption/{id}
Pobranie danych o opcji zakwaterowania o podanym id.
getHousingOptionById 1 param → 200
GET
/api/v1/HousingOption/{id}/File
Listowanie plików dla opcji zakwaterowania o podanym id.
getHousingOptionFiles 1 param → 200
GET
/api/v1/HousingOption/{id}/File/{fileId}/Download
Pobranie pliku dla opcji zakwaterowania o podanym id.
downloadHousingOptionFile 3 params → 200
GET
/api/v1/HousingOption/Principal
Listowanie danych o opcjach zakwaterowania osoby (z paginacją - odata).
queryPrincipalHousingOptions 6 params → 200
System 2

System resources of the Student Portal 4EU+ API

GET
/system/git
gitProperties → 200
GET
/system/build
buildProperties → 200
Saml2 2

Saml2 resources of the Student Portal 4EU+ API

GET
/saml2/service-provider-metadata
serviceProviderMetadata → 200
GET
/saml2/idp
available idps
availableIdentityProviders → 200
Principal 3

Principal resources of the Student Portal 4EU+ API

GET
/principal
Principal bez mapowania atrybutów. Zwraca dokładnie te atrybuty, które utrzymujemy z IDP (Identity Provider).
principal → 200
GET
/principal/edugain
Principal z zamapowanymi wybranymi atrybutami w kontekście edugaina.
edugainPrincipal → 200
GET
/principal/authenticated
authenticated
authenticated → 200
User 3

User resources of the Student Portal 4EU+ API

GET
/api/v1/User/Document
findAllDocuments → 200
GET
/api/v1/User/Document/{documentId}
findDocument 1 param → 200
GET
/api/v1/User/Document/{documentId}/Download
Pobranie powiązanych plików jako zip
downloadAttachedFiles 1 param → 200
Tutorial 2

Tutorial resources of the Student Portal 4EU+ API

GET
/api/v1/Tutorial
Listowanie danych o tutorialach (z paginacją - odata).
queryTutorials 5 params → 200
GET
/api/v1/Tutorial/{id}
Pobranie danych o tutorialu o podanym id.
getTutorialById 1 param → 200
MobilityOption 3

MobilityOption resources of the Student Portal 4EU+ API

GET
/api/v1/MobilityOption
Listowanie danych o opcjach mobilności (z paginacją - odata).
queryMobilityOptions 5 params → 200
GET
/api/v1/MobilityOption/{id}
Pobranie danych o opcji mobilności o podanym id.
getMobilityOptionById 1 param → 200
GET
/api/v1/MobilityOption/{id}/HostApplication
Pobranie procedur aplikacji dla opcji mobilności o podanym id.
getHostApplicationProceduresForOption_1 1 param → 200
Course 5

Course resources of the Student Portal 4EU+ API

GET
/api/v1/Course
Listowanie danych o kursach (z paginacją - odata).
queryCourses 9 params → 200
GET
/api/v1/Course/{id}
Pobranie danych o kursie o podanym id.
getCourseById 1 param → 200
GET
/api/v1/Course/{id}/Syllabus
Pobranie danych o rejestracji kursu o podanym id.
getCourseSyllabus 1 param → 200
GET
/api/v1/Course/{id}/RegistrationInfo
Pobranie informacji o rejestracji kursu o podanym id.
getCourseRegistrationInfo 1 param → 200
GET
/api/v1/Course/{id}/Profile
Pobranie profili instruktorów kursu o podanym id.
getCourseInstructors 1 param → 200

Schemas 44

The contract defines 44 schemas that model the data the API accepts and returns. The most detailed are HousingOptionsResponse (35 properties), CourseRequest (34 properties), QueryProfileItemResponse (33 properties), CourseSp4euResponse (32 properties). Each schema is shown below with its type and property counts.

ArticleRequest
object
10 properties
ArticlePreviewResponse
object
11 properties
TutorialRequest
object
12 properties
Sp4euTutorialResponse
object
16 properties
CourseRegistrationInfoRequest
object
2 properties
CourseRegistrationInfoResponse
object
5 properties
MobilityOptionRequest
object
11 properties
MobilityOptionResponse
object
14 properties
CourseCertificateRequest
object
5 properties 4 required
AttachedFileRequest
object
2 properties
CourseRequest
object
34 properties
CourseSp4euResponse
object
32 properties
CourseSyllabusRequest
object
5 properties
CourseSyllabusResponse
object
7 properties
CourseProfileSp4euRequest
object
1 property
CourseProfileResponse
object
11 properties
ProfileRequest
object
17 properties
ProfileResponse
object
22 properties
PersonRoleRequest
object
3 properties 2 required
HousingOptionsRequest
object
31 properties
HousingOptionsResponse
object
35 properties
ArticleSp4euRequest
object
6 properties
MobilityOptionAndArticleDto
object
2 properties
AttachedFileResponse
object
3 properties
DocumentPersonResponse
object
11 properties
CourseSp4euImportRequest
object
30 properties
AbstractResponse
object
9 properties
CourseSp4euImportResponse
object
5 properties
GitProperties
object
4 properties
BuildProperties
object
5 properties
DefaultSaml2AuthenticatedPrincipal
object
4 properties
EdugainPrincipal
object
11 properties
DocumentResponse
object
6 properties
OdataResponseQueryTutorialItemSp4euResponse
object
2 properties
QueryTutorialItemSp4euResponse
object
16 properties
OdataResponseQueryProfileItemResponse
object
2 properties
QueryProfileItemResponse
object
33 properties
PersonRoleResponse
object
7 properties
OdataResponsePersonResponse
object
2 properties
PersonResponse
object
7 properties
OdataResponseMobilityOptionResponse
object
2 properties
OdataResponseHousingOptionsResponse
object
2 properties
HousingOptionFileResponse
object
6 properties
OdataResponseCourseSp4euResponse
object
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

university-of-warsaw-sp4eu-api-openapi.yml Raw ↑

Other APIs University of Warsaw publishes across the network.

Dane Badawcze UW Research Data Repository REST API
Dane Badawcze UW OAI-PMH Endpoint
University of Warsaw apiref API
University of Warsaw apisrv API
University of Warsaw calendar API
University of Warsaw courses API
University of Warsaw fac API
Jaskier API
ReIn UW Institutional Repository REST API
ReIn UW OAI-PMH Endpoint
University of Warsaw SAML Identity Provider (eduGAIN / PIONIER.Id)
DataCite DOI Registration (REPOD / REPOD.DBUW)
Where this information came from

This is an independent, third-party profile of Student Portal 4EU+ API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.