curl --request POST \
--url 'http://localhost:7575/v2/traffic/accounts' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}'
import json
import requests
url = "http://localhost:7575/v2/traffic/accounts"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/traffic/accounts', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/traffic/accounts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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("POST", "http://localhost:7575/v2/traffic/accounts", bytes.NewBufferString(`{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"response": {
"accountId": "<string>",
"balance": 123
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
POST /v2/traffic/accounts
Update account state for a given account ID. Permissioned only to Ledger API admin users. NOTE: This endpoint is exposed only when traffic enforcement feature is enabled (canton.participants.participant1.traffic-enforcement.enabled = true)
POST
/
v2
/
traffic
/
accounts
curl --request POST \
--url 'http://localhost:7575/v2/traffic/accounts' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}'
import json
import requests
url = "http://localhost:7575/v2/traffic/accounts"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/traffic/accounts', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/traffic/accounts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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("POST", "http://localhost:7575/v2/traffic/accounts", bytes.NewBufferString(`{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"response": {
"accountId": "<string>",
"balance": 123
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Update account state for a given account ID. Permissioned only to Ledger API admin users. NOTE: This endpoint is exposed only when traffic enforcement feature is enabled (canton.participants.participant1.traffic-enforcement.enabled = true)
OpenAPIAdded 3.5
curl --request POST \
--url 'http://localhost:7575/v2/traffic/accounts' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}'
import json
import requests
url = "http://localhost:7575/v2/traffic/accounts"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/traffic/accounts', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/traffic/accounts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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("POST", "http://localhost:7575/v2/traffic/accounts", bytes.NewBufferString(`{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<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/traffic/accounts')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"accountId": "<string>",
"balanceDelta": 123,
"deduplicationId": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"response": {
"accountId": "<string>",
"balance": 123
}
}
<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)
Body
application/json
string
required
The account ID whose account to update. NOTE: Currently, the account ID is tied to and identified by a party ID. This constraint is expected to be removed in a future release, allowing for user-defined account IDs that are not necessarily tied to a specific party. Required
number
OpenAPI type:
integer (int64).Balance DELTA to apply to the current balance. Negative values will decrease the balance, positive values will increase the balance. If unset, the balance will not be updated Note that setting a negative value may result in a negative balance if the delta is larger than the current balance. Optionalstring
required
Identifier of this logical update, used to de-duplicate. The caller MUST use a distinct id for every distinct update, and MUST reuse the same id when retrying an update that failed after a retryable error. An already processed id is ignored, while a fresh id applies the delta again. Required
Responses
200
application/json
GetAccountResponse
required
400
Invalid value, Invalid value for: bodytext/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
Added
3.5