title: trello api "PUT /1/cards/[card id]/desc" returns a 400 response with message "invalid value for value"
body: <p>I've spend a week trying to work out how to update some card information, I'd hoped to update a load of fields at one, e.g. name, desc, idList, closed etc, but after looking around it seems they have to be done individually, but when I try I keep getting a 400 response with message "invalid value for value" .</p>
  
  <p>e.g. When I try to 
  PUT https://api.trello.com/1/cards/[cardid]/desc?key=[mykey]&amp;token=[mytoken]value=just+yet+another+test+of+trello+side+extended</p>
  
  <p>what am I doing wrong?</p>
  
  <p>Java code used to send Put is</p>
  
  <pre><code>private static InputStream doRequest(final String url, final String requestMethod, final Map&lt;String, String&gt; map) 
  {
      try 
      {
          final HttpsURLConnection conn = (HttpsURLConnection) new URL(url)
                  .openConnection();
          conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
          conn.setDoOutput(requestMethod.equals(METHOD_POST) || requestMethod.equals(METHOD_PUT));
          conn.setRequestMethod(requestMethod);
  
          String plus = "";
          if (map != null &amp;&amp; !map.isEmpty()) 
          {
              final StringBuilder sb = new StringBuilder();
              for (String key : map.keySet()) 
              {
                  sb.append(sb.length() &gt; 0 ? "&amp;" : "")
                      .append(key)
                      .append("=")
                      .append(URLEncoder.encode(map.get(key), "UTF-8"));
              }
              conn.getOutputStream().write(sb.toString().getBytes());
              conn.getOutputStream().close();
              plus = sb.toString();
          }
          final int rc = conn.getResponseCode();
          logger.info("response " + rc + " from " + requestMethod + " " + url + plus);
          if (rc &gt; 399) 
          {
               return null;
          } 
          else 
          {
              return getWrappedInputStream(
                  conn.getInputStream(), GZIP_ENCODING.equalsIgnoreCase(conn.getContentEncoding())
              );
          }
      } 
      catch (IOException e) 
      {
          throw new TrelloException(e.getMessage());
      }
  }
  </code></pre>