Available RESTful APIs
This is an overview of available APIs at VSKO. This is the entry point into the documentation of all APIs exposed by VSKO. All of these APIs have been designed to be sufficiently uniform and adhere to a common specification that can be found here. It is advised that a client read through the basic, common concepts of our API design.
In order to browse to the API we advise you install the JsonView plugin into your browser (Chrome and Firefox are supported). Any other JSON viewer will obviously also do.
These are the APi’s that most people will come in contact with, because almost all applications need to show some information related to either persons and/or organisations and/or the link between those two.
This API exposes information related to organisations in the field of education within Belgium. It contains, in other words, information of all organisations VSKO deals with at some point. The main entities in this API are schools and their school locations, school communities, governing institutions, boarding schools and various other organisations. Read more here.
Examples (test) : https://testapi.vsko.be/schools, https://testapi.vsko.be/governinginstitutions, https://testapi.vsko.be/boardings.
Examples (production) : http://api.vsko.be/schools, http://api.vsko.be/governinginstitutions, http://api.vsko.be/boardings.
This API exposes personal information about people VSKO deals with. It contains various keys to identify people, contact details etc. This information is not available publicly. Access to the documentation must be requested. Read more here.
Examples (test) : https://testapi.vsko.be/persons
Examples (production) : https://api.vsko.be/persons
This API provides information that describes what relationships a person has to one or more institutions and organisations. Things like who is director of what school, who is chairman of a governing institution, who is a member of what workgroup. Read more here.
Examples (test) : https://testapi.vsko.be/responsibilities
Examples (production) : http://api.vsko.be/responsibilities.
Any piece of semi-structured text/content (for example vision texts, curricula, articles on websites/in mailinglists, etc..). Leans very heavily on the Dublin Core metadata standard. Read more here.
Examples (test) : http://testapi.vsko.be/content?type=/content/types/article
Examples (production) : http://api.vsko.be/content?type=/content/types/article
Whether you need to use these API’s will many times be dependant on which project you’re working on.
Is an API to support sending out (bulk) emails using a bulk email provider and tracking the opens and clicks. It also allows to pick from a list of predefined templates, and to have context variables.
Store how certain content in /content API should be visualized on various websites. Specifications can be found here.
Stores ‘events’ organised by KathOndVla (currently fed mainly/only by nascholing).
Stores the various trainings that are offered by the samenscholing team of KathOndVla.
A simple API to hold personal information for a user (like user-specific settings in a certain application).
Organisational Units that are part of KathOndVla (teams for example) can choose which tools they want to use to improve their collaboration. These tools include a shared mailbox, sharepoint, MSTeams. This API is holding that information. Read more here.
Examples (test) : https://testapi.vsko.be/workgroups
Examples (production) : https://api.vsko.be/workgroups
In order to standardise the address information in our APIs we have created a standard reference for things like cities, sub cities and streets as well as larger geographic entities such as countries, provinces, dioceses. Read more here.
Examples (test) : https://testapi.vsko.be/cities, https://testapi.vsko.be/streets?city=Leuven
Examples (production) : https://api.vsko.be/cities, https://api.vsko.be/streets?city=Leuven
Stores ‘custom’ curricula as defined by schools/teams of teachers or individual teachers as a set of annotations on an existing ‘base curriculum’ stored in content API.
Keeps a list of activities linked to a (custom) curriculum that a teacher has planned to do with his pupils.
Contains information about who ordered which products (a training for example). [NOT USED YET]
Any documents that are published (for example to the VSKO websites). They typically have meta information such as abstracts, the author, creation date, etc.. Read more here
Examples (test) : https://testapi.vsko.be/files/paths/?words=van,hecke.
Examples (production) : https://apivsko.be/files/paths/?words=van,hecke.
These API’s are mainly used by other API’s or software components to do their job.
Centralizes the administration of access to our applications. All of our API’s (& some of our applications) use this API to determine who has what permissions. It contains 2 parts: a simple Restful API to store the rules (in a JSON format), and a query API used by our various components to check if a given identity has access to a given resource. Read more here
Examples (production) : https://api.vsko.be/security/query/resources/raw?person=%2fpersons%2fcf2dccb1-1684-4402-e044-d4856467bfb8&ability=read&component=/security/components/organisationalunits-api
This is an API that can tell where to go to in order to view/edit a certain resource. So given a resource url (like /persons/<guid>) it will return an application url with the right parameters to immediately take you to the edit screen for that person for example.
Examples:
This API stores updates that a certain user wants to have executed on one of the other API’s, of things he isn’t allowed to modify himself. The ‘reviewer’ of the proposal can then apply the proposal if he agrees with the proposed changes. This allows us to have people ‘annotate’ an existing website for example, where an editor can then apply the proposed changes. Or it could be used to indicate that a certain person should be part of a team, and then have the team manager ‘accept’ the proposal.
Allows for advanced and fast full-text searching on our information. That includes documents and content, as well as structured information such as persons (if you have permission), schools and other organisational units, etc.. etc.. Read more here
Examples (production) : http://api.vsko.be/search?q=besturen
Takes care of tracking and broadcasting modifications to resources. Read more here
Examples (production) : https://api.vsko.be/versions?resource=/schools/a2bf12a4-a3a4-11e3-ace8-005056872b95