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

# Application Revisions

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

Returns the revision history for an application, newest first: every
deployed version with its creation time, whether it is currently serving
traffic, and a deployment status derived from recent deployment events.

**Use cases:**
- Incident correlation: answer "did this regression start with a deploy?"
  by lining revision boundaries up against error/latency changes from the
  analytics endpoint
- Rollback context: identify the previous known-good revision

`status` and `deployed_by` are derived from the last 30 days of
deployment events; older revisions return null for both. `message` and
`annotations` are the deploy-time metadata set via `fal deploy
--message`/`--annotation`; both are null when the deploy did not set them.

**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

- `limit` integer — Maximum number of revisions to return per page (1-100)
- `cursor` string — Pagination cursor from previous response

## Response `200`

Successfully retrieved application revisions

- object — Revision 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>')
  - `revisions` object[], required — Application revisions, newest first
    - `revision_id` string, required — Unique revision identifier
    - `created_at` string, required — Revision creation timestamp (UTC ISO8601)
    - `is_current` boolean, required — Whether this revision is the one currently serving traffic
    - `message` string, nullable, required — Freeform message attached to this revision at deploy time (fal deploy --message). Null when the deploy did not set one.
    - `annotations` object, nullable, required — Custom key/value annotations attached to this revision at deploy time (fal deploy --annotation KEY=VALUE). Null when the deploy did not set any.
    - `status` 'deployed' | 'failed' | 'deploying', nullable, required — Deployment status derived from recent deployment events. Null when no deployment events are available for this revision (e.g. revisions older than the event retention window).
    - `deployed_by` string, nullable, required — Nickname or display name of the user who deployed this revision, when known from recent deployment events

## 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)
