Problem
environments.update's JSDoc in the client SDK says a caller may change plan and status. Neither has ever taken effect: the control plane declares both columns read-only, so the values were silently dropped. Since cloud#2193 the route answers 400 for them instead of dropping them, so the doc now describes a call that fails.
The same doc comment also implies visibility is writable. The control plane forces visibility to private at create time and rejects the column on update. A maintainer ruling on 2026-09-12 keeps it that way until the public-listing feature exists, at which point it gets its own endpoint rather than the generic update.
Proposal
Correct the doc comment on the next SDK touch:
plan — not updatable through this call; plan changes go through the billing routes.
status — not updatable through this call; use the lifecycle actions (archive / restore / suspend / resume).
visibility — server-owned, private today; a write entry will arrive with the public-listing feature.
- State plainly that unknown or read-only keys are answered with 400, so callers do not assume a silent drop.
Acceptance
- The doc comment lists only fields the control plane actually accepts.
- If the SDK has a type for the update payload, read-only fields are not part of it (or are marked as such), so the compiler catches the mistake the comment used to invite.
Problem
environments.update's JSDoc in the client SDK says a caller may changeplanandstatus. Neither has ever taken effect: the control plane declares both columns read-only, so the values were silently dropped. Since cloud#2193 the route answers 400 for them instead of dropping them, so the doc now describes a call that fails.The same doc comment also implies
visibilityis writable. The control plane forcesvisibilitytoprivateat create time and rejects the column on update. A maintainer ruling on 2026-09-12 keeps it that way until the public-listing feature exists, at which point it gets its own endpoint rather than the generic update.Proposal
Correct the doc comment on the next SDK touch:
plan— not updatable through this call; plan changes go through the billing routes.status— not updatable through this call; use the lifecycle actions (archive / restore / suspend / resume).visibility— server-owned,privatetoday; a write entry will arrive with the public-listing feature.Acceptance