curl --request POST \
--url https://api.nekt.ai/api/v1/token-access-logs/exports/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"token_id": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"token_kind": [],
"token_owner_id": [
123
],
"action": [
"<string>"
],
"transport": [],
"status_code": 123,
"status_code__lt": 123,
"status_code__gte": 123
}
'import requests
url = "https://api.nekt.ai/api/v1/token-access-logs/exports/"
payload = {
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"token_id": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"token_kind": [],
"token_owner_id": [123],
"action": ["<string>"],
"transport": [],
"status_code": 123,
"status_code__lt": 123,
"status_code__gte": 123
}
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({
start_date: '2023-12-25',
end_date: '2023-12-25',
token_id: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
token_kind: [],
token_owner_id: [123],
action: ['<string>'],
transport: [],
status_code: 123,
status_code__lt: 123,
status_code__gte: 123
})
};
fetch('https://api.nekt.ai/api/v1/token-access-logs/exports/', 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.nekt.ai/api/v1/token-access-logs/exports/",
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([
'start_date' => '2023-12-25',
'end_date' => '2023-12-25',
'token_id' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'token_kind' => [
],
'token_owner_id' => [
123
],
'action' => [
'<string>'
],
'transport' => [
],
'status_code' => 123,
'status_code__lt' => 123,
'status_code__gte' => 123
]),
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.nekt.ai/api/v1/token-access-logs/exports/"
payload := strings.NewReader("{\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\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.nekt.ai/api/v1/token-access-logs/exports/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nekt.ai/api/v1/token-access-logs/exports/")
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 \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"filters": "<unknown>",
"row_count": 123,
"file_name": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"download_url": "<string>",
"download_url_expires_at": "2023-11-07T05:31:56Z"
}Export Token Access Logs
Build a Parquet file with every token access log of a period: each log’s full detail, request body and headers included, plus what its Athena queries scanned and cost.
curl --request POST \
--url https://api.nekt.ai/api/v1/token-access-logs/exports/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"token_id": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"token_kind": [],
"token_owner_id": [
123
],
"action": [
"<string>"
],
"transport": [],
"status_code": 123,
"status_code__lt": 123,
"status_code__gte": 123
}
'import requests
url = "https://api.nekt.ai/api/v1/token-access-logs/exports/"
payload = {
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"token_id": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"token_kind": [],
"token_owner_id": [123],
"action": ["<string>"],
"transport": [],
"status_code": 123,
"status_code__lt": 123,
"status_code__gte": 123
}
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({
start_date: '2023-12-25',
end_date: '2023-12-25',
token_id: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
token_kind: [],
token_owner_id: [123],
action: ['<string>'],
transport: [],
status_code: 123,
status_code__lt: 123,
status_code__gte: 123
})
};
fetch('https://api.nekt.ai/api/v1/token-access-logs/exports/', 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.nekt.ai/api/v1/token-access-logs/exports/",
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([
'start_date' => '2023-12-25',
'end_date' => '2023-12-25',
'token_id' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'token_kind' => [
],
'token_owner_id' => [
123
],
'action' => [
'<string>'
],
'transport' => [
],
'status_code' => 123,
'status_code__lt' => 123,
'status_code__gte' => 123
]),
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.nekt.ai/api/v1/token-access-logs/exports/"
payload := strings.NewReader("{\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\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.nekt.ai/api/v1/token-access-logs/exports/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nekt.ai/api/v1/token-access-logs/exports/")
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 \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"token_id\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"token_kind\": [],\n \"token_owner_id\": [\n 123\n ],\n \"action\": [\n \"<string>\"\n ],\n \"transport\": [],\n \"status_code\": 123,\n \"status_code__lt\": 123,\n \"status_code__gte\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"filters": "<unknown>",
"row_count": 123,
"file_name": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"download_url": "<string>",
"download_url_expires_at": "2023-11-07T05:31:56Z"
}Authorizations
API Key authentication. Format: 'x-api-key: api_key'
Body
The period to export and, optionally, the same filters the list accepts.
First day to export (UTC), inclusive.
Last day to export (UTC), inclusive. At most 31 days after start_date.
One token id or a list of them.
api-token- API tokenmcp-token- MCP token
api-token, mcp-token 128http- HTTPwebsocket- WebSocket
http, websocket Response
A token access log export.
Poll it until status is succeeded or failed. Once it has succeeded, download_url is a
signed link to the Parquet file in your workspace's lakehouse bucket, valid until
download_url_expires_at; read the export again for a fresh one.
pending- Pendingrunning- Runningsucceeded- Succeededfailed- Failed
pending, running, succeeded, failed Inclusive, UTC.
Inclusive, UTC.
The list filters the export was asked for, already validated: lists of values per key.
Shown to the customer; no internals.
Was this page helpful?