List tracking sessions for the caller's integration
https://api.isnotai.comAuthenticate with Authorization: Bearer aik_v1_... (preferred) or the x-api-key header. Keys are region-bound. Authentication
Sessions are returned newest-first by createdAt. Omitting startDate/endDate leaves that bound open (endDate omitted = up to now). Cursors are tied to the exact filter set that produced them: re-send the identical filters alongside cursor, and if a cursor is rejected (400 INVALID_REQUEST or 500 INTERNAL_ERROR) restart the walk from the first page. A startDate outside the plan history window returns an empty page, not an error.
Query Parameters
Page size. The maximum is scoped to the integration’s plan tier (Free 50, Pro and Enterprise 100). Requests above the tier maximum clamp to the maximum and the effective value is returned in pagination.limit. Minimum 1. Default 50.
Opaque continuation cursor returned by a previous call.
Filter by session status: ‘active’ (still open), ‘completed’ (closed out), or ‘flagged’.
active, completed, flagged.If true, restrict to sessions with botScore >= 0.7.
Only sessions created at or after this ISO-8601 timestamp.
Only sessions created at or before this ISO-8601 timestamp.
Responses
Any authenticated route can also return 401 (missing or invalid key), 429 RATE_LIMITED (edge rate limit; Retry-After is an integer number of seconds), and 5xx errors, even where not listed below. See Error Handling and Rate Limits.
Payload of SessionListResponse
Payload of ErrorEnvelope
Payload of ErrorEnvelope
curl --request GET \
--url https://api.isnotai.com/v1/sessions \
--header 'Authorization: Bearer aik_v1_YOUR_API_KEY'
import requests
url = "https://api.isnotai.com/v1/sessions"
headers = {"Authorization": "Bearer aik_v1_YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const fetch = require('node-fetch');
const url = 'https://api.isnotai.com/v1/sessions';
const options = {method: 'GET', headers: {Authorization: 'Bearer aik_v1_YOUR_API_KEY'}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://api.isnotai.com/v1/sessions"),
Headers =
{
{ "Authorization", "Bearer aik_v1_YOUR_API_KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
Sent to the API as Authorization: Bearer aik_v1_.... Held only in this tab's input element; re-enter on each browser tab. The docs site never receives or stores it.
{
"data": [
{
"id": "example-id-123",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z",
"status": "string",
"botScore": 0,
"detectionFlags": [
"string"
],
"pageUrl": "string",
"userAgentSummary": "string",
"userId": "string",
"userName": "string",
"userUrl": "string"
}
],
"pagination": {
"nextCursor": "string",
"hasMore": false,
"limit": 0
}
}
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}