---
title: "Get Application Installation Update"
method: GET
path: "/applications/installations/{identifier}/update"
tags: ["Applications"]
---

# Get Application Installation Update

`GET /applications/installations/{identifier}/update`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/applications/installations/{identifier}/update`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/applications/installations/:identifier/update/get.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `application.installation` (Read only).

Returns the diff between the currently installed application and the latest cached manifest, tagged with `manifestHash` for optimistic-locking on apply.

## Path parameters

- `identifier` string, required

## Response `200`

Application installation update

- ApplicationInstallationUpdateResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` ApplicationInstallationUpdateResponseModel, required: Pending update (diff) between the installed app and the latest manifest
    - `manifestHash` string, nullable: Hash of the latest manifest. Pass back in the apply request as `manifestHash`.
    - `latestManifest` object, nullable: Full latest manifest payload as fetched and cached by the cron. The client renders it install-modal-style and uses the diff collections (addedScopes/removedScopes/changedModules/...) as markers to label individual fields.
    - `addedScopes` string[]: Scopes added in the latest manifest
    - `removedScopes` string[]: Scopes removed in the latest manifest
    - `addedModules` object[]: Modules added in the latest manifest
    - `removedModules` object[]: Modules removed in the latest manifest
    - `changedModules` object[]: Modules that still exist but whose behaviour fields (url, permissions) changed
    - `changedEvents` object: Lifecycle event URLs that changed (installed/uninstall/status)
    - `baseUrlChanged` object, nullable: baseUrl change (host that serves the app)
      - `from` string, nullable
      - `to` string, nullable
    - `authenticationTypeChanged` object, nullable: Authentication-type change. Read-only / not applicable: an auth-type change cannot be applied as an update, the app must be uninstalled and reinstalled. Present here only so the change is visible.
      - `from` string, nullable
      - `to` string, nullable
    - `hasChanges` boolean: Whether the manifest has any changes

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Application installation with specified identifier was not found, or no cached manifest is available yet
- `405`: Method Not Allowed

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
