Skip to content
CCPEDIAby Unity Nodes
Documentation/Canton Network Docs/Splice APIsScan APIsScan APIView on Canton Network Docs

POST /v0/activities

Scan API

POST /v0/activities

POST/v0/activities

Removed in 0.6.8. Historical definition from 0.6.7.

Deprecated. Lists activities in descending order, paged, optionally starting after a provided event id.

Protocol Details

Inputs

Body

application/json
begin_after_idstring
Minimal event_id for returned activities. Note that all activities carry some monotonically-increasing event_id. begin_after_id sets the minimum value for event_id’s for the query.
page_sizeinteger (int64)required
The maximum number of activity items returned for this request.

Outputs

200

application/json
activitiesListActivityResponseItem[]required

404

application/json
errorstringrequired

500

application/json
errorstringrequired

History

Removed in0.6.8

Last available in 0.6.7. Retained for historical reference.

Updated0.5.12

The POST /v0/activities operation changed in this snapshot.

Deprecated0.5.10
cURL
cURL
curl --request POST \
  --url 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities' \
  --header 'Content-Type: application/json' \
  --data '{
  "begin_after_id": "<string>",
  "page_size": 123
}'
Python
Python
import json
import requests

url = "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities"
headers = {'Content-Type': 'application/json'}
payload = json.loads(r'''{
  "begin_after_id": "<string>",
  "page_size": 123
}''')
response = requests.request(
    "POST", url, headers=headers, json=payload
)

print(response.text)
JavaScript
JavaScript
const response = await fetch('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities', {
  method: 'POST',
  headers: {
  "Content-Type": "application/json"
},
  body: JSON.stringify({
  "begin_after_id": "<string>",
  "page_size": 123
}),
});

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "begin_after_id": "<string>",
  "page_size": 123
}
JSON,
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json"
    ],
]);

$response = curl_exec($curl);
echo $response;
Go
Go
package main

import (
  "bytes"
  "fmt"
  "io"
  "net/http"
)

func main() {
  req, _ := http.NewRequest("POST", "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities", bytes.NewBufferString(`{
  "begin_after_id": "<string>",
  "page_size": 123
}`))
  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))
}
Java
Java
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("https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities"))
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("""
{
  "begin_after_id": "<string>",
  "page_size": 123
}
"""))
    .build();
var response = HttpClient.newHttpClient().send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Ruby
Ruby
require 'net/http'
require 'uri'

uri = URI('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/activities')
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
  "begin_after_id": "<string>",
  "page_size": 123
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200application/json
200
{
  "activities": [
    {
      "activity_type": "transfer",
      "event_id": "<string>",
      "offset": "<string>",
      "date": "2026-01-01T00:00:00Z",
      "domain_id": "<string>",
      "round": 123,
      "transfer": {
        "sender": {
          "party": "<string>",
          "input_amulet_amount": "<string>",
          "input_app_reward_amount": "<string>",
          "input_validator_reward_amount": "<string>",
          "input_sv_reward_amount": "<string>",
          "input_validator_faucet_amount": "<string>",
          "sender_change_fee": "<string>",
          "sender_change_amount": "<string>",
          "sender_fee": "<string>",
          "holding_fees": "<string>"
        },
        "receivers": [
          {
            "party": "<string>",
            "amount": "<string>",
            "receiver_fee": "<string>"
          }
        ],
        "balance_changes": [
          {
            "party": "<string>",
            "change_to_initial_amount_as_of_round_zero": "<string>",
            "change_to_holding_fees_rate": "<string>"
          }
        ],
        "description": "<string>",
        "transferInstructionReceiver": "<string>",
        "transferInstructionAmount": "<string>",
        "transferInstructionCid": "<string>",
        "transfer_kind": "create_transfer_instruction"
      },
      "mint": {
        "amulet_owner": "<string>",
        "amulet_amount": "<string>"
      },
      "tap": {
        "amulet_owner": "<string>",
        "amulet_amount": "<string>"
      },
      "abort_transfer_instruction": {
        "abort_kind": "withdraw",
        "transfer_instruction_cid": "<string>"
      }
    }
  ]
}
404application/json
404
{
  "error": "<string>"
}
500application/json
500
{
  "error": "<string>"
}