Guide 7. Implement data service
Last updated
Last updated
are free to implement a data service to achieve business value according their own design, but they must conform to DSGO specifications.
A data service provider should define an endpoint for a resource in order to enable a specific data service in the DSGO. As the exact implementation of data service is highly dependent on the specific resource, the context, and the needs of the data service provider, no specific service is presented here.
Therefore, this page contains examples for all methods of a generic resource endpoint as defined by the DSGO (called /resources
), which a Data Service Provider can use to structure its own endpoints accordingly.
The data service could require additional information being shared through the HTTP Request or Response headers. The Authorization header including the Bearer access_token is mandatory. Other headers are optional and could include:
Digest
and client_assertion
for ;
delegation_evidence
to share as a data service consumer to the data service provider;
LicensePurpose
, LicenseSubLicense
, and LicenseEndDate
to share license conditions regarding the data service and/or the data.
Additional service specific headers for security, statefulnes, application functionality etc.. could be added but this is out of scope of this specification.
Please see the for more information.
All examples can be tested on .
This is an example of a HTTP GET to get a list of the available resources within the collection
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
OK
This is an example of a HTTP GET to request a specific resource
resource URI
005
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
resource should be according to the data format specified in the specific data service
This is an example of a HTTP DELETE to remove data at a resource
Resource URI
005
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
No content
This is an example of a HTTP POST to create data at a resource
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
resource should be according to the data format specified in the specific data service
Created
This is an example of a HTTP PUT to replace data at a resource
resource URI
005
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
resource should be according to the data format specified in the specific data service
No content
This is an example of a HTTP PATCH to edit data at a resource
Resource URI
005
regarding the requested service. The Service Consumer can obtain this evidence from an Authorization Registry / Entitled Party before requesting a specific service.
Used when a Service Consumer is requesting a service on behalf of another Service Consumer in a 'service broker' pattern. It is used to prove that the 'brokering' Service Consumer indeed has had a request from the original Service Consumer
digest
License purpose
License purpose
License purpose
optional service specific headers
Operation to be performed on the resource
add, remove, replace, ...
JSON pointer to the resource the operation should work on
description
Data to be edited at the resource
Hex value of the colour
No content