---
title: "Get Extension Events"
method: GET
path: "/api/v1/extensions/events"
tags: ["Extensions"]
---

# Get Extension Events

`GET /api/v1/extensions/events`

Poll for extension lifecycle events the current user has triggered.

Events are scoped to the authenticated user via a server-derived keyspace
(``user:{user_id}``); there is no client-controllable keyspace, so an
authenticated user cannot read another user's flow-migration or
bundle-reload events. A client-supplied ``keyspace`` query parameter is
rejected with 422 so the contract is explicit -- previously the value was
silently dropped, which masked client bugs that assumed it had effect.

svc.since() uses blocking sqlite3; run in a thread pool so the asyncio
event loop is not held while waiting on disk I/O.

## Query parameters

- `since` number — UTC epoch timestamp; return events after this cursor

## Response `200`

Successful Response

- ExtensionEventsResponse
  - `events` ExtensionEventResponse[], required
    - `payload` object, required
    - `timestamp` number, required
    - `type` string, required
  - `settled` boolean, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/langflow-ai/apis/langflow.md) · [All operations](https://skmtc.net/langflow-ai/apis/langflow/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/langflow-ai/langflow/revisions/22962dc5e81b/schema)
