---
title: "Application Events"
method: GET
path: "/serverless/apps/{owner}/{name}/events"
tags: ["Serverless", "Apps"]
---

# Application Events

`GET /serverless/apps/{owner}/{name}/events`

Returns the operational event history for an application: deployments,
configuration changes, and runner lifecycle transitions (started, failed,
draining, etc.), newest first.

**Use cases:**
- Incident correlation: answer "what changed around this time?" — did a
  deploy, config change, or runner failure coincide with an error spike?
- Deployment audit: see when revisions went out and who triggered them

**Time range:** defaults to the last 24 hours when `start`/`end` are
omitted. Use `category` filters to narrow to specific event types.

**Authentication:** Required via API key. Only the app owner can query it.

## Path parameters

- `owner` string, required — Username of the app owner
- `name` string, required — Application name

## Query parameters

- `start` union — Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.
  - string, date-time
  - string
- `end` union — End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.
  - string, date-time
  - string
- `category` union — Filter by event category. Repeat the parameter to include multiple categories: ?category=deployment_started&category=config_changed
  - 'runner_started' | 'runner_failed' | 'runner_finished' | 'runner_pending' | 'runner_startup_failure' | 'runner_docker_pull' | 'runner_setup' | 'runner_draining' | 'runner_stopping' | 'deployment_started' | 'deployment_failed' | 'deployment_ended' | 'deployment_rolling_started' | 'deployment_rolling_failed' | 'deployment_rolling_ended' | 'deployment_recreate_applied' | 'config_changed'
  - string[]
- `limit` integer — Maximum number of events to return per page (1-1000)
- `cursor` string — Pagination cursor from previous response

## Response `200`

Successfully retrieved application events

- object — Operational event history for an application
  - `next_cursor` string, nullable, required — Cursor for the next page of results, null if no more pages
  - `has_more` boolean, required — Boolean indicating if more results are available (convenience field derived from next_cursor)
  - `endpoint_id` string, required — Canonical endpoint identifier ('<owner>/<name>')
  - `events` object[], required — Operational events, newest first
    - `event_id` string, required — Unique event identifier
    - `category` 'runner_started' | 'runner_failed' | 'runner_finished' | 'runner_pending' | 'runner_startup_failure' | 'runner_docker_pull' | 'runner_setup' | 'runner_draining' | 'runner_stopping' | 'deployment_started' | 'deployment_failed' | 'deployment_ended' | 'deployment_rolling_started' | 'deployment_rolling_failed' | 'deployment_rolling_ended' | 'deployment_recreate_applied' | 'config_changed', required — Event category
    - `created_at` string, required — Event timestamp (UTC ISO8601)
    - `payload` object, required — Event details; populated fields depend on the event category (runner_*, deployment_*, config_changed)
      - `job_id` string — Runner identifier (runner_* events)
      - `machine_type` string — Machine type of the runner (runner_* events)
      - `reason` string — Human-readable reason for the transition, when available
      - `state` string — Runner state at failure time (runner_failed events)
      - `new_application_id` string — Revision deployed by this event (deployment_* events)
      - `old_application_id` string — Revision being replaced (deployment_* events)
      - `old_config` object — Application config before the change (config_changed events)
      - `new_config` object — Application config after the change (config_changed events)
      - `old_app_auth_mode` string — Endpoint auth mode before the change (config_changed events)
      - `new_app_auth_mode` string — Endpoint auth mode after the change (config_changed events)
      - `actor` object — User who triggered the event, when known
        - `nickname` string — Nickname of the user who triggered the change
        - `full_name` string — Display name of the user who triggered the change

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Access denied
- `404` — Resource not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/fal/apis/platform-apis.md) · [All operations](https://skmtc.dev/fal/apis/platform-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fal/platform-apis/revisions/0c7dabf80b00/schema)
