curl --request PATCH \
--url 'http://localhost:7575/v2/parties/{party}' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}'
import json
import requests
url = "http://localhost:7575/v2/parties/{party}"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}''')
response = requests.request(
"PATCH", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/parties/{party}', {
method: 'PATCH',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/parties/{party}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("PATCH", "http://localhost:7575/v2/parties/{party}", bytes.NewBufferString(`{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/parties/{party}"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/parties/{party}')
request = Net::HTTP::Patch.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
PATCH /v2/parties/:party
Update selected modifiable participant-local attributes of a party details resource. Can update the participant’s local information for local parties.
PATCH
/
v2
/
parties
/
{party}
curl --request PATCH \
--url 'http://localhost:7575/v2/parties/{party}' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}'
import json
import requests
url = "http://localhost:7575/v2/parties/{party}"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}''')
response = requests.request(
"PATCH", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/parties/{party}', {
method: 'PATCH',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/parties/{party}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("PATCH", "http://localhost:7575/v2/parties/{party}", bytes.NewBufferString(`{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/parties/{party}"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/parties/{party}')
request = Net::HTTP::Patch.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Update selected modifiable participant-local attributes of a party details resource. Can update the participant’s local information for local parties.
curl --request PATCH \
--url 'http://localhost:7575/v2/parties/{party}' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}'
import json
import requests
url = "http://localhost:7575/v2/parties/{party}"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}''')
response = requests.request(
"PATCH", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/parties/{party}', {
method: 'PATCH',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/parties/{party}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("PATCH", "http://localhost:7575/v2/parties/{party}", bytes.NewBufferString(`{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/parties/{party}"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/parties/{party}')
request = Net::HTTP::Patch.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
},
"updateMask": {
"paths": [
"<string>"
],
"unknownFields": {
"fields": {}
}
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"partyDetails": {
"party": "<string>",
"isLocal": false,
"localMetadata": {
"resourceVersion": "<string>",
"annotations": {}
},
"identityProviderId": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Authorizations
httpAuth
string
required
HTTP bearer authentication. Send the token as
Authorization: Bearer <token>. Ledger API standard JWT tokenapiKeyAuth
string
required
API key authentication in the header. Ledger API standard JWT token (websocket)
Path parameters
string
required
Body
application/json
object
required
OpenAPI type:
PartyDetails.Party to be updated Modifiable RequiredShow child attributes
Show child attributes
string
required
The stable unique identifier of a Daml party. Must be a valid PartyIdString (as described in
value.proto). Requiredboolean
true if party is hosted by the participant and the party shares the same identity provider as the user issuing the request. Optional
object
OpenAPI type:
ObjectMeta.Represents metadata corresponding to a participant resource (e.g. a participant user or participant local information about a party). Based on ObjectMeta meta used in Kubernetes API. See https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/generated.proto#L640Show child attributes
Show child attributes
string
An opaque, non-empty value, populated by a participant server which represents the internal version of the resource this
ObjectMeta message is attached to. The participant server will change it to a unique value each time the corresponding resource is updated. You must not rely on the format of resource version. The participant server might change it without notice. You can obtain the newest resource version value by issuing a read request. You may use it for concurrent change detection by passing it back unmodified in an update request. The participant server will then compare the passed value with the value maintained by the system to determine if any other updates took place since you had read the resource version. Upon a successful update you are guaranteed that no other update took place during your read-modify-write sequence. However, if another update took place during your read-modify-write sequence then your update will fail with an appropriate error. Concurrent change control is optional. It will be applied only if you include a resource version in an update request. When creating a new instance of a resource you must leave the resource version empty. Its value will be populated by the participant server upon successful resource creation. Optionalobject
OpenAPI type:
Map_String.A set of modifiable key-value pairs that can be used to represent arbitrary, client-specific metadata. Constraints: 1. The total size over all keys and values cannot exceed 256kb in UTF-8 encoding. 2. Keys are composed of an optional prefix segment and a required name segment such that: - key prefix, when present, must be a valid DNS subdomain with at most 253 characters, followed by a ’/’ (forward slash) character, - name segment must have at most 63 characters that are either alphanumeric ([a-z0-9A-Z]), or a ’.’ (dot), ’-’ (dash) or ’_’ (underscore); and it must start and end with an alphanumeric character. 3. Values can be any non-empty strings. Keys with empty prefix are reserved for end-users. Properties set by external tools or internally by the participant server must use non-empty key prefixes. Duplicate keys are disallowed by the semantics of the protobuf3 maps. See: https://developers.google.com/protocol-buffers/docs/proto3#maps Annotations may be a part of a modifiable resource. Use the resource’s update RPC to update its annotations. In order to add a new annotation or update an existing one using an update RPC, provide the desired annotation in the update request. In order to remove an annotation using an update RPC, provide the target annotation’s key but set its value to the empty string in the update request. Modifiable Optional: can be emptystring
The id of the
Identity Provider Optional, if not set, there could be 3 options: 1. the party is managed by the default identity provider. 2. party is not hosted by the participant. 3. party is hosted by the participant, but is outside of the user’s identity provider. Optionalobject
required
OpenAPI type:
FieldMask.An update mask specifies how and which properties of the PartyDetails message are to be updated. An update mask consists of a set of update paths. A valid update path points to a field or a subfield relative to the PartyDetails message. A valid update mask must: 1. contain at least one update path, 2. contain only valid update paths. Fields that can be updated are marked as Modifiable. An update path can also point to non-Modifiable fields such as ‘party’ and ‘local_metadata.resource_version’ because they are used: 1. to identify the party details resource subject to the update, 2. for concurrent change control. An update path can also point to non-Modifiable fields such as ‘is_local’ as long as the values provided in the update request match the server values. Examples of update paths: ‘local_metadata.annotations’, ‘local_metadata’. For additional information see the documentation for standard protobuf3’s google.protobuf.FieldMask. For similar Ledger API see com.daml.ledger.api.v2.admin.UpdateUserRequest. RequiredResponses
200
application/json
PartyDetails
required
Updated party details Required
Show child attributes
Show child attributes
string
required
The stable unique identifier of a Daml party. Must be a valid PartyIdString (as described in
value.proto). Requiredboolean
true if party is hosted by the participant and the party shares the same identity provider as the user issuing the request. Optional
ObjectMeta
Represents metadata corresponding to a participant resource (e.g. a participant user or participant local information about a party). Based on
ObjectMeta meta used in Kubernetes API. See https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/generated.proto#L640Show child attributes
Show child attributes
string
An opaque, non-empty value, populated by a participant server which represents the internal version of the resource this
ObjectMeta message is attached to. The participant server will change it to a unique value each time the corresponding resource is updated. You must not rely on the format of resource version. The participant server might change it without notice. You can obtain the newest resource version value by issuing a read request. You may use it for concurrent change detection by passing it back unmodified in an update request. The participant server will then compare the passed value with the value maintained by the system to determine if any other updates took place since you had read the resource version. Upon a successful update you are guaranteed that no other update took place during your read-modify-write sequence. However, if another update took place during your read-modify-write sequence then your update will fail with an appropriate error. Concurrent change control is optional. It will be applied only if you include a resource version in an update request. When creating a new instance of a resource you must leave the resource version empty. Its value will be populated by the participant server upon successful resource creation. OptionalMap_String
A set of modifiable key-value pairs that can be used to represent arbitrary, client-specific metadata. Constraints: 1. The total size over all keys and values cannot exceed 256kb in UTF-8 encoding. 2. Keys are composed of an optional prefix segment and a required name segment such that: - key prefix, when present, must be a valid DNS subdomain with at most 253 characters, followed by a ’/’ (forward slash) character, - name segment must have at most 63 characters that are either alphanumeric ([a-z0-9A-Z]), or a ’.’ (dot), ’-’ (dash) or ’_’ (underscore); and it must start and end with an alphanumeric character. 3. Values can be any non-empty strings. Keys with empty prefix are reserved for end-users. Properties set by external tools or internally by the participant server must use non-empty key prefixes. Duplicate keys are disallowed by the semantics of the protobuf3 maps. See: https://developers.google.com/protocol-buffers/docs/proto3#maps Annotations may be a part of a modifiable resource. Use the resource’s update RPC to update its annotations. In order to add a new annotation or update an existing one using an update RPC, provide the desired annotation in the update request. In order to remove an annotation using an update RPC, provide the target annotation’s key but set its value to the empty string in the update request. Modifiable Optional: can be empty
string
The id of the
Identity Provider Optional, if not set, there could be 3 options: 1. the party is managed by the default identity provider. 2. party is not hosted by the participant. 3. party is hosted by the participant, but is outside of the user’s identity provider. Optional400
Invalid value, Invalid value for: bodytext/plain
string
required
default
application/json
string
required
string
required
string
string
Map_String
required
Tuple2_String_String[]
integer (int32)
required
integer (int32)
string
boolean
History
Updated
3.5The PATCH /v2/parties/{party} operation was updated in this snapshot.
Added
3.4