Skip to main content
GET
/
v1
/
organization
/
logs
List Request Logs
curl --request GET \
  --url https://api.signa.so/v1/organization/logs \
  --header 'Authorization: Bearer <token>'
{
  "object": "list",
  "data": [
    {
      "object": "request_log",
      "request_id": "req_01HXYZ...",
      "method": "GET",
      "path": "/v1/trademarks",
      "status_code": 200,
      "duration_ms": 142,
      "endpoint_type": "search",
      "billed_units": 1,
      "api_key_prefix": "sig_7kMn",
      "error_type": null,
      "error_detail": null,
      "created_at": "2026-04-18T10:12:33Z"
    },
    {
      "object": "request_log",
      "request_id": "req_01HXYA...",
      "method": "GET",
      "path": "/v1/trademarks/tm_bogus",
      "status_code": 404,
      "duration_ms": 18,
      "endpoint_type": "read",
      "billed_units": 0,
      "api_key_prefix": "sig_7kMn",
      "error_type": "not_found",
      "error_detail": "Trademark tm_bogus does not exist.",
      "created_at": "2026-04-18T10:11:05Z"
    }
  ],
  "has_more": true,
  "pagination": {
    "cursor": "eyJpZCI6I..."
  },
  "request_id": "req_currentCall"
}
Beta. The request logs schema is new and may evolve. Field names should be stable, but we reserve the right to add fields or adjust response shape before general availability.

Overview

Returns a paginated list of API request logs for the authenticated organization. Filterable by date range, HTTP status code, method, API key, and path. Per-plan access control limits the historical window:
PlanRetention window
freeLast 7 days
starterLast 30 days
beta, pro, enterpriseLast 90 days
Requires the billing:read scope. Querying logs does not consume metered usage.

Query Parameters

start_date
string
Start of date range (ISO 8601). Accepts YYYY-MM-DD or full ISO datetime. Defaults to 24 hours ago.
end_date
string
End of date range (ISO 8601). Accepts YYYY-MM-DD or full ISO datetime. Defaults to now.
status_code
integer
Filter to a specific HTTP status code (100—599).
method
string
Filter by HTTP method (GET, POST, PATCH, DELETE, etc.).
api_key_id
string
Filter to requests made with a specific API key (key_...).
Case-insensitive substring match against path or request ID (max 200 characters).
limit
integer
default:"50"
Items per page (1—100).
cursor
string
Pagination cursor from a previous response.

Response

object
string
Always "list".
data
object[]
has_more
boolean
Whether more pages are available.
pagination
object
{
  "object": "list",
  "data": [
    {
      "object": "request_log",
      "request_id": "req_01HXYZ...",
      "method": "GET",
      "path": "/v1/trademarks",
      "status_code": 200,
      "duration_ms": 142,
      "endpoint_type": "search",
      "billed_units": 1,
      "api_key_prefix": "sig_7kMn",
      "error_type": null,
      "error_detail": null,
      "created_at": "2026-04-18T10:12:33Z"
    },
    {
      "object": "request_log",
      "request_id": "req_01HXYA...",
      "method": "GET",
      "path": "/v1/trademarks/tm_bogus",
      "status_code": 404,
      "duration_ms": 18,
      "endpoint_type": "read",
      "billed_units": 0,
      "api_key_prefix": "sig_7kMn",
      "error_type": "not_found",
      "error_detail": "Trademark tm_bogus does not exist.",
      "created_at": "2026-04-18T10:11:05Z"
    }
  ],
  "has_more": true,
  "pagination": {
    "cursor": "eyJpZCI6I..."
  },
  "request_id": "req_currentCall"
}

Code Examples

curl "https://api.signa.so/v1/organization/logs?limit=50&status_code=429" \
  -H "Authorization: Bearer sig_xxxxxxxxxxxx"

Errors

StatusTypeDescription
400validation_errorInvalid date format or start_date > end_date
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks billing:read
403plan_limit_exceededRequested window exceeds your plan’s log retention
429rate_limitedToo many requests