# List event-level metadata for a session

**GET /v1/sessions/{sessionId}/events**



## Servers
- https://api.isnotai.com (Production (US))
- https://api-eu.isnotai.com (Production (EU))

API keys are region-bound: a key authenticates only against the base URL of the region it was minted in. The other region returns 401 INVALID_API_KEY.

## Authentication methods
- bearer_auth
- api_key

Send the API key as `Authorization: Bearer aik_v1_...` (preferred) or in the `x-api-key` header. Per-key rate-limit isolation applies only to the Bearer form. See [Authentication](https://www.isnotai.com/developers/authentication.md).

## Path parameters

- **sessionId** (string) *Required*
  Session id.

## Query parameters

- **pageSize** (integer(int32))
  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 100, itself clamped by the tier maximum.
- **cursor** (string)
  Opaque pagination cursor returned by the previous page's `pagination.nextCursor`. Omit to start from the beginning.
- **type** (string)
  Optional event-type filter. Accepts message-type byte as decimal/hex (e.g. 1, 0x01) or short name (e.g. init, mouse_move, keypress).
- **startTime** (integer(int64))
  Lower bound on timestamp (Unix milliseconds, inclusive).
- **endTime** (integer(int64))
  Upper bound on timestamp (Unix milliseconds, inclusive).


## Responses
### 200
Payload of EventListResponse

Response body (application/json):
- **data** (array[object])
  Array items:
  - **eventId** (string)
  - **messageId** (integer(int32))
  - **eventTypeName** (string)
  - **timestamp** (integer(int64))
  - **payloadSize** (integer(int32))
- **pagination** (object)
  - **nextCursor** (string)
  - **hasMore** (boolean)
  - **limit** (integer(int32))

### 400
Payload of ErrorEnvelope

Response body (application/json):
- **error** (object)
  - **code** (string) *Required*
  - **message** (string) *Required*
  - **details** (object) *Required*
    Always present and null unless the error carries field-level context (validation errors set details.field to the offending parameter name).

### 401
Payload of ErrorEnvelope

Response body (application/json):
- **error** (object)
  - **code** (string) *Required*
  - **message** (string) *Required*
  - **details** (object) *Required*
    Always present and null unless the error carries field-level context (validation errors set details.field to the offending parameter name).

### 404
Payload of ErrorEnvelope

Response body (application/json):
- **error** (object)
  - **code** (string) *Required*
  - **message** (string) *Required*
  - **details** (object) *Required*
    Always present and null unless the error carries field-level context (validation errors set details.field to the offending parameter name).

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 above. See [Error Handling](https://www.isnotai.com/developers/error-handling.md) and [Rate Limits](https://www.isnotai.com/developers/rate-limits.md).

