---
title: "Get an Installed App"
method: GET
path: "/installedapps/{installedAppId}"
tags: ["Installedapps"]
---

# Get an Installed App

`GET /installedapps/{installedAppId}`

## Request

- Base URL: `https://api.smartthings.com/v1`
- URL: `https://api.smartthings.com/v1/installedapps/{installedAppId}`
- Auth: OAuth 2
  - Implicit: `https://auth-global.api.smartthings.com`
  - Scopes: `r:installedapps:*`
- TypeScript: <https://skmtc.dev/smartthings/apis/smartthings-api/docs/installedapps/:installedAppId/get.ts> (a function with typed inputs; its response is checked against the schema)

Fetch a single installed application.

## Path parameters

- `installedAppId` string, ^(?:([0-9a-fA-F]{32})|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}))$, required

## Query parameters

- `allowed` boolean

## Headers

- `Authorization` string, string, required

## Response `200`

An installed app.

- InstalledApp
  - `installedAppId` string, uuid, required: The ID of the installed app.
  - `installedAppType` 'LAMBDA_SMART_APP' | 'WEBHOOK_SMART_APP', required: Denotes the type of installed app.
  - `installedAppStatus` 'PENDING' | 'AUTHORIZED' | 'REVOKED' | 'DISABLED', required: Denotes the current state of an install. 'PENDING' is used during active modification to the install's config prior to 'AUTHORIZATION'. A status of 'AUTHORIZED' means the install's permissions have been authorized by the consumer. Installed Apps in 'AUTHORIZED' state are fully installed and usable by the SmartThings platform. A status of 'REVOKED' means the install's permissions have been revoked. A status of 'DISABLED' means a previously 'AUTHORIZED' Installed App will not execute.
  - `displayName` string: A user defined name for the installed app. May be null.
  - `appId` string, required: The ID of the app.
  - `referenceId` string: A reference to an upstream system. For example, Behaviors would reference the behaviorId. May be null.
  - `locationId` string, uuid: The ID of the location to which the installed app may belong.
  - `owner` Owner, required: A typed model which provides information around ownership of a specific domain.
    - `ownerType` 'USER' | 'SYSTEM' | 'IMPLICIT' | 'ACCOUNT', required: The type of owner that owns this entity. "Account" refers specifically to a coterie account ID.
    - `ownerId` string, required: A global identifier for owner.
  - `notices` Notice[], required
    - `code` 'USER_PAUSE' | 'REVISIT' | 'RECONFIGURE': * USER_PAUSE - Denotes installed app is paused by the user and user action is required to unpause it. * REVISIT - Denotes installed app is still running and user action may be required to reconcile a configuration. * RECONFIGURE - Denotes installed app is no longer running and user action is required to resolve a configuration issue.
    - `badgeUrl` string: The url of the badge icon for the notice card
    - `message` string: The localized message to be displayed
    - `actions` NoticeAction[]: The action(s) a user can take to resolve this notice
  - `createdDate` string, date-time, required: A UTC ISO-8601 Date-Time String
  - `lastUpdatedDate` string, date-time, required: A UTC ISO-8601 Date-Time String
  - `ui` object: A collection of settings to drive user interface in SmartThings clients. Currently, only applicable for LAMBDA_SMART_APP and WEBHOOK_SMART_APP app types.
    - `pluginId` string, ^[a-zA-Z._]{1,99}$
    - `pluginUri` string, uri
    - `dashboardCardsEnabled` boolean, required
    - `preInstallDashboardCardsEnabled` boolean, required
  - `iconImage` object: A default icon image for the app.
    - `url` string, uri: A default icon image url for an app. https url required.
  - `classifications` string[], required: An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the "Automation" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a "Service". * DEVICE - Denotes an integration that should display under the "Device" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the "Connected Services" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients * LABS - Denotes an ingration that should display under the "Labs" menu in the modile clients.
  - `principalType` 'LOCATION' | 'USER_LEVEL' | 'ACCOUNT_LEVEL', required: Denotes the principal type to be used with the app. Default is LOCATION.
  - `restrictionTier` integer: Restriction tier of the install, if any.
  - `singleInstance` boolean, required: Inform the installation systems that the associated app can only be installed once within a user's account.
  - `allowed` string[]: List of client-facing action identifiers that are currently permitted for the user. If the value of this property is not null, then any action not included in the list value of the property is currently prohibited for the user. If the value of this property is null (or absent), then no permission-related information is being provided. <ul> <li>`"w:installedapps"` -- the user has update permissions on the installed app</li> <li>`"d:installedapps"` -- the user has delete permissions on the installed app</li> </ul>

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too many requests
- `default`: Unexpected error

## Changes

- **2023-11-27** `e8dd260a33ec`: 1 info
  - added the new optional `query` request parameter `allowed`

[Operation history](https://skmtc.dev/smartthings/apis/smartthings-api/changes/installedapps/:installedAppId/get.md)

---

[API](https://skmtc.dev/smartthings/apis/smartthings-api.md) - [All operations](https://skmtc.dev/smartthings/apis/smartthings-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smartthings/apis/smartthings-api/revisions/2788a4236800?raw)
