Binary documents can be upload using the Jive v3 APIs (see: Upload a local file using the Jive API) and they can also be updated with new versions.  This is an example (for Jive 6.x and above) of updating a binary document using the cURL command in a shell script .

First you need to know the Jive document unique identifier in order to update the document.   One way to get this is to call the search API to get it to return Jive document ID (the browse Id) for the document you want to upload a new version into.




  "list" : [ {

    "name" : "GettingStarted.pdf",

    "type" : "file",

    "size" : 23433,


      "self" : {

        "ref" : "",

        "allowed" : [ "PUT", "GET", "DELETE" ]



  } ],

  "startIndex" : 0,

  "itemsPerPage" : 25,

  "suggestedQuery" : "search(Apia)"


In the above example the document ID is 1144.


Once you have the document ID you are ready to upload a new binary document version.  Remember to put the document ID in the URL and add minor=true as a query parameter if you don't want notifications or activity stream updates to be generated as result of the document file update.


curl -X PUT -i -v -u ${username}:${password} \

     -F "file=@MyFile.pdf;type=text/xml" \

     -F "json=@jsonPayloadUpdate.json;type=application/json" \



where the file jsonPayloadUpdate.json contains the valid JSON in the following format:


  "authorship": "author",

  "type": "file",

  "visibility": "place",

  "parent": "",

  "subject": "Update binary file",

  "tags": [api_upload_update],

  "content": {

    "type": "text/html",

    "text": "The file upload update description",

    "name" : "a-new-version-of-my-pdf-file.pdf",

    "size" : "23443"