curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}"
headers = {'Authorization': 'Bearer <token>'}
response = requests.request("GET", url, headers=headers)
print(response.text)
const response = await fetch('http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}', {
method: 'GET',
headers: {
"Authorization": "Bearer <token>"
},
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}", nil)
req.Header.Set("Authorization", "Bearer <token>")
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/updates/transaction-tree-by-id/{update-id}"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.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/updates/transaction-tree-by-id/{update-id}')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer <token>'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"transaction": {
"updateId": "<string>",
"commandId": "<string>",
"workflowId": "<string>",
"effectiveAt": "<string>",
"offset": 123,
"eventsById": {},
"synchronizerId": "<string>",
"traceContext": {
"traceparent": "<string>",
"tracestate": "<string>"
},
"recordTime": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
GET /v2/updates/transaction-tree-by-id/:update-id
Get transaction tree by id. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-id instead.
GET
/
v2
/
updates
/
transaction-tree-by-id
/
{update-id}
curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}"
headers = {'Authorization': 'Bearer <token>'}
response = requests.request("GET", url, headers=headers)
print(response.text)
const response = await fetch('http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}', {
method: 'GET',
headers: {
"Authorization": "Bearer <token>"
},
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}", nil)
req.Header.Set("Authorization", "Bearer <token>")
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/updates/transaction-tree-by-id/{update-id}"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.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/updates/transaction-tree-by-id/{update-id}')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer <token>'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"transaction": {
"updateId": "<string>",
"commandId": "<string>",
"workflowId": "<string>",
"effectiveAt": "<string>",
"offset": 123,
"eventsById": {},
"synchronizerId": "<string>",
"traceContext": {
"traceparent": "<string>",
"tracestate": "<string>"
},
"recordTime": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Get transaction tree by id. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-id instead.
curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}"
headers = {'Authorization': 'Bearer <token>'}
response = requests.request("GET", url, headers=headers)
print(response.text)
const response = await fetch('http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}', {
method: 'GET',
headers: {
"Authorization": "Bearer <token>"
},
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "http://localhost:7575/v2/updates/transaction-tree-by-id/{update-id}", nil)
req.Header.Set("Authorization", "Bearer <token>")
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/updates/transaction-tree-by-id/{update-id}"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.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/updates/transaction-tree-by-id/{update-id}')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer <token>'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"transaction": {
"updateId": "<string>",
"commandId": "<string>",
"workflowId": "<string>",
"effectiveAt": "<string>",
"offset": 123,
"eventsById": {},
"synchronizerId": "<string>",
"traceContext": {
"traceparent": "<string>",
"tracestate": "<string>"
},
"recordTime": "<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
Query parameters
string[]
Responses
200
application/json
JsTransactionTree
required
Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Complete view of an on-ledger transaction.
Show child attributes
Show child attributes
string
required
Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in
value.proto). Requiredstring
The ID of the command which resulted in this transaction. Missing for everyone except the submitting party. Must be a valid LedgerString (as described in
value.proto). Optionalstring
The workflow ID used in command submission. Only set if the
workflow_id for the command was set. Must be a valid LedgerString (as described in value.proto). Optionalstring
required
Ledger effective time. Required
integer (int64)
required
The absolute offset. The details of this field are described in
community/ledger-api/README.md. Required, it is a valid absolute offset (positive integer).Map_Int_TreeEvent
required
Changes to the ledger that were caused by this transaction. Nodes of the transaction tree. Each key must be a valid node ID (non-negative integer). Required
string
required
A valid synchronizer id. Identifies the synchronizer that synchronized the transaction. Required
TraceContext
Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead.
Show child attributes
Show child attributes
string
https://www.w3.org/TR/trace-context/ Optional
string
Optional
string
required
The time at which the transaction was recorded. The record time refers to the synchronizer which synchronized the transaction. Required
400
Invalid value, Invalid value for: query parameter partiestext/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
Removal scheduled
3.5.0Updated
3.5The GET /v2/updates/transaction-tree-by-id/{update-id} operation was updated in this snapshot.
Deprecated
3.4Added
3.4