---
title: "queryAccessLogs"
method: POST
path: "/v1/integrations/{integrationId}/monitoring/access-logs"
tags: ["monitoring", "integrations"]
---

# queryAccessLogs

`POST /v1/integrations/{integrationId}/monitoring/access-logs`

Query API access logs for a specific integration's organization.
Returns access token usage analytics filtered by user_id (access token).
Supports infinite scroll pagination with cursor-based navigation.

## Path parameters

- `integrationId` string, uuid, required

## Request body

- QueryAccessLogsRequest
  - `token_id` string — Filter by a specific access token ID (e.g., 'api_5ZugdRXasLfWBypHi93Fk'). Must be one of the access_token_ids linked to the integration. If omitted, returns logs for all access tokens linked to the integration.
  - `service` string — Filter by service name (e.g., 'entity', 'metering', 'submission-api')
  - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD' — Filter by HTTP method
  - `path` string — Filter by request path (partial match)
  - `status` integer — Filter by HTTP status code
  - `from_date` string, date-time — Filter logs from this date (inclusive)
  - `to_date` string, date-time — Filter logs until this date (inclusive)
  - `limit` integer — Maximum number of results to return
  - `cursor` object — Cursor for pagination (infinite scroll)
    - `timestamp` string, date-time — Timestamp from the last log entry in the previous page
    - `request_id` string — Request ID from the last log entry in the previous page

## Response `200`

Access logs queried successfully

- object
  - `data` AccessLogEntry[] — List of access log entries
    - `timestamp` string, date-time — When the request was made
    - `environment` string — Environment (e.g., 'dev', 'prod')
    - `service` string — Service name (e.g., 'entity', 'metering')
    - `request_id` string — Unique request identifier
    - `method` string — HTTP method
    - `path` string — Request path
    - `status` integer — HTTP status code
    - `response_latency_ms` integer — Response latency in milliseconds
    - `response_length` integer — Response body length in bytes
    - `token_id` string — Access token identifier
    - `org_id` string — Organization ID
    - `origin` string — Request origin header
    - `source_ip` string — Client IP address
  - `next_cursor` object, nullable — Cursor to fetch the next page. Null if no more results.
    - `timestamp` string, date-time
    - `request_id` string
  - `has_more` boolean — Indicates if more results are available

## Other responses

- `400` — Bad request
- `401` — Unauthorized request
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/epilot/apis/integration-toolkit-api.md) · [All operations](https://skmtc.net/epilot/apis/integration-toolkit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/integration-toolkit-api/revisions/c24837d75096/schema)
