---
title: "patchComponent"
method: PATCH
path: "/v1/app-configurations/{appId}/versions/{version}/components/{componentId}"
tags: ["App Configuration"]
---

# patchComponent

`PATCH /v1/app-configurations/{appId}/versions/{version}/components/{componentId}`

Patch an existing app version to update its components

## Path parameters

- `appId` string, required
- `version` string, required
- `componentId` string, required

## Request body

- union
  - object
    - `id` string, required — Unique identifier for the component
    - `name` object — Name of the component
      - `en` string, nullable — English translation
      - `de` string, required — German translation
    - `description` object — Description of the component
      - `en` string, nullable — English translation
      - `de` string, required — 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
      - `component_args` JourneyBlockComponentArgs[] — Arguments to pass to the component
        - union
          - object
            - `key` string, required — Unique identifier for this component arg
            - `type` 'text', required
            - `required` boolean — Flag to indicate if this option is required
            - `description` object — Description of what this component arg does
              - …
            - `label` object, required — Human-readable label for the component arg
              - …
          - object
            - `key` string, required — Unique identifier for this component arg
            - `type` 'boolean', required
            - `required` boolean — Flag to indicate if this option is required
            - `description` object — Description of what this component arg does
              - …
            - `label` object, required — Human-readable label for the component arg
              - …
          - object
            - `key` string, required — Unique identifier for this component arg
            - `type` 'enum', required
            - `required` boolean — Flag to indicate if this option is required
            - `description` object — Description of what this component arg does
              - …
            - `label` object, required — Human-readable label for the component arg
              - …
            - `isMulti` boolean — If true, allows selection of multiple values
            - `options` object[], required — List of options for enum type
              - …
      - `component_size` number — Size of the bundle in bytes
      - `component_mapping` object — Define data which is mapped to entity mapping ui blocks
  - object
    - `id` string, required — Unique identifier for the component
    - `name` object — Name of the component
      - `en` string, nullable — English translation
      - `de` string, required — German translation
    - `description` object — Description of the component
      - `en` string, nullable — English translation
      - `de` string, required — 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
          - `en` string, nullable — English translation
          - `de` string, required — German translation
        - `interval` string[]
        - `auth` PortalAuth
          - `type` string
          - `url` string
          - `method` string
          - `headers` object
        - `call` object
          - `url` string
          - `headers` object
          - `params` object
      - `links` object[]
        - `id` string
        - `type` string
        - `name` TranslatedString
          - `en` string, nullable — English translation
          - `de` string, required — German translation
        - `description` TranslatedString
          - `en` string, nullable — English translation
          - `de` string, required — German translation
        - `condition` string
        - `auth` PortalAuth
          - `type` string
          - `url` string
          - `method` string
          - `headers` object
        - `redirect` object
          - `url` string
          - `params` object
  - object
    - `id` string, required — Unique identifier for the component
    - `name` object — Name of the component
      - `en` string, nullable — English translation
      - `de` string, required — German translation
    - `description` object — Description of the component
      - `en` string, nullable — English translation
      - `de` string, required — 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_FLOW_ACTION', required
    - `configuration` CustomFlowConfig, required
      - `name` string — Name of the custom action
      - `description` string — Description of the custom action
      - `type` 'external_integration', required
      - `external_integration_settings` object
        - `url` string — URL to call
        - `headers` object
        - `auth_token_ref` string — SSM Reference to the auth token to use for the request

## Response `204`

Component patched successfully

## Other responses

- `400` — Invalid version format
- `404` — Version or component not found

## Changes

- **2025-05-22** `2ab2aaf08d93` — 3 info
  - added `CUSTOM_FLOW_ACTION` discriminator mapping keys to the `allOf[subschema #2]/` request property
  - added the new `number` enum value to the request property `allOf[subschema #2]/oneOf[#/components/schemas/JourneyBlockComponent]/configuration/component_mapping/additionalProperties/`
  - added `#/components/schemas/CustomFlowActionComponent` to the `allOf[subschema #2]/` request property `oneOf` list
- **2025-04-30** `96130e8314f3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/epilot/apis/app-api/changes/v1/app-configurations/:appId/versions/:version/components/:componentId/patch.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/2ab2aaf08d93/schema)
