 
      - returns: the http Headers
      */
-    static open func httpHeadersWithToken(inDocumentWithUID documentUID: String, withActionName actionName: String)->[String:String]{
+
+
+    ///  Returns the HTTP headers
+    ///
+    /// - Parameters:
+    ///   - documentUID: the document UID (used to collect the spaceUID, the identification method, ...)
+    ///   - actionName: the action Name (for token Permission level)
+    ///   - oUID: an optional observationUID if not set we will use the document.UID
+    /// - Returns: the HTTP headers
+    static open func httpHeadersWithToken(inDocumentWithUID documentUID: String,
+                                          withActionName actionName: String,
+                                          observableBy oUID:String=Default.NO_UID)->[String:String]{
         var headers=HTTPManager.baseHttpHeaders()
 
         if let document=Bartleby.sharedInstance.getDocumentByUID(documentUID){



    /**
     Returns the Http Headers

     - parameter documentUID:   the Document UID
     - parameter actionName: the actionName


            if document.metadata.identificationMethod == .key{
                if  let idv=document.metadata.identificationValue {
                    headers[HTTPManager.KVID_KEY]=idv
                }else{
                    headers[HTTPManager.KVID_KEY]=Default.VOID_STRING
                }
            }
            if oUID==Default.NO_UID{
                // We add the document observationUID
                headers[HTTPManager.OBSERVATION_UID_KEY]=document.UID
            }else{
                // We add the submitted observationUID
                headers[HTTPManager.OBSERVATION_UID_KEY]=oUID
            }
        }


