Skip to content
CCPEDIAby Unity Nodes
Documentation/Canton Network Docs/Ledger APIOpenAPIView on Canton Network Docs

PATCH /v2/users/:user-id/identity-provider-id

PATCH
/
v2
/
users
/
{user-id}
/
identity-provider-id
Try it
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request PATCH \
  --url 'http://localhost:7575/v2/users/{user-id}/identity-provider-id' \
  --header 'Authorization: Bearer $TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}'
import json
import requests

url = "http://localhost:7575/v2/users/{user-id}/identity-provider-id"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}''')
response = requests.request(
    "PATCH", url, headers=headers, json=payload
)

print(response.text)
const response = await fetch('http://localhost:7575/v2/users/{user-id}/identity-provider-id', {
  method: 'PATCH',
  headers: {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
},
  body: JSON.stringify({
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}),
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'http://localhost:7575/v2/users/{user-id}/identity-provider-id',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'PATCH',
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
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/users/{user-id}/identity-provider-id", bytes.NewBufferString(`{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}`))
  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/users/{user-id}/identity-provider-id"))
    .header("Authorization", "Bearer <token>")
    .header("Content-Type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
"""))
    .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/users/{user-id}/identity-provider-id')
request = Net::HTTP::Patch.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
default
{}
<string>
{
  "code": "<string>",
  "cause": "<string>",
  "correlationId": "<string>",
  "traceId": "<string>",
  "context": {},
  "resources": [
    [
      "<string>"
    ]
  ],
  "errorCategory": 123,
  "grpcCodeValue": 123,
  "retryInfo": "<string>",
  "definiteAnswer": false
}

Update the assignment of a user from one IDP to another.

cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request PATCH \
  --url 'http://localhost:7575/v2/users/{user-id}/identity-provider-id' \
  --header 'Authorization: Bearer $TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}'
import json
import requests

url = "http://localhost:7575/v2/users/{user-id}/identity-provider-id"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}''')
response = requests.request(
    "PATCH", url, headers=headers, json=payload
)

print(response.text)
const response = await fetch('http://localhost:7575/v2/users/{user-id}/identity-provider-id', {
  method: 'PATCH',
  headers: {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
},
  body: JSON.stringify({
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}),
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'http://localhost:7575/v2/users/{user-id}/identity-provider-id',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'PATCH',
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
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/users/{user-id}/identity-provider-id", bytes.NewBufferString(`{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}`))
  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/users/{user-id}/identity-provider-id"))
    .header("Authorization", "Bearer <token>")
    .header("Content-Type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
"""))
    .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/users/{user-id}/identity-provider-id')
request = Net::HTTP::Patch.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
  "userId": "<string>",
  "sourceIdentityProviderId": "<string>",
  "targetIdentityProviderId": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
default
{}
<string>
{
  "code": "<string>",
  "cause": "<string>",
  "correlationId": "<string>",
  "traceId": "<string>",
  "context": {},
  "resources": [
    [
      "<string>"
    ]
  ],
  "errorCategory": 123,
  "grpcCodeValue": 123,
  "retryInfo": "<string>",
  "definiteAnswer": false
}

Authorizations

httpAuth

Authorization
string
required
HTTP bearer authentication. Send the token as Authorization: Bearer &lt;token&gt;. Ledger API standard JWT token

apiKeyAuth

Sec-WebSocket-Protocol
string
required
API key authentication in the header. Ledger API standard JWT token (websocket)

Path parameters

user-id
string
required

Body

application/json
userId
string
required
User to update Required
sourceIdentityProviderId
string
Current identity provider ID of the user If omitted, the default IDP is assumed Optional
targetIdentityProviderId
string
Target identity provider ID of the user If omitted, the default IDP is assumed Optional

Responses

200

application/json
value
UpdateUserIdentityProviderIdResponse
required

400

Invalid value, Invalid value for: body
text/plain
value
string
required

default

application/json
code
string
required
cause
string
required
correlationId
string
traceId
string
context
Map_String
required
resources
Tuple2_String_String[]
errorCategory
integer (int32)
required
grpcCodeValue
integer (int32)
retryInfo
string
definiteAnswer
boolean

History

Updated3.5

The PATCH /v2/users/{user-id}/identity-provider-id operation changed in this snapshot.