Titel | DPA (Data Processing Agreement) API | ||||||||||||||||||||||
Status |
| ||||||||||||||||||||||
Versie | Documentatie: 0.9.01 | ||||||||||||||||||||||
schemaVersion: 0.9.01 | |||||||||||||||||||||||
Datum | 27 Mei September 2024 | ||||||||||||||||||||||
Auteur | Architectenraad Edu-V | ||||||||||||||||||||||
Acties |
|
...
Table of Contents |
---|
Samenvatting
Scope | eduv.dpa |
Objecten | |
Bron | Verwerkersregister |
Afnemer | Consentmanagement |
Endpoints | Verwerkersregister GET Agreement Supplier itself has with School Board GET AgreementVerification for School Board and Supplier |
...
Open api | ||||||
---|---|---|---|---|---|---|
| ||||||
openapi: 3.0.0 info: title: DPA (Data Processing Agreement) API version: 0.9.01 description: |- The DPA API is implemented by the reference component `Verwerkersregister` to allow parties to validate if a suppliers has a Data Processing Agreement with a certain school board for a specified ecosystem (Ketensamenwerking) and data services (Gegevensdiesnsten). contact: name: Edu-V url: www.edu-v.org/afsprakenstelsel email: info@edu-v.org paths: /agreements/self: get: summary: GET Agreement Supplier itself has with School Board description: |- Use this API endpoint to request information about the registration of a data processing agreement the supplier itself has with a school board. When the requester is not allowed to request this information for this school board then you will get a 403. When the requester is allowed to request this information then the agreement data is returned (200). tags: - Verwerkersregister parameters: - name: supplierOin in: query allowEmptyValue: false required: true description: OIN of the system supplier schema: type: string pattern: (\d|\D){20} - name: boardId in: query allowEmptyValue: false required: true description: ID of the school board (Onderwijsbestuursnummer) schema: type: string - name: ecosystem in: query allowEmptyValue: false required: true description: The name of the Ecosystem to which the Data Processing Agreement must apply to. schema: type: string enum: - Edu-V - name: data_services in: query required: false description: The names of the Data services to which the Data Processing Agreement must apply to. schema: type: array items: type: string enum: - Onderwijsaanbod - Onderwijsinrichting - Onderwijsdeelnemers - Onderwijsmedewerkers - Leveringsorders - Aanspraken - Leermiddelgebruik - Leermateriaalgebruik - Leerresultaten responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/Agreement' '400': content: application/json: schema: $ref: '#/components/schemas/StatusResponse' description: Bad Request '403': description: You are not allowed to view any agreement for the requested school board based on a data processing agreement content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/StatusResponse' security: - OAuth2: - eduv.dpa /agreements: get: summary: GET AgreementVerification for School Board and Supplier description: |- Use this API endpoint to find out if a school board has a data processing agreement with another supplier. When the requester is not allowed to request this information for this school board then you will get a 403. When the requester is allowed to request this information then the agreement verification data is returned (200). tags: - Verwerkersregister parameters: - name: supplierOin in: query allowEmptyValue: false required: true description: OIN of the system supplier schema: type: string pattern: (\d|\D){20} - name: boardId in: query allowEmptyValue: false required: true description: ID of the school board (Onderwijsbestuursnummer) schema: type: string - name: ecosystem in: query allowEmptyValue: false required: true description: The name of the Ecosystem to which the Data Processing Agreement must apply to. schema: type: string enum: - Edu-V - name: data_services in: query required: false description: The names of the Data services to which the Data Processing Agreement must apply to. schema: type: array items: type: string enum: - Onderwijsaanbod - Onderwijsinrichting - Onderwijsdeelnemers - Onderwijsmedewerkers - Leveringsorders - Aanspraken - Leermiddelgebruik - Leermateriaalgebruik - Leerresultaten responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/AgreementVerification' '400': content: application/json: schema: $ref: '#/components/schemas/StatusResponse' description: Bad Request '403': description: You are not allowed to view any agreement for the requested school board based on a data processing agreement content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/StatusResponse' security: - OAuth2: - eduv.dpa components: schemas: schemaVersion: type: string description: | Schema version of this API using semantic versioning 2.0.0. The API version number is communicated in the header. The major version is communicated in the URI. For more information see the [Edu-V versioning guidelines](https://edu-v.atlassian.net/wiki/spaces/AFSPRAKENS/pages/9437200/Versiebeheer). default: 0.9.01 Agreement: type: object required: - agreementId - supplierOin - boardId - valid properties: agreementId: type: string supplierOin: type: string boardId: type: string ecosystem: type: string default: Edu-V dataServices: type: array items: type: string enum: - Onderwijsaanbod - Onderwijsinrichting - Onderwijsdeelnemers - Onderwijsmedewerkers - Leveringsorders - Aanspraken - Leermiddelgebruik - Leermateriaalgebruik - Leerresultaten valid: type: boolean example: true startDate: example: '2023-07-12' type: string description: 'Start date of the agreement. Format: YYYY-MM-DD (according to RFC3339).' endDate: example: '2024-07-12' type: string description: 'End date of the agreement. Format: YYYY-MM-DD (according to RFC3339).' AgreementVerification: type: object required: - supplierOin - boardId - ecosystem - valid properties: supplierOin: type: string boardId: type: string ecosystem: type: string default: Edu-V dataServices: type: array items: type: string enum: - Onderwijsaanbod - Onderwijsinrichting - Onderwijsdeelnemers - Onderwijsmedewerkers - Leveringsorders - Aanspraken - Leermiddelgebruik - Leermateriaalgebruik - Leerresultaten valid: type: boolean example: true StatusResponse: title: StatusResponse type: object description: 'Functional status code and status message.' properties: status: type: integer description: 'See functional status codes within the Documentation.' statusMessage: type: string description: 'See functional status messages within the Documentation.' required: - status securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.example.com/oauth2/token refreshUrl: https://api.example.com/oauth2/token scopes: eduv.dpa: 'scope that allows parties to request information from the DPA api.' |
...
0.0.1: Pagina aangemaakt met verwijzing naar Mandatenregister van OSR Kennisnet.
0.0.2: Eerste versie Mandate API gespecificeerd met endpoint om te valideren of een Leverancier een verwerkersoverenkomst heeft met een onderwijsbestuur. Hierbij is een berichtdefinitie Mandaat toegevoegd en zijn ook de status codes beschreven.
0.0.3: Herziening Consent is verwerkt in deze API uitwerking:
Naam is gewijzigd van Mandate API naar DPA API.
Naam van mandate is gewijzigd naar Agreement.
De endpoints zijn gesplitst in het opvragen van informatie over een verwerkersovereenkomst die de leverancier zelf heeft afgesloten met het onderwijsbestuur en een endpoint voor het opvragen van informatie over een overeenkomst die het onderwijsbestuur met een andere leverancier heeft gesloten.
Het attribuut ecosystem is toegevoegd als referentie naar de ketensamenwerking waarvoor de verificatie wordt toegepast.
Het attribuut dataServices is toegevoegd als optionele referentie naar de gegevensdiensten waarvoor de verificatie wordt toegepast. Deze dienen dan uiteraard wel vastgelegd te zijn in de registratie van de verwerksovereenkomst bij de referentiecomponent Verwerkersregister.
0.0.4: De pagina is besproken tijdens de bijeenkomst van de Architectenraad Edu-V en is gereed voor de ROSA-architectuurscan.
0.0.5: Gegevensdiensten zijn bijgewerkt in de ENUM.
0.0.6: Conform wijziging in architectuur de schemaVersion als attribuut verwijderd uit de berichtspecificaties.
0.9.0: Het Architectuurkader Edu-V is vastgesteld als startpunt voor de implementatie. Tevens is instemming verleend op verdere doorontwikkeling van het Architectuurkader Edu-V op basis van de Architectuurprincipes. Dit akkoord is verleend op het Bestuurlijk Overleg van 27 mei 2024.
De afspraken m.b.t. Regie op gegevens wordt tijdens de eerste release geïmplementeerd. Na een succesvolle implementatie wordt de uiteindelijke 1.0.0 versie vastgesteld.
0.9.1: Op basis van RFC002 is de scope aangepast met een prefix
eduv.
. Dit stelt leveranciers in staat om onderscheid te maken tussen gegevensuitwisselingen met leveranciers binnen en buiten het Edu-V afsprakenstelsel.