Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

RFC: Safe partial-update behavior for PUT-only APIs

Open
#54 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
typescript

Research direction

Start with the CLI update command and the GET, merge, then PUT flow described in the issue, then inspect endpoint schemas and available concurrency tokens. Resolve the safety policy before implementation; done means the supported policy is documented and eligible endpoints have concurrency and failure-path tests, including dry-run secret handling.

Written by the indexing model from the issue text.

Description

enhancement priority: p2

Context

Some APIs expose replacement-oriented PUT operations but no PATCH operation. Users may still expect a CLI update command to preserve fields they did not specify.

A generic GET, merge, then PUT flow could emulate a partial update, but it can also overwrite concurrent changes or mishandle fields whose omission, null, empty value, or server default have different meanings.

Questions to resolve

  • Which endpoints have a concurrency token such as an ETag or version?
  • Can replacement schemas distinguish omitted fields from explicit clearing?
  • Which operations are idempotent and safe to retry?
  • How should secrets, write-only fields, computed fields, and server defaults be handled?
  • Should emulation be opt-in, endpoint-specific, or rejected when safety cannot be proven?

Safety requirements

  • Do not perform an unguarded read-modify-write when concurrent changes can be lost.
  • Preserve explicit clearing and replacement semantics.
  • Fail before mutation when the current representation cannot be reconstructed safely.
  • Show the effective request through dry-run without exposing secrets.

Outcome

Document the supported policy and implement it only for endpoints that satisfy the agreed safety constraints, with concurrency and failure-path tests.

Dominant language
TypeScript
Stars
853
Forks
42
Avg merge
17h 57m
Merged PRs (30d)
146

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cloudflare/cf

All issues in cloudflare/cf

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.