Updates writable fields on an app. PATCH semantics — any subset of name, runtime, entry_point may be sent. 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.