Modifier un client
==================

.. http:patch:: /api/clients/(string:client_name)

   Met à jour le client demandé avec les informations renseignées en JSON.
   Les champs non-spécifiés resteront inchangés.

   :reqheader Authorization: Les identifiants de l'utilisateur

   :reqjson string name: Le nom du client.
   :reqjson string protocol: Le protocole du client.
   :reqjson string localAddress: L'adresse locale du client (en format [adresse:port])
   :reqjson object protoConfig: La configuration du client encodé sous forme
      d'un objet JSON. Cet objet dépend du protocole.
   :reqjson number nbOfAttempts: Le nombre de fois qu'un transfert effectué avec
      ce client sera retenté automatiquement en cas d'échec.
   :reqjson number firstRetryDelay: Le délai (en secondes) entre la tentative
      originale d'un transfert et la première reprise automatique.
   :reqjson number retryIncrementFactor: Le facteur par lequel le délai ci-dessus
      est multiplié à chaque nouvelle tentative d'un transfert donné.

   :statuscode 201: Le client a été modifié avec succès
   :statuscode 400: Un ou plusieurs des paramètres du client sont invalides
   :statuscode 401: Authentification d'utilisateur invalide
   :statuscode 404: Le client demandé n'existe pas

   :resheader Location: Le chemin d'accès au client modifié.


   |

   **Exemple de requête**

      .. code-block:: http

         PATCH https://my_waarp_transfer.net/api/clients/r66 HTTP/1.1
         Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
         Content-Type: application/json
         Content-Length: 148

         {
           "name": "new_r66_client",
           "protocol": "r66",
           "localAddress": "0.0.0.0:2223",
           "protoConfig": {}
         }

   **Exemple de réponse**

      .. code-block:: http

         HTTP/1.1 201 CREATED
         Location: https://my_waarp_transfer.net/api/clients/new_r66_client
