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

POST /v0/entry/create

POST
/
api
/
validator
/
v0
/
entry
/
create
Try it
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request POST \
  --url 'https://example.com/api/validator/v0/entry/create' \
  --header 'Authorization: Bearer $TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}'
import json
import requests

url = "https://example.com/api/validator/v0/entry/create"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}''')
response = requests.request(
    "POST", url, headers=headers, json=payload
)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/entry/create', {
  method: 'POST',
  headers: {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
},
  body: JSON.stringify({
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}),
});

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/entry/create',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "name": "<string>",
  "url": "<string>",
  "description": "<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", "https://example.com/api/validator/v0/entry/create", bytes.NewBufferString(`{
  "name": "<string>",
  "url": "<string>",
  "description": "<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("https://example.com/api/validator/v0/entry/create"))
    .header("Authorization", "Bearer <token>")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("""
{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
"""))
    .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/api/validator/v0/entry/create')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
500
{
  "entryContextCid": "<string>",
  "subscriptionRequestCid": "<string>",
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
{
  "error": "<string>"
}
{
  "error": "<string>"
}

Requests the creation of a new ANS entry. ANS entries need to be paid and renewed via subscription payments. Upon requesting the creation of the ANS entry, a subscription request is created. The user may accept the subscription request via their wallet by offering the initial payment. Once the subscription request is accepted, the DSO automation burns the payment and creates the ANS entry.

OpenAPI
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request POST \
  --url 'https://example.com/api/validator/v0/entry/create' \
  --header 'Authorization: Bearer $TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}'
import json
import requests

url = "https://example.com/api/validator/v0/entry/create"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}''')
response = requests.request(
    "POST", url, headers=headers, json=payload
)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/entry/create', {
  method: 'POST',
  headers: {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
},
  body: JSON.stringify({
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}),
});

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/entry/create',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "name": "<string>",
  "url": "<string>",
  "description": "<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", "https://example.com/api/validator/v0/entry/create", bytes.NewBufferString(`{
  "name": "<string>",
  "url": "<string>",
  "description": "<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("https://example.com/api/validator/v0/entry/create"))
    .header("Authorization", "Bearer <token>")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("""
{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
"""))
    .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/api/validator/v0/entry/create')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
500
{
  "entryContextCid": "<string>",
  "subscriptionRequestCid": "<string>",
  "name": "<string>",
  "url": "<string>",
  "description": "<string>"
}
{
  "error": "<string>"
}
{
  "error": "<string>"
}

Authorizations

userAuth

Authorization
string
required
HTTP bearer authentication. Send the token as Authorization: Bearer &lt;token&gt;. Bearer format: JWT. JWT token as described by the spliceAppBearerAuth security scheme. The subject of the token must be ledger API user of the user affected by the endpoint.

Body

application/json
name
string
required
The name of the ANS entry. It must end with .unverified.&lt;ans&gt; where &lt;ans&gt; is the ANS acronym chosen by the DSO.
url
string
required
A valid URL or an empty string. Use this to link to a website, such as the homepage of an application provided by the owner of this entry. Must not be longer than 255 characters.
description
string
required
A human readable description of the ANS entry. May be empty. Must not be longer than 140 characters.

Responses

200

ok
application/json
entryContextCid
ContractId
required
subscriptionRequestCid
ContractId
required
name
string
required
The name of the ANS entry, as specified in the request.
url
string
required
The URL of the ANS entry, as specified in the request.
description
string
required
The description of the ANS entry, as specified in the request.

400

Invalid request, check the error response for details.
application/json
error
string
required

500

internal server error
application/json
error
string
required