PATCH /parties/{partyId}

PATCH /parties/{partyId}

Parties with role ParticipantRegistry can update information of parties they created and manage in the central participant registry with a PATCH to the /parties/{partyId} endpoint.

For instance, an update of a Party can consist of adding a new identifier to the alsoKnownAs array.

The central participant registry MUST support a PATCH call to a /parties/{partyId} endpoint.

Request

Authorization

An access token is used in PATCH calls to the /parties/{partyId} endpoint. For more information, see Access Token.

The central participant registry MUST validate that a PATCH call to a /parties/{partyId} endpoint includes the “Authorization" header according to RFC 6750 and includes a valid access token

The central participant registry MUST validate that a PATCH call to a /parties/{partyId} endpoint has an existing iSHARE DID identifier as partyId path parameter

The central participant registry MUST validate that the HTTP body of a PATCH request to the /parties/{partyId} endpoint contains at least one attribute as defined in the table below, formatted as JSON

Attribute

Type

Description

Attribute

Type

Description

id

Required

String

Primary Identifier of the party within the DSGO. MUST be an iSHARE DID based on the dutch KvK, and formatted according to iSHARE RFC064: did:ishare:EU.NL.NTRNL-12345678

alsoKnownAs

Optional

Array of strings

Array with other identifiers of the party. Each identifier includes a prefix and must be an unique organisation ID, for example kvk:98765432, eori:EU.EORI.NL000123456

name

Optional

String

MUST be equal to the organisation name as registered at the Chamber of Commerce.

