code: func (api ContractsAPI) contractIdsignaturesPost(w http.ResponseWriter, r *http.Request) {
  	contractID := mux.Vars(r)["contractId"]
  	contractMngr := contractdb.NewManager(r)
  	exists, err := contractMngr.Exists(contractID)
  	if err != nil || !exists {
  		if err != nil {
  			log.Error(err)
  		}
  		http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
  		return
  	}
  	var signature contractdb.Signature
  	if err = json.NewDecoder(r.Body).Decode(&signature); err != nil {
  		log.Error(err)
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  	err = contractMngr.AddSignature(contractID, signature)
  	if err != nil {
  		log.Error(err)
  		http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
  		return
  	}
  	http.Error(w, http.StatusText(http.StatusCreated), http.StatusCreated)
  	return
  }
docs: // Sign a contract
  // It is handler for POST /contracts/{contractId}/signatures