---
title: "getInstalledApp"
method: GET
path: "/v1/app/{appId}"
---

# getInstalledApp

`GET /v1/app/{appId}`

Retrieve details of an installed app by its ID.

## Path parameters

- `appId` string, required

## Response `200`

Details about installed app.

- App — Configuration of the published app
  - `app_id` string
  - `name` TranslatedString
    - `en` string — English translation
    - `de` string — German translation
  - `icon_url` string — URL of the app icon.
  - `documentation_url` string — URL of the app documentation.
  - `description` TranslatedString
    - `en` string — English translation
    - `de` string — German translation
  - `created_by` string
  - `created_at` string
  - `updated_at` string
  - `updated_by` string
  - `version` string
  - `author` Author
    - `name` string — Name of the author
    - `company` string, required — Company of the author
    - `email` string — Email of the author
  - `status` 'published' | 'pending'
  - `components` BaseComponent[]
    - union
      - object
        - `id` string, required — Unique identifier for the component
        - `name` TranslatedString
          - `en` string — English translation
          - `de` string — German translation
        - `options` Options[] — List of options for the app component
          - `key` string, required — Unique identifier for this configuration option
          - `label` string — Human-readable label for the configuration option
          - `required` boolean — Flag to indicate if this option is required
          - `description` string — Detailed description of what this configuration option does
          - `value` string — The configured value for this option. Is only present when the component is installed.
          - `type` 'text' | 'number' | 'boolean' | 'secret', required
        - `component_type` 'CUSTOM_JOURNEY_BLOCK', required
        - `configuration` JourneyBlockConfig, required
          - `component_url` string, required — URL of the web component object
          - `component_tag` string, required — Custom element tag for the component
      - object
        - `id` string, required — Unique identifier for the component
        - `name` TranslatedString
          - `en` string — English translation
          - `de` string — German translation
        - `options` Options[] — List of options for the app component
          - `key` string, required — Unique identifier for this configuration option
          - `label` string — Human-readable label for the configuration option
          - `required` boolean — Flag to indicate if this option is required
          - `description` string — Detailed description of what this configuration option does
          - `value` string — The configured value for this option. Is only present when the component is installed.
          - `type` 'text' | 'number' | 'boolean' | 'secret', required
        - `component_type` 'PORTAL_EXTENSION', required
        - `origin` 'END_CUSTOMER_PORTAL' | 'INSTALLER_PORTAL'
        - `configuration` PortalExtensionConfig, required
          - `id` string
          - `hooks` object[]
            - `id` string
            - `type` string
            - `name` TranslatedString
              - …
            - `interval` string[]
            - `auth` PortalAuth
              - …
            - `call` object
              - …
          - `links` object[]
            - `id` string
            - `type` string
            - `name` TranslatedString
              - …
            - `description` TranslatedString
              - …
            - `condition` string
            - `auth` PortalAuth
              - …
            - `redirect` object
              - …
  - `internal` boolean — Flag to indicate if the app is built by epilot.
  - `owner_org_id` string — Organization ID of the app owner, required for private apps
  - `access_level` 'public' | 'private' — Access level of the app.

## Other responses

- `404` — App not found.

## Changes

- **2025-01-29** `8b8dde19dac7` — 2 warning, 5 info
  - removed the optional property `app_id` from the response with the `200` status
  - removed the optional property `config_options` from the response with the `200` status
  - added `#/components/schemas/AppConfiguration` to the response body `allOf` list for the response status `200`
  - added the optional property `option_values` to the response with the `200` status
  - …3 more

[Change history](https://skmtc.dev/epilot/apis/app-api/changes/v1/app/:appId/get.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)
