Parties MUST support a POST call to a /delegation endpoint to retrieve delegation evidence (in a delegationEvidence object).
Request
Authorization
An access token is used in POST calls to the /delegation endpoint. For more information, see Access Token.
Parties MUST validate that a POST call to a /delegation endpoint includes the Authorization header according to RFC 6750 and contains a valid access token
Parties MUST validate that the HTTP body of a POST request to the /delegation endpoint contains the parameters as defined in the table below
Parameter
Type
Description
Parameter
Type
Description
delegationRequest
Required
Object
Object MUST contain policyIssuer, target and policySets objects, and may contain the delegation_path and previous_steps arrays as described below
Â
policyIssuer
Required
String in delegationRequest
MUST contain a valid Organisation ID of the delegator (data entitled party), containing an EORI or KvK number.
Â
target
Required
Object in delegationRequest
Object MUST contain an accessSubject. No other elements are allowed. It makes the entire delegation evidence applicable only to this accessSubject.
Â
accessSubject
Required
String in target
MUST contain a valid Organisation ID of the delegate (the data service consumer that receives the delegated rights), containing an EORI or KvK number.
Â
policySets
Required
Array in delegationRequest
MUST contain one or more policySet objects with an indication for further delegation (see /delegation for more information). Note that multiple policySet objects within one delegationEvidence MUST not restrict each other, but rather offer a mechanism to express additional rights. They MUST be evaluated in a permit-override manner, allowing a Permit if only one of the policySet objects evaluates to Permit.
Â
delegation_path
Optional
Array in delegationRequest
Optional array used in a situation where multiple delegation policies need to be linked together. MUST contain one or more valid Organisation ID, containing an EORI or KvK number
Â
previous_steps
Optional
Array in delegationRequest
Optional array used for one or more pieces of evidence such that the client has legitimate reason to request delegation evidence. MUST contain a previous delegationEvidence object or client_assertion for a single step. May contain an array for multiple steps. The minimum is a client_assertion value of the accessSubject, for example if the data service provider requests delegationEvidence for an authorization in which he is neither the policyIssuer nor the accessSubject.
Successful, the response contains data providing the requested parties information in a delegation_token. The delegation_token is a signed JWT, which contains the claims as defined in the Authentication JWT, and additionally contains a delegationEvidence object. Find the definition of the delegationEvidence object here.
See below for an example response to a POST /delegation call (based on iSHARE v2.0, see link)
When the Authorization header is provided, but the token format is invalid (for example, not Bearer). Additionally, a 400 should be returned when the provided access token is valid, but query parameters are either invalid or none of them were provided.
401 Unauthorized
When Authorization header is either missing, invalid or the access token has already expired.