Documentation/Canton Network Docs/Splice APIsToken Standard APIsToken Metadata ServiceView on Canton Network Docs ↗
GET /registry/metadata/v1/instruments
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'https://example.com/registry/metadata/v1/instruments'
import json
import requests
url = "https://example.com/registry/metadata/v1/instruments"
response = requests.request("GET", url)
print(response.text)
const response = await fetch('https://example.com/registry/metadata/v1/instruments', {
method: 'GET',
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://example.com/registry/metadata/v1/instruments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://example.com/registry/metadata/v1/instruments", nil)
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("https://example.com/registry/metadata/v1/instruments"))
.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('https://example.com/registry/metadata/v1/instruments')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
200
404
500
{
"instruments": [
{
"id": "<string>",
"name": "<string>",
"symbol": "<string>",
"totalSupply": "<string>",
"totalSupplyAsOf": "2026-01-01T00:00:00Z",
"decimals": 10,
"paused": false,
"pauseInfo": {
"reason": "<string>",
"until": "2026-01-01T00:00:00Z"
},
"supportedApis": {},
"showAccountInputFields": false,
"accountInputFieldsToShow": [
"provider"
]
}
],
"nextPageToken": "<string>"
}
{
"error": "<string>"
}
{
"error": "<string>"
}
GET
/
registry
/
metadata
/
v1
/
instruments
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'https://example.com/registry/metadata/v1/instruments'
import json
import requests
url = "https://example.com/registry/metadata/v1/instruments"
response = requests.request("GET", url)
print(response.text)
const response = await fetch('https://example.com/registry/metadata/v1/instruments', {
method: 'GET',
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://example.com/registry/metadata/v1/instruments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://example.com/registry/metadata/v1/instruments", nil)
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("https://example.com/registry/metadata/v1/instruments"))
.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('https://example.com/registry/metadata/v1/instruments')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
200
404
500
{
"instruments": [
{
"id": "<string>",
"name": "<string>",
"symbol": "<string>",
"totalSupply": "<string>",
"totalSupplyAsOf": "2026-01-01T00:00:00Z",
"decimals": 10,
"paused": false,
"pauseInfo": {
"reason": "<string>",
"until": "2026-01-01T00:00:00Z"
},
"supportedApis": {},
"showAccountInputFields": false,
"accountInputFieldsToShow": [
"provider"
]
}
],
"nextPageToken": "<string>"
}
{
"error": "<string>"
}
{
"error": "<string>"
}
List all instruments managed by this instrument admin.
OpenAPIUpdated 0.6.12
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
--url 'https://example.com/registry/metadata/v1/instruments'
import json
import requests
url = "https://example.com/registry/metadata/v1/instruments"
response = requests.request("GET", url)
print(response.text)
const response = await fetch('https://example.com/registry/metadata/v1/instruments', {
method: 'GET',
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://example.com/registry/metadata/v1/instruments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://example.com/registry/metadata/v1/instruments", nil)
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("https://example.com/registry/metadata/v1/instruments"))
.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('https://example.com/registry/metadata/v1/instruments')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
200
404
500
{
"instruments": [
{
"id": "<string>",
"name": "<string>",
"symbol": "<string>",
"totalSupply": "<string>",
"totalSupplyAsOf": "2026-01-01T00:00:00Z",
"decimals": 10,
"paused": false,
"pauseInfo": {
"reason": "<string>",
"until": "2026-01-01T00:00:00Z"
},
"supportedApis": {},
"showAccountInputFields": false,
"accountInputFieldsToShow": [
"provider"
]
}
],
"nextPageToken": "<string>"
}
{
"error": "<string>"
}
{
"error": "<string>"
}
Query parameters
pageSize
number
default:"25"
OpenAPI type:
integer (int32).Number of instruments per page.pageToken
string
The
nextPageToken received from the response for the previous page.Responses
200
okapplication/json
instruments
Instrument[]
required
Show child attributes
Show child attributes
id
string
required
The unique identifier assigned by the admin to the instrument.
name
string
required
The display name for the instrument recommended by the instrument admin. This is not necessarily unique.
symbol
string
required
The symbol for the instrument recommended by the instrument admin. This is not necessarily unique.
totalSupply
string
Decimal encoded current total supply of the instrument.
totalSupplyAsOf
string (date-time)
The timestamp when the total supply was last computed.
decimals
integer (int8)
default:"10"
required
The number of decimal places used by the instrument. Must be a number between 0 and 10, as the Daml interfaces represent holding amounts as
Decimal values, which use 10 decimal places and are precise for 38 digits. Setting this to 0 means that the instrument can only be held in whole units. This number SHOULD be used for display purposes in a wallet to decide how many decimal places to show and accept when displaying or entering amounts.paused
boolean
default:"false"
Indicates whether the instrument is currently paused. A paused instrument cannot be transferred or allocated.
pauseInfo
PauseInfo
supportedApis
SupportedApis
required
Map from token standard API name to the minor version of the API supported, e.g., splice-api-token-metadata-v1 -> 1 where the
1 corresponds to the minor version.showAccountInputFields
boolean
default:"false"
Informs wallets whether the instrument supports non-basic accounts and the wallet should thus show input fields for both the account provider and the account id in input forms for transfers and allocations. Note that wallets should always show non-null account providers and account ids when displaying transfers and allocations. This property is deprecated in favor of the more fine-grained
accountInputFieldsToShow property.accountInputFieldsToShow
AccountInputFieldsToShow
Which account input field(s) wallets should show in forms.
nextPageToken
string
The token for the next page of results, to be used as the lastInstrumentId for the next page.
404
not foundapplication/json
error
string
required
500
Internal server errorapplication/json
error
string
required
History
Updated
0.6.12The GET /registry/metadata/v1/instruments operation changed in this snapshot.
Updated
0.6.11The GET /registry/metadata/v1/instruments operation changed in this snapshot.