Skip to content

Let update() methods clear a field by sending null #1135

Open

Description

@vdusek

Update methods use None as the default for every keyword argument and drop unset arguments from the payload (_resource_client.py#L154-L187). That leaves no way to send null for a top-level field the API lets you clear, for example a run's generalAccess (run.py#L80-L105) or a storage's name to make it unnamed.

The JS client sends the update object as given, so run.update({ generalAccess: null }) clears the field (run.ts#L682-L692).

Expected behavior

Update methods tell an unset argument apart from an explicit None, for example with a sentinel default, and send null for an explicit None on fields the API allows to be cleared. Changing the defaults changes the public signatures, so this belongs in 4.0.

✍️ Drafted by Claude Code

Activity

  1. added this to the 4.0 milestone on Oct 16, 2026
  2. added
    enhancementNew feature or request.
    t-toolingIssues with this label are in the ownership of the tooling team.
    on Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request.t-toolingIssues with this label are in the ownership of the tooling team.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions