---
search:
  tags:
    - Apps
    - GET
seo:
  description: >-
    Requires a personal access token or session cookie and… Reference for the
    GET /api/v1/apps/{appId}/revisions/{revision} endpoint in the Charming API.
sidebar:
  label: Get an App revision and its source
  badge: GET
title: Get an App revision and its source
type: openapi-operation
---
Requires a personal access token or session cookie and permission to change the App. Returns the revision’s History entry and its source: a package revision returns `source.files`, the file tree it was saved with; a module-contract revision returns `source.module`, `source.ui`, and `source.styles`. A revision older than the plan’s History window answers 429 `version_limit_exceeded`.

`GET /api/v1/apps/{appId}/revisions/{revision}`

**Responses**

- `200` — The revision and its source.
- `400` — Invalid app id or revision.
- `401` — Sign-in required.
- `403` — The caller can open the App but cannot change it.
- `404` — App or revision not found, or the caller cannot open the App.
- `429` — The revision is older than the plan’s History window.

Response example, 200:

```json
{
  "revision": 0,
  "createdAt": "2019-08-24T14:15:22Z",
  "manifestVersion": "string",
  "current": true,
  "live": true,
  "restorable": true,
  "ok": true,
  "appId": "28c365d5-df94-4a54-8217-3ce51d068868",
  "description": "string",
  "source": {
    "files": {
      "property1": "string",
      "property2": "string"
    }
  }
}
```

Found a bug or need a feature? [Tell us](/docs/capabilities/feedback) with `submit_feedback` or `POST /app/{id}/feedback`. Your feedback shapes what we build next.
