Updates writable fields on an app. PATCH semantics — any subset of name, display_name, runtime, entry_point may be sent. display_name is the optional free-form UI label; send null to clear it and fall back to name. An empty body is rejected with 400.
Returns 409 duplicate_app_name if renaming would collide with another app in the same tenant.
Application ID for tenant scoping
API key (sk_agentmark_*)
App updated.