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

GET /v2/updates/transaction-tree-by-offset/:offset

GET
/
v2
/
updates
/
transaction-tree-by-offset
/
{offset}
Try it
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 &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

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

updateId
string
required
Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in value.proto). Required
commandId
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). Optional
workflowId
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). Optional
effectiveAt
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

traceparent
string
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 parties
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

Removal scheduled3.5.0
Updated3.5

The GET /v2/updates/transaction-tree-by-offset/{offset} operation changed in this snapshot.

Deprecated3.4