List IP Transactions
curl --request POST \
--url https://api.storyapis.com/api/v4/transactions \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"orderBy": "blockNumber",
"orderDirection": "desc",
"pagination": {
"limit": 20,
"offset": 0
},
"where": {
"blockGte": 1,
"blockLte": 1,
"eventTypes": [
"<string>"
],
"initiators": [
"<string>"
],
"ipIds": [
"<string>"
],
"txHashes": [
"<string>"
]
}
}
'import requests
url = "https://api.storyapis.com/api/v4/transactions"
payload = {
"orderBy": "blockNumber",
"orderDirection": "desc",
"pagination": {
"limit": 20,
"offset": 0
},
"where": {
"blockGte": 1,
"blockLte": 1,
"eventTypes": ["<string>"],
"initiators": ["<string>"],
"ipIds": ["<string>"],
"txHashes": ["<string>"]
}
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderBy: 'blockNumber',
orderDirection: 'desc',
pagination: {limit: 20, offset: 0},
where: {
blockGte: 1,
blockLte: 1,
eventTypes: ['<string>'],
initiators: ['<string>'],
ipIds: ['<string>'],
txHashes: ['<string>']
}
})
};
fetch('https://api.storyapis.com/api/v4/transactions', 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.storyapis.com/api/v4/transactions",
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([
'orderBy' => 'blockNumber',
'orderDirection' => 'desc',
'pagination' => [
'limit' => 20,
'offset' => 0
],
'where' => [
'blockGte' => 1,
'blockLte' => 1,
'eventTypes' => [
'<string>'
],
'initiators' => [
'<string>'
],
'ipIds' => [
'<string>'
],
'txHashes' => [
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.storyapis.com/api/v4/transactions"
payload := strings.NewReader("{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.storyapis.com/api/v4/transactions")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.storyapis.com/api/v4/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"blockNumber": 123,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "<string>",
"id": 123,
"initiator": "<string>",
"ipId": "<string>",
"logIndex": 123,
"txHash": "<string>"
}
],
"$schema": "<string>",
"pagination": {
"hasMore": true,
"limit": 123,
"offset": 123,
"total": 123
}
}{
"$schema": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}Endpoints
List IP Transactions
Retrieve a list of IP transactions with pagination and filtering options. The ‘where’ field is optional and should only be provided when filtering by specific transaction hashes, event types, or block ranges. This endpoint can also be used to fetch specific transactions by passing their hashes in the txHashes filter.
POST
/
transactions
List IP Transactions
curl --request POST \
--url https://api.storyapis.com/api/v4/transactions \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"orderBy": "blockNumber",
"orderDirection": "desc",
"pagination": {
"limit": 20,
"offset": 0
},
"where": {
"blockGte": 1,
"blockLte": 1,
"eventTypes": [
"<string>"
],
"initiators": [
"<string>"
],
"ipIds": [
"<string>"
],
"txHashes": [
"<string>"
]
}
}
'import requests
url = "https://api.storyapis.com/api/v4/transactions"
payload = {
"orderBy": "blockNumber",
"orderDirection": "desc",
"pagination": {
"limit": 20,
"offset": 0
},
"where": {
"blockGte": 1,
"blockLte": 1,
"eventTypes": ["<string>"],
"initiators": ["<string>"],
"ipIds": ["<string>"],
"txHashes": ["<string>"]
}
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderBy: 'blockNumber',
orderDirection: 'desc',
pagination: {limit: 20, offset: 0},
where: {
blockGte: 1,
blockLte: 1,
eventTypes: ['<string>'],
initiators: ['<string>'],
ipIds: ['<string>'],
txHashes: ['<string>']
}
})
};
fetch('https://api.storyapis.com/api/v4/transactions', 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.storyapis.com/api/v4/transactions",
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([
'orderBy' => 'blockNumber',
'orderDirection' => 'desc',
'pagination' => [
'limit' => 20,
'offset' => 0
],
'where' => [
'blockGte' => 1,
'blockLte' => 1,
'eventTypes' => [
'<string>'
],
'initiators' => [
'<string>'
],
'ipIds' => [
'<string>'
],
'txHashes' => [
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.storyapis.com/api/v4/transactions"
payload := strings.NewReader("{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.storyapis.com/api/v4/transactions")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.storyapis.com/api/v4/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderBy\": \"blockNumber\",\n \"orderDirection\": \"desc\",\n \"pagination\": {\n \"limit\": 20,\n \"offset\": 0\n },\n \"where\": {\n \"blockGte\": 1,\n \"blockLte\": 1,\n \"eventTypes\": [\n \"<string>\"\n ],\n \"initiators\": [\n \"<string>\"\n ],\n \"ipIds\": [\n \"<string>\"\n ],\n \"txHashes\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"blockNumber": 123,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "<string>",
"id": 123,
"initiator": "<string>",
"ipId": "<string>",
"logIndex": 123,
"txHash": "<string>"
}
],
"$schema": "<string>",
"pagination": {
"hasMore": true,
"limit": 123,
"offset": 123,
"total": 123
}
}{
"$schema": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}This endpoint allows you to filter based on event type. Here are the possible string values for the
where.eventTypes[] field:- “IPRegistered”: When an IP asset is registered
- “LicenseTermsAttached”: When license terms are attached to an IP asset
- “DerivativeRegistered”: When a derivative IP asset is registered
- “DisputeRaised”: When a dispute is raised against an IP asset
- “DisputeResolved”: When a dispute is resolved
- “DisputeCancelled”: When a dispute is cancelled
- “DisputeJudgementSet”: When a judgement is set for a dispute
- “RoyaltyPaid”: When royalty payments are made
Authorizations
Body
application/json
Field to order results by
Available options:
blockNumber, createdAt, eventType, txHash, ipId, initiator Order direction for results
Available options:
asc, desc Pagination configuration
Show child attributes
Show child attributes
Optional filter options for transactions
Show child attributes
Show child attributes
⌘I