Get IP Asset Graph
curl --request GET \
--url https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId} \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}', 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://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"children": {
"children": [
{
"children": [],
"ipId": "0xabcdef0123456789abcdef0123456789abcdef01"
}
],
"ipId": "0x123456789abcdef0123456789abcdef012345678"
},
"parents": {
"ipId": "0xAb92d4f9EA97666c40527D54a9aF4D7F82ab8552",
"parents": [
{
"ipId": "0x9876543210abcdef9876543210abcdef98765432",
"parents": []
}
]
},
"rootIpId": "0xf6546a7e5342b152366E3B3FC773743b6D991aB2"
}IP Assets
Get IP Asset Graph
Get the graph of an IP Asset, by default it will fetch the first level of parents and children (depth = 1). You can customize the depth using the query parameter ‘depth’ to a maximum of 3. Maximum 100 parents or children will be returned for each level.
The ipAssetId parameter should be the Story Protocol asset ID (not the Crossmint ID). Must start with ‘0x’ followed by hexadecimal characters.
API scope required: nfts.read
GET
/
v1
/
ip
/
graph
/
{ipAssetId}
Get IP Asset Graph
curl --request GET \
--url https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId} \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}', 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://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1/ip/graph/{ipAssetId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"children": {
"children": [
{
"children": [],
"ipId": "0xabcdef0123456789abcdef0123456789abcdef01"
}
],
"ipId": "0x123456789abcdef0123456789abcdef012345678"
},
"parents": {
"ipId": "0xAb92d4f9EA97666c40527D54a9aF4D7F82ab8552",
"parents": [
{
"ipId": "0x9876543210abcdef9876543210abcdef98765432",
"parents": []
}
]
},
"rootIpId": "0xf6546a7e5342b152366E3B3FC773743b6D991aB2"
}This API is still under development. Contact support for early access.
Headers
API key required for authentication
Path Parameters
Query Parameters
Pattern:
^\d+$Response
200 - application/json
IP Asset Graph found
Array of child IP asset nodes
Show child attributes
Show child attributes
Example:
{
"children": [
{
"children": [],
"ipId": "0xabcdef0123456789abcdef0123456789abcdef01"
}
],
"ipId": "0x123456789abcdef0123456789abcdef012345678"
}
Array of parent IP asset nodes
Show child attributes
Show child attributes
Example:
{
"ipId": "0xAb92d4f9EA97666c40527D54a9aF4D7F82ab8552",
"parents": [
{
"ipId": "0x9876543210abcdef9876543210abcdef98765432",
"parents": []
}
]
}
The root IP ID for which the graph was generated
Example:
"0xf6546a7e5342b152366E3B3FC773743b6D991aB2"
Was this page helpful?

