Create VASP
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/compliance/vasps \
--header 'Content-Type: application/json' \
--data '
{
"vaspName": "ZODIA Vasp",
"vaspCountry": "UK",
"description": "This VASP will be used by Zodia clients in UK",
"restrictedCompany": [
"<string>"
],
"hasMultipleAddress": true,
"tenants": [
"<string>"
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/compliance/vasps"
payload = {
"vaspName": "ZODIA Vasp",
"vaspCountry": "UK",
"description": "This VASP will be used by Zodia clients in UK",
"restrictedCompany": ["<string>"],
"hasMultipleAddress": True,
"tenants": ["<string>"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
vaspName: 'ZODIA Vasp',
vaspCountry: 'UK',
description: 'This VASP will be used by Zodia clients in UK',
restrictedCompany: ['<string>'],
hasMultipleAddress: true,
tenants: ['<string>']
})
};
fetch('https://api.custody.api-zodia.io/v3/api/compliance/vasps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.custody.api-zodia.io/v3/api/compliance/vasps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vaspName' => 'ZODIA Vasp',
'vaspCountry' => 'UK',
'description' => 'This VASP will be used by Zodia clients in UK',
'restrictedCompany' => [
'<string>'
],
'hasMultipleAddress' => true,
'tenants' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/compliance/vasps"
payload := strings.NewReader("{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/compliance/vasps")
.header("Content-Type", "application/json")
.body("{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/compliance/vasps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Network-V3
Create VASP
Used for creating a VASP.
POST
/
v3
/
api
/
compliance
/
vasps
Create VASP
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/compliance/vasps \
--header 'Content-Type: application/json' \
--data '
{
"vaspName": "ZODIA Vasp",
"vaspCountry": "UK",
"description": "This VASP will be used by Zodia clients in UK",
"restrictedCompany": [
"<string>"
],
"hasMultipleAddress": true,
"tenants": [
"<string>"
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/compliance/vasps"
payload = {
"vaspName": "ZODIA Vasp",
"vaspCountry": "UK",
"description": "This VASP will be used by Zodia clients in UK",
"restrictedCompany": ["<string>"],
"hasMultipleAddress": True,
"tenants": ["<string>"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
vaspName: 'ZODIA Vasp',
vaspCountry: 'UK',
description: 'This VASP will be used by Zodia clients in UK',
restrictedCompany: ['<string>'],
hasMultipleAddress: true,
tenants: ['<string>']
})
};
fetch('https://api.custody.api-zodia.io/v3/api/compliance/vasps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.custody.api-zodia.io/v3/api/compliance/vasps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vaspName' => 'ZODIA Vasp',
'vaspCountry' => 'UK',
'description' => 'This VASP will be used by Zodia clients in UK',
'restrictedCompany' => [
'<string>'
],
'hasMultipleAddress' => true,
'tenants' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/compliance/vasps"
payload := strings.NewReader("{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/compliance/vasps")
.header("Content-Type", "application/json")
.body("{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/compliance/vasps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"vaspName\": \"ZODIA Vasp\",\n \"vaspCountry\": \"UK\",\n \"description\": \"This VASP will be used by Zodia clients in UK\",\n \"restrictedCompany\": [\n \"<string>\"\n ],\n \"hasMultipleAddress\": true,\n \"tenants\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Headers
Body
application/json
The name of the VASP
Example:
"ZODIA Vasp"
This value shows the supported travel rule.
Available options:
MANUAL, TRUST, ZODIA, UNHOSTED The country of the VASP
Example:
"UK"
The description of the VASP
Example:
"This VASP will be used by Zodia clients in UK"
This will contain the list of companies allowed to use the VASP. If the value is empty or null, The VASP will be accessible to all companies under the tenants.
This shows if a VASP can have multiple address
This will contain the list of tenants where the VASP will be available.
Response
CREATED
⌘I