Overwrite a file's metadata


For general information on the API, including formatting, parameters, and pagination, please see the API Overview.

This call changes the metadata values for the specified file.


Metadata on the Platform

Learn more about metadata fields and their values on the CAVATICA.

Files are specified by their IDs, which you can obtain by making the API call to list files in a project .




The CAVATICA API has two method to modify file metadata. This method uses the HTTP verb PUT, and the other uses the HTTP verb PATCH.

The difference between the two concerns the way that they update the information stored about the user. PATCH allows you to update just one metadata field. On the other hand, a PUT request will fully overwrite the values for all metadata fields. This means that when issuing a PUT request you must enter values for every key required to specify the metadata, even if the values for some keys are unchanged. If you don't specify a value for a given metadata field when making the PUT request, then any existing value for that field will be reset.


Example request

Since you need to specify values for all metadata fields, it can be easier to send the data as a file, using the option --data-binary in cURL.

PUT /v2/files/567890abc9b0307bc0414164/metadata HTTP/1.1
Host: cavatica-api.sbgenomics.com
X-SBG-Auth-Token: 1e43fEXampLEa5523dfd14exAMPle3e5
curl --data-binary "@metadata.json" -s -H "X-SBG-Auth-Token: 7942f56901534434a054dafc3813bc96" -H "content-type: application/json" -X PUT "https://cavatica-api.sbgenomics.com/v2/files/567890abc9b0307bc0414164/metadata"

Header Fields

Your CAVATICA authentication token.

Path parameters

file_idThe ID of the file whose details you want to overwrite.

Query parameters

NameData typeDescription
fieldsstringSelector specifying a subset of fields to include in the response.

Request body

In the body of the request, you should enter key-value pairs corresponding to metadata fields and their values.

KeyDatatype of valueDescription of value
Freeform -- enter any stringstringThe value for the corresponding key

Example request body

    "foo": "bar",
    "my_key_1": "my_value_1",
    "my_key_2": "my_value_2",
    "platform": "my_platform",
    "library_id": "12345"


See a list of CAVATICA-specific response codes that may be contained in the body of the response.

Example response body

  "library_id": "12345",
  "platform": "my_platform",
  "foo": "bar",
  "my_key_1": "my_value_1",
  "my_key_2": "my_value_2"