---
title: "Update an app's install metadata"
method: PUT
path: "/smartapps/{appNameOrId}/install-metadata"
tags: ["SmartApps"]
---

# Update an app's install metadata

`PUT /smartapps/{appNameOrId}/install-metadata`

## Request

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

Update an app's install metadata.  Install metadata is used to alter the system behavior during app
installation into a user's account.  For example, flagging an App as `certified: "true"` would allow
the system to allow any user to install that App.

## Path parameters

- `appNameOrId` string, required

## Headers

- `Authorization` string, string, required

## Request body

- UpdateAppInstallMetadataRequest
  - `certified` boolean: Whether or not the app has been certified.
  - `maxInstalls` integer: Maximum times the app may be installed within a region. -1 indicates no limit.
  - `assumedRoleCanInstall` boolean: Whether or not the app can be installed by an assumed role.
  - `maxContentLengthBytes` number: Maximum payload content length in bytes that this service will return.
  - `restrictedMembersCanView` boolean: If true, then don't hide associated installed smart app from restricted members.

## Response `200`

A response containing an App's metadata.

- UpdateAppInstallMetadataResponse
  - `certified` boolean: Whether or not the app has been certified.
  - `maxInstalls` integer: Maximum times the app may be installed within a region. -1 indicates no limit.
  - `assumedRoleCanInstall` boolean: Whether or not the app can be installed by an assumed role.
  - `maxContentLengthBytes` number: Maximum payload content length in bytes that this service will return.
  - `restrictedMembersCanView` boolean: If true, then don't hide associated installed smart app from restricted members.

## Other responses

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

## Changes

- **2026-11-07** `2788a4236800`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/smartthings/apis/smartthings-api/changes/smartapps/:appNameOrId/install-metadata/put.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)
