This API allows you to fetch analytics tracked by the leto.gg
platform for the requested CIDs.
POST https://api.leto.gg/analytics
Request Headers:
Content-Type: application/json
X-Leto-Token: <access-token> (Coming soon)
Request Body:
{
"cids": ["string"],
"page": "integer",
"size": "integer"
}
Request Body Parameters:
cids
(array): An array of strings, denoting content identifiers (CIDs)page
(integer): The page number of the search resultssize
(integer): The number of results to return per page
-
Request payload:
{ "cids": ["bafkreiedazv25tc7idkywbco3jxrywdnb3g4ff3pqegrmshhtcpk5zgsyi", "bafkreigt25bt7a6fdnx72jhtnnoezvoihcxxlvyc6kpxkfonayxrqnpiie"], "page": 1, "size": 10 }
-
Response:
{ "success": true, "data": { "metadata": [ { "total": 2, "page": 1 } ], "data": [ { "cid": "bafkreiedazv25tc7idkywbco3jxrywdnb3g4ff3pqegrmshhtcpk5zgsyi", "cidType": "ipfs", "lastAccessed": "2023-04-10T22:16:42.813Z", "numbersAccessed": 33 }, { "cid": "bafkreigt25bt7a6fdnx72jhtnnoezvoihcxxlvyc6kpxkfonayxrqnpiie", "cidType": "ipfs", "lastAccessed": "2023-04-07T09:42:14.531Z", "numbersAccessed": 3 } ] } }
-
success
(boolean): Indicates whether the API request was successful or not. -
data
(object): Contains the search results.metadata
(object): Contains metadata information about the search results such as pagination information.total
(integer): The total number of results available.page
(integer): The current page number of the search results.
data
(array): Contains the actual search results.cid
(string): The content identifier (CID).cidType
(string): The type of identifier, i.e.ipfs
oripns
.lastAccessed
(string): Timestamp when the CID was last accessed.numbersAccessed
(integer): Number of times the CID was accessed.
Try it!
curl --location --request POST 'https://api.leto.gg/analytics' \
--header 'Content-Type: application/json' \
--data-raw '{
"cids": ["bafkreiedazv25tc7idkywbco3jxrywdnb3g4ff3pqegrmshhtcpk5zgsyi", "bafkreigt25bt7a6fdnx72jhtnnoezvoihcxxlvyc6kpxkfonayxrqnpiie"],
"page": 1,
"size": 5
}'
These error responses provide information about the encountered errors during the API requests and can help you identify and address the issues with the requests.
-
Request:
curl --location --request POST 'https://api.leto.gg/analytics' \ --header 'Content-Type: application/json' \ --data-raw '{ "cids": [], "page": 1, "size": 5 }'
-
Response:
-
Status: 400
{ "success": false, "message": "request needs at least one CID to respond" }
-
-
Request:
curl --location --request POST 'https://api.leto.gg/analytics' \ --header 'Content-Type: application/json' \ --data-raw '{ "cids": ["bafkreiedazv25tc7idkywbco3jxrywdnb3g4ff3pqegrmshhtcpk5zgsyi", "bafkreigt25bt7a6fdnx72jhtnnoezvoihcxxlvyc6kpxkfonayxrqnpiie"], "page": -1, "size": 5 }'
-
Response:
-
Status: 400
{ "success": false, "message": "invalid page" }
-
-
Request:
curl --location --request POST 'https://api.leto.gg/analytics' \ --header 'Content-Type: application/json' \ --data-raw '{ "cids": ["bafkreiedazv25tc7idkywbco3jxrywdnb3g4ff3pqegrmshhtcpk5zgsyi", "bafkreigt25bt7a6fdnx72jhtnnoezvoihcxxlvyc6kpxkfonayxrqnpiie"], "page": 1, "size": -1 }'
-
Response:
-
Status: 400
{ "success": false, "message": "invalid size" }
-