List API requests
Every request the team's API keys and AI tools made, newest first, a page at a time.
https://app.usenotix.dev/api/v1/logsFull access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.
Every request the team's API keys and AI tools made, newest first, a page at a time. The same rows as the console's Logs page.
Filter by days (1, 7, 15 or 30; default 30), status (a class such as 4xx, or one status such as 404), method, source, apiKeyId and path (part of the endpoint or path). Page with cursor and limit (default 50, max 100): pass nextCursor back as cursor; it is null on the last page.
Reading the log is not itself logged, and neither is the health check.
What is kept
Each request's method, endpoint, path, status, duration, source (api, mcp, smtp, sdk-js, sdk-python or sdk-php, read from the User-Agent), the key and its name, the User-Agent and the X-Request-Id header of the response. Rows are kept 30 days.
Never kept: the query string, the Authorization header, or the full IP address. Only the caller's network is kept (an IPv4 /24, such as 203.0.113.0/24, or an IPv6 /48); with the User-Agent and the time it is still personal data, kept 30 days. In a path, a segment that looks like an email address or a phone number is shown as :redacted.
Who can call it
Full access and read only keys. A full access key that is not limited to one domain reads the whole team's log (scope: team). A read only key, or a key limited to one domain, reads only its own requests (scope: key). Send-only and live AI keys cannot.
Query parameters
Requests from the last 1, 7, 15 or 30 days. Default 30, which is all Notix keeps.
A status class (2xx, 4xx, 5xx) or one exact status, such as 404.
Only this key's requests. Ignored for a key that reads only its own.
Minimum 0.
One of GET, POST, PUT, PATCH, DELETE.
Where the request came from.
One of api, mcp, smtp, sdk-js, sdk-python, sdk-php.
Part of the endpoint or path, such as /v1/emails. Case insensitive.
nextCursor from the previous page.
Rows per page, 1 to 100. Default 50.
Minimum 1. Maximum 100.
Headers
Bearer followed by your API key.
Errors
A filter or cursor is not valid
Every error has the same shape. See all error codes.
curl -X GET "https://app.usenotix.dev/api/v1/logs" \
-H "Authorization: Bearer $NOTIX_API_KEY"
{
"data": [
{
"id": "cm1x8f3k20001qz7v5b9d2e4a",
"createdAt": "string",
"method": "string",
"endpoint": "string",
"path": "string",
"status": 1,
"durationMs": 1,
"source": "string",
"apiKeyId": 1,
"apiKeyName": "Acme",
"requestId": "cm1x8f3k20001qz7v5b9d2e4a"
}
],
"nextCursor": "string",
"scope": "team"
}