---
title: "Patch app"
method: PATCH
path: "/v1/apps/{id}"
tags: ["Workspace API - Apps"]
---

# Patch app

`PATCH /v1/apps/{id}`

Partially update an existing application configuration (name, redirect URIs, webhook, default redirects)

## Path parameters

- `id` string, required

## Request body

- UpdateAppDto
  - `name` string
  - `logo` string — App-level brand logo (base64 data URL). Pass an empty string to remove the logo.
  - `redirectUris` string[]
  - `webhookConfig` WebhookConfigDto
    - `url` string
    - `enabled` boolean, required
    - `retryAttempts` number, required
    - `timeoutSeconds` number, required
    - `secret` string — Redacted preview of the webhook signing secret in GET responses (e.g., whsec_****abc1). The full value is returned exactly once by POST /webhook-config/rotate-secret.
    - `events` string[], required
  - `defaultSuccessRedirectUri` string
  - `defaultFailureRedirectUri` string

## Response `200`

App updated successfully

- WorkspaceAppDto
  - `name` string, required
  - `logo` string — App-level brand logo (base64 data URL)
  - `redirectUris` string[], required
  - `clientId` string, required
  - `clientSecret` string, required
  - `providers` object, required — Contract-level provider configurations. Key = provider ID.
  - `defaultWorkflowId` string, required — ID of the default workflow used when workflow_id is not specified
  - `workflows` WorkflowEntryDto[], required — Workflow profiles for the app
    - `workflowId` string, required
    - `name` string, required
    - `entryNodeId` string, required
    - `nodes` FlowNodeDto[], required
      - `id` string, required
      - `type` 'request' | 'response' | 'verification' | 'check-min-loa' | 'check-claim' | 'evaluate' | 'if', required
      - `next` object — Next: string (single output) or NextRoute[] (IF branching)
      - `config` object — Type-specific configuration (max depth 5, max 50 keys per level)
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `organizationId` string, required
  - `webhookConfig` WebhookConfigDto
    - `url` string
    - `enabled` boolean, required
    - `retryAttempts` number, required
    - `timeoutSeconds` number, required
    - `secret` string — Redacted preview of the webhook signing secret in GET responses (e.g., whsec_****abc1). The full value is returned exactly once by POST /webhook-config/rotate-secret.
    - `events` string[], required
  - `defaultSuccessRedirectUri` string
  - `defaultFailureRedirectUri` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401` — Invalid API key
- `404` — App not found

---

[API](https://skmtc.net/hopae/apis/hconnect-api.md) · [All operations](https://skmtc.net/hopae/apis/hconnect-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hopae/hconnect-api/versions/ed6e97ac6f2f/schema)
