Console · Published 2026-09-28 · Updated 2026-09-28 · AgentiSend
Logs
Read this account's API requests: method, route, status, duration and the refusal code. Request and response bodies are not stored.
Logs are at /logs. Each row is one API request: when, method, path, status, duration, the refusal code if there was one, and the key. Bodies are not stored, so the row cannot show one.
What the screen calls
The list is GET /logs. Filters the API accepts are since, until, status, status_class (2xx, 4xx or 5xx), method, route, error_code and api_key_id. One row is GET /logs/{id}.
curl -sS -X GET https://api.agentisend.com/logs \
-H "Authorization: Bearer $AGENTISEND_API_KEY"200
{
"data": [],
"has_more": false,
"next_cursor": "example",
"object": "list"
}curl -sS -X GET https://api.agentisend.com/logs/9c8f8f0e-3d1a-4d3f-9a1e-2b7c1a0f5e42 \
-H "Authorization: Bearer $AGENTISEND_API_KEY"200
{
"api_key_id": "9c8f8f0e-3d1a-4d3f-9a1e-2b7c1a0f5e42",
"api_key_name": "example",
"created_at": "2026-09-04T09:14:00.000Z",
"duration_ms": -9007199254740991,
"error_code": "example",
"id": "9c8f8f0e-3d1a-4d3f-9a1e-2b7c1a0f5e42",
"method": "example",
"path": "example",
"request_id": "example",
"route": "example",
"source": "api",
"status": -9007199254740991,
"user_agent": "example"
}A key id that is not an id, or a status class the API does not list:
{
"error": {
"code": "validation_error",
"message": "Error in one or more fields.",
"fix": "Correct the fields listed in the error details and retry the request.",
"docs_url": "https://agentisend.com/docs/errors#validation_error",
"retryable": false
}
}A cursor the list does not recognise:
{
"error": {
"code": "invalid_cursor",
"message": "This page cursor is no longer valid.",
"fix": "Call the list again without a cursor, or pass the next_cursor from a page you still have.",
"docs_url": "https://agentisend.com/docs/errors#invalid_cursor",
"retryable": false
}
}A sending-only key is refused. A viewer signed in to the console can read the log. The role gate refuses changes, not this read.
{
"error": {
"code": "restricted_api_key",
"message": "This API key is restricted to sending only.",
"fix": "Use a full_access key (POST /api-keys with permission=full_access) for management endpoints.",
"docs_url": "https://agentisend.com/docs/errors#restricted_api_key",
"retryable": false
}
}Limits of the screen
The search box writes q into the page address. On a live account that value is not sent, and GET /logs does not accept it, so the box does not filter the list. Method, status class and key do. In the demo, the same box does filter.
The query reads the newest 500 requests, plus one extra row so the page can say whether more exist, and then pages inside that set. Requests older than that set are not returned.