---
title: "List app revisions"
method: GET
path: "/api/v1/apps/{app_id}/revisions"
tags: ["Apps"]
---

# List app revisions

`GET /api/v1/apps/{app_id}/revisions`

Returns deployment history with compose hashes, operation types, and user refs.

## Path parameters

- `app_id` string, required — Hex app identifier

## Query parameters

- `page` integer — Page number (1-indexed)
- `page_size` integer — Items per page

## Response `200`

Paginated revision list

- AppRevisionsResponse — Paginated revision list.
  - `revisions` AppRevisionResponse[], required — Revision records
    - `revision_id` string, required — Revision record identifier (hashid of snowflake_id)
    - `app_id` string, required — Hex app identifier
    - `vm_uuid` string, required — CVM UUID
    - `compose_hash` string, required — SHA-256 hash of compose file
    - `created_at` string, required — Revision timestamp (ISO 8601)
    - `trace_id` string, nullable, required — Request trace ID for debugging
    - `operation_type` string, required — Operation: deploy, update, restart, etc.
    - `triggered_by` UserRef — Minimal user reference for embedding in responses.
      - `object_type` 'user' — Fixed value 'user'
      - `id` string, hashid, nullable — A hashed identifier that maps to an internal database ID
      - `username` string, nullable — Display username
      - `avatar_url` string, nullable — Gravatar or OAuth provider avatar URL
    - `cvm` CvmRef — Minimal CVM reference for embedding in responses.
      - `object_type` 'cvm' — Fixed value 'cvm'
      - `vm_uuid` string, required — CVM instance UUID
      - `app_id` string, nullable — Deterministic app identifier from manifest
      - `name` string, nullable — User-assigned CVM name
    - `workspace` WorkspaceRef — Minimal workspace reference for embedding in responses.
      - `object_type` 'workspace' — Fixed value 'workspace'
      - `id` string, hashid, required — Hashed workspace ID
      - `name` string, required — Workspace display name
      - `slug` string, nullable — URL-safe workspace identifier
      - `avatar_url` string, nullable — Workspace avatar URL from profile
  - `total` integer, required — Total revision count
  - `page` integer, required — Current page number
  - `page_size` integer, required — Items per page
  - `total_pages` integer, required — Total page count

## Other responses

- `401` — Not authenticated
- `403` — No workspace access
- `404` — App not found
- `422` — Validation Error

---

[API](https://skmtc.net/phala/apis/phala-cloud-api.md) · [All operations](https://skmtc.net/phala/apis/phala-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phala/phala-cloud-api/versions/83c6ae62e860/schema)