> Authorization: Bearer IIeDIrdnYo2ngwDQYJKoZIhvcNAQELBQAwSDEZMBcGA1UEAwwQaVNIQ PATCH /parties/did:ishare:EU.NL.NTRNL-98765432 Content-Type: application/json { "alsoKnownAs": [ "kvk:98765432", "eori:EU.EORI.NL000123456" }

Responses

200 OK

If successful, the response contains data providing the updated party information in a party_token. The partyToken is a signed JWT, which contains the claims as defined in the iSHARE JWT, and additionally contains a partyInfo object as defined here.

The trust framework catalogue MUST include a partyToken including a partyInfo object in a response to a successful PATCH call to the /parties endpoint

< Content-Type: application/json { "partyToken": "eyJ4NWMiOlsiTUlJRWlEQ0NBbkNnQXdJQkFnSUllRElyZG5ZbzJuZ3dEUVlKS29aSWh2Y05BUUVMQlFBd1NERVpNQmNHQTFVRUF3d1FhVk5JUVZKRlZHVnpkRU5CWDFSTVV6RU5NQXNHQTFVRUN3d0VWR1Z6ZERFUE1BMEdBMVVFQ2d3R2FWTklRVkpGTVFzd0NRWURWUVFHRXdKT1REQWVGdzB4T1RBeU1UVXhNVFEyTlRoYUZ3MHlNVEF5TVRReE1UUTJOVGhhTUVreEhEQWFCZ05WQkFNTUUybFRTRUZTUlNCVFkyaGxiV1VnVDNkdVpYSXhIREFhQmdOVkJBVVRFMFZWTGtWUFVra3VUa3d3TURBd01EQXdNREF4Q3pBSkJnTlZCQVlUQWs1TU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMFJvb2hlUEwwMk52NEJaVEoza3A3bktzaHNtanJjcjhNQmFBaFFwWlpBc2dUQWxtUWlDVFBtM2M4cVlQcU4rVHVnZ0ZXQ05uKzlXNTRDNVVHcXNJd3RYVGszWWV4QXdaNG9qUlJ0bzhsMUhQRFZBUzZXdlc3NEFDTlpsRWdHd2pyQ0d5MitNNVFQN083d0IwVDZvRkJvZlJ3SFpHemdidFNiU1FodXF3VXhmMEdaSTh4QWwyL0dUSDI1VmZwOVQ3MUpFcG9aOWtzUDNDSWk1QkhrbGJUNUdLeEVPRmZkTU11cFg3bVduTlFiTHh1UXBBdEdDdW9yR2ZQRkU3RjVldkUxem9wd2NlQTVGc0UxTGFCUnF0K0VPcFBJbVNhalIwMmJjaEs5alM2bllFV3MvRlpHTHRKYWxsNUwzU25aTTZPaFd4TStsS0d6Rkt3NVRJWE45RE13SURBUUFCbzNVd2N6QU1CZ05WSFJNQkFmOEVBakFBTUI4R0ExVWRJd1FZTUJhQUZCWTg1eURwMXBUdkgrV2k4Ymo4dnVyZkxEZUJNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUIwR0ExVWREZ1FXQkJSZndpalQ3NWRJS1BsRkMvQ3RSRHFVS1g5VE5qQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFLNFBXVHEvZHF0Vm0rNFdDZDFLUUo0dGorbjRjY0lBWUxETXFZU0JKc042UTJjdE1SQy8rK3lNL293UEhCcmlUendXL2pvQXBOUGVaaDFJVFRnU3phMzhtM2h4b0RxMXV4NkhWR3lLNVFDUW9qRmRsZWM3dE9IbG1jYnV5VjRDRXlNWmJHK3lMbVZESTNxNTNWQVBnV3ZLSWkyUlVwc1BOdzJsbzZINjZ2SE5wNWZpcEIvdEU0Q0RsYS9UYU41MWxOM2xYT3c0bHRiWmJ6YmQ2TXhJbEVDUWZKSDVlUHJpcGFrSmhuaVZrWnZRVmthS0FlcFNYMGFEWUxPcFFRbmV0RFdab1ZKS0FzR0VMM0hMaWhxWXNEejcvQlQzRHdUMEtDNSs5OGdqR1p3dkx3ZXRKOTZLWFRBRTUwMmYzak95UDdERDZ1SytKS2d2UVp5dkk1L0V1cDBUdE5sUmZKeThhZDhweCszOG9JeEdBbGJzS29XbXowb2FNR0MrbFZHTlAyTTQ4TTdWa3RCVHB5bXF4Vnd0VGt2TVBqWldIS2xYdDJXMzNtTktHakpTOTVJNXZxT0tQV1NTc1dkSlJZSkNsbUVybWlkTlczMWxXQVZQcjFpU1M0SlhEdllQTENQNDRhNGVkMEdhV1pSdi9iK0QyK1FVZ09iOFN6bWpQdmYvMkdOdHFXUmR5WXRYWjl2eDAzNGkrWEYveWU4c2lOK1grd0ZIdFJ1bXRzd2Irc2NRZjRmVTZNaktCS1VzUERBUkFHakhqNXhIQkRqcTg0bmpHdVFjbDBoYlMzK1pTVjROcWtKSVVzMkxVdDlFdjFYN2FCNy85NUVYQWNnTlhkM0tQVm0zcDhORDc1QXFNMEZHUUVhUXlPd3FLY3FUQ2xKQ3VmR3NVWTRzN3JXUiJdLCJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJFVS5FT1JJLk5MMDAwMDAwMDAwIiwic3ViIjoiRVUuRU9SSS5OTDAwMDAwMDAwMCIsImp0aSI6Ijc3ZTgxNzlmYmZlNjQ2OWViNjRjMDU0ZGEyNmE3N2MzIiwiaWF0IjoxNTg5MjgyMTEyLCJleHAiOjE1ODkyODIxNDIsImF1ZCI6IkVVLkVPUkkuTkwwMDAwMDAwMDEiLCJwYXJ0eV9pbmZvIjp7InBhcnR5X2lkIjoiRVUuRU9SSS5OTDAwMDAwMDAwNCIsInBhcnR5X25hbWUiOiJBc2tNZUFueXRoaW5nIEF1dGhvcml6YXRpb24gUmVnaXN0cnkiLCJhZGhlcmVuY2UiOnsic3RhdHVzIjoiQWN0aXZlIiwic3RhcnRfZGF0ZSI6IjIwMTgtMDQtMjZUMDA6MDA6MDAiLCJlbmRfZGF0ZSI6IjIwMjAtMDctMjVUMDA6MDA6MDAifSwiY2VydGlmaWNhdGlvbnMiOlt7InJvbGUiOiJBdXRob3Jpc2F0aW9uUmVnaXN0cnkiLCJzdGFydF9kYXRlIjoiMjAxOC0wMS0wNFQwMDowMDowMCIsImVuZF9kYXRlIjoiMjAyMC0wMi0wMlQwMDowMDowMCIsImxvYSI6M31dLCJjYXBhYmlsaXR5X3VybCI6Imh0dHBzOi8vYXIuaXNoYXJldGVzdC5uZXQvY2FwYWJpbGl0aWVzIn19.U2nIhL2600VX1uaMdJ_uUJky_Q8WSSRDKcbmeYrL_GGHifptwlB00uwj1uWmbUbd5KlYIYio-lPX1BwMzYmVXLC6ZydkI7kIsdQypiSEXGT6U2KIlTO2EyF3CU6EY6iBzuVtvyupbDVPkKzDVh8thE5cepCS_FAsZZvxYXfeWGjVoKRpHtAIGq8reTIgEE_9w-p6Toa970ERJ01Lcn3xpDPp-FNLobmMa_mM6Vn4m6WjvMxr77coO54GDJ6FM70egChiBHJSjUGqDaBUgebdAFh3AQ8TfYJntka9DiNVFiY5Y_HqecBmKW_DiokT40DiljXEhRy6YVLSHjxOKa81TQ" } Decoded partyToken payload : { "iss": "did:ishare:EU.NL.NTRNL-63202158", "sub": "did:ishare:EU.NL.NTRNL-63202158", "jti": "77e8179fbfe6469eb64c054da26a77c3", "iat": 1589282112, "exp": 1589282142, "aud": "did:ishare:EU.NL.NTRNL-00000000", "partyInfo": { "id": "did:ishare:EU.NL.NTRNL-98765432", "alsoKnownAs": [ "kvk:98765432", "eori:EU.EORI.NL000123456" ], "name": "XYZ Vastgoed b.v.", "claims": [ { "type": "dataspaceMembership", "dataspaceId": "EU.DS.NL.DSGO", "registrarId": "did:ishare:EU.NL.NTRNL-63202158", "capabilityUrl": "https://api.xyzvastgoed.nl/capabilities", "dataServicesUrl": "https://api.xyzvastgoed.nl/data_services", "legalAdherence": "yes", "status": "Active", "startDate": "2017-05-01T00:00:00.000Z", // DSGO membership started from the moment this party became ServiceRightsHolder in the DSGO. "endDate": "", "id": "60d4239e-6e5d-4fb1-b37f-18ab19cd90c6" } ] } }

400 Bad Request

When 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 the request body content is invalid.

401 Unauthorized

When Authorization header is either missing, invalid or the access token has already expired.

403 Forbidden

When client is authenticated but not allowed to perform the action