GET /v2/updates/transaction-tree-by-offset/:offset
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}"
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-offset/{offset}', {
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-offset/{offset}',
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-offset/{offset}", 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-offset/{offset}"))
.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-offset/{offset}')
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
200
400
default
{
"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-offset
/
{offset}
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}"
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-offset/{offset}', {
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-offset/{offset}',
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-offset/{offset}", 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-offset/{offset}"))
.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-offset/{offset}')
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
200
400
default
{
"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 offset. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-offset instead.
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}' \
--header 'Authorization: Bearer $TOKEN'
import json
import requests
url = "http://localhost:7575/v2/updates/transaction-tree-by-offset/{offset}"
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-offset/{offset}', {
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-offset/{offset}',
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-offset/{offset}", 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-offset/{offset}"))
.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-offset/{offset}')
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
200
400
default
{
"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
Authorization
string
required
HTTP bearer authentication. Send the token as
Authorization: Bearer <token>. Ledger API standard JWT tokenapiKeyAuth
Sec-WebSocket-Protocol
string
required
API key authentication in the header. Ledger API standard JWT token (websocket)
Path parameters
offset
number
required
OpenAPI type:
integer (int64).Query parameters
parties
string[]
Responses
200
application/json
transaction
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
updateId
string
required
Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in
value.proto). RequiredcommandId
string
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). OptionalworkflowId
string
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). OptionaleffectiveAt
string
required
Ledger effective time. Required
offset
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).eventsById
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
synchronizerId
string
required
A valid synchronizer id. Identifies the synchronizer that synchronized the transaction. Required
traceContext
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
traceparent
string
https://www.w3.org/TR/trace-context/ Optional
tracestate
string
Optional
recordTime
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: path parameter offset, Invalid value for: query parameter partiestext/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
Removal scheduled
3.5.0Updated
3.5The GET /v2/updates/transaction-tree-by-offset/{offset} operation changed in this snapshot.
Deprecated
3.4