Within a project, each object has a name, which is a UTF-8 string which must not match the regular expression [\x00-\x1F]. This means non-printable characters like whitespace tabs and newlines are not allowed. Object names need not be unique within the same project.
The name of an object is returned by the "describe" method, and modified by the "rename" method.
/class-xxxx/renameRenames an existing object in the specified project.
project string ID of the project or container containing the object to be modified
name string The new name of the object
id string ID of the manipulated object
InvalidInput (the input is not a hash, project is missing or is not a string, name is missing or is an empty string or matches the regular expression [\x00-\x1F])
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)
Use metadata to keep your data objects organized, as your projects grow larger and more complex.
Metadata makes it easier to keep your projects organized. While some metadata is pre-set and can't be changed, you can set values for the following metadata fields:
Name: an arbitrary UTF-8 string
Properties: a key-value store
: a collection of strings
User-defined metadata is particularly useful in .
User-defined metadata is project-specific. Within different projects, the same object can have different metadata.
Each copy of an object also maintains a set of tags associated with it. Tags are strings of nonzero length and can be associated to objects to help organize them or annotate them.
Tags are returned by the describe method, and modified by the addTags and removeTags methods.
/class-xxxx/addTagsAdds the specified tags to the object in the specified project. If any of the tags are already present, no action is taken for those tags.
project string ID of the project or container containing the object to be modified
tags array of strings Tags to be added
id string ID of the manipulated object
InvalidInput (the input is not a hash, project is missing or is not a string, the key tags is missing, or its value is not an array, or the array contains at least one invalid (not a string of nonzero length) tag)
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)
/class-xxxx/removeTagsRemoves the specified tags from the object in the specified project. Ensures that the specified tags are not part of the object -- if any of the tags are already missing, no action is taken for those tags.
project string ID of the project or container containing the object to be modified
tags array of strings Tags to be removed
id string ID of the manipulated object
InvalidInput (the input is not a hash, project is missing or is not a string, or the key tags is missing, or its value is not an array, or the array contains at least one invalid (not a string of nonzero length) tag)
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)
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.
/class-xxxx/setPropertiesSets 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 fully reset properties (remove all existing key/value pairs and replace them with new ones), first 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
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
value string or null Either a new string value for the property, or null to unset the property
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.