Properties are custom string key/value pairs that can be attached to a copy of any object. For example, the key/value pair "project"/"cancer" can be attached to an object..

The properties associated with an object are returned by the "describe" method, and modified by the "setProperties" method.

API method: /class-xxxx/setProperties


Sets properties on an object in the specified project. To remove a property altogether, its value needs to be set to the JSON null (instead of a string). This call updates the properties of the object by merging any old (previously existing) ones with what is provided in the input, the newer ones taking precedence when the same key appears in the old.

Best practices: to completely "reset" properties (i.e. remove all existing key/value pairs and replace them with some new), issue a describe call to get the names of all properties, then issue a setProperties request to set the values of those properties to null.


  • project string ID of the project or container containing the object to be modified

  • properties mapping Properties to modify

    • key Name of property to modify

    • value string or null Either a new string value for the property, or null to unset the property


  • id string ID of the manipulated object


  • InvalidInput

    • There exists at least one value in properties which is neither a string nor the JSON null

    • For each property key-value pair, the size, encoded in UTF-8, of the property key may not exceed 100 bytes and the property value may not exceed 700 bytes

  • ResourceNotFound (the specified object does not exist, the specified project does not exist, or the specified project does not contain the specified object)

  • PermissionDenied (If the object is open, UPLOAD access is required, otherwise CONTRIBUTE access is required for the specified project)





No action taken.

{"tissue": "liver"}

The property "tissue" is set to value "liver".

{"tissue": null}

The property "tissue" is removed, if it exists.

Last updated