---
title: "installApp"
method: PUT
path: "/v1/app/{appId}"
---

# installApp

`PUT /v1/app/{appId}`

Upsert app installation by its ID.

## Path parameters

- `appId` string, required

## Request body

- object
  - `option_values` OptionsRef[] — Configuration values for the app components
    - `component_id` string, required — ID of the component these values are for
    - `options` Option[], required
      - `key` string, required — Key matching a config_option from the component
      - `value` string, required — The configured value for this option

## Response `204`

App installation updated successfully.

## Other responses

- `404` — App not found.

## Changes

- **2025-01-29** `8b8dde19dac7` — 2 warning, 1 info
  - removed the request property `config_options`
  - removed the request property `enabled`
  - added the new optional request property `option_values`

[Change history](https://skmtc.dev/epilot/apis/app-api/changes/v1/app/:appId/put.md)

---

[API](https://skmtc.dev/epilot/apis/app-api.md) · [All operations](https://skmtc.dev/epilot/apis/app-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/epilot/app-api/revisions/8b8dde19dac7/schema)
