# Lister les serveurs

GET /api/servers

  Obsolète depuis la version 0.5.0:

  - Les propriétés `indir` et outDir` de la réponse ont été remplacées par les propriétés `sendDir` et `receiveDir`.

  - La propriété `root``de la réponse a été remplacée par la propriété ``rootDir`.

  - La propriété `workDir` de la réponse a été remplacée par la propriété ``tmpReceiveDir`.

  Renvoie une liste des serveurs remplissant les critères donnés en paramètres de requête.

  En-têtes de requête:

    - Authorization – Les identifiants de l’utilisateur

  Paramètres:

    - limit (int) – Le nombre maximum de résultats souhaités (défaut: 20)

    - offset (int) – Le numéro du premier résultat souhaité (défaut: 0)

    - sort (string) – Le paramètre selon lequel les serveurs seront triés. Valeurs possibles : `name+`, `name-`, `protocol+`, `protocol-`. (défaut: name+)

    - protocol (string) – Filtre uniquement les serveurs utilisant ce protocole. Peut être renseigné plusieurs fois pour filtrer plusieurs protocoles.

  Status Codes:

    - 200 OK – La liste a été renvoyée avec succès

    - 400 Bad Request – Un ou plusieurs des paramètres de requêtes sont invalides

    - 401 Unauthorized – Authentification d’utilisateur invalide

  Objet JSON de réponse:

    - servers (array) – La liste des serveurs demandés

  Tableau d’objets JSON de réponse:

    - name (string) – Le nom du serveur

    - protocol (string) – Le protocole utilisé par le serveur

    - address (string) – L’adresse du serveur (en format [adresse:port])

    - enabled (bool) – Indique si le serveur est activé ou non au démarrage de Gateway.

    - rootDir (string) – Chemin du dossier racine du serveur. Peut être relatif (à la racine de la gateway) ou absolu.

    - receiveDir (string) – Le dossier de réception du serveur. Peut être relatif (à la racine du serveur) ou absolu.

    - sendDir (string) – Le dossier d’envoi du serveur. Peut être relatif (à la racine du serveur) ou absolu.

    - tmpReceiveDir (string) – Le dossier temporaire du serveur. Peut être relatif (à la racine du serveur) ou absolu.

    - authMethods (array) – La liste des valeurs utilisées par le serveur pour s’authentifier auprès des clients externes qui s’y connectent.

    - protoConfig (object) – La configuration du serveur encodé sous forme d’un objet JSON. Cet objet dépend du protocole.

    - authorizedRules (object) –

      Les règles que le serveur est autorisé à utiliser pour les transferts.

      - `sending` (array of string) - Les règles d’envoi.

      - `reception` (array of string) - Les règles de réception.

    - root (string) – Déprécié. La racine du serveur. Peut être relatif (à la racine de la gateway) ou absolu .

    - inDir (string) – Déprécié. Le dossier de réception du serveur. Peut être relatif (à la racine du serveur) ou absolu.

    - outDir (string) – Déprécié. Le dossier d’envoi du serveur. Peut être relatif (à la racine du serveur) ou absolu.

    - workDir (string) – Déprécié. Le dossier temporaire du serveur. Peut être relatif (à la racine du serveur) ou absolu.

  Exemple de requête

      GET https://my_waarp_gateway.net/api/servers?limit=10&sort=name-&protocol=sftp HTTP/1.1
      Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

  Exemple de réponse

      HTTP/1.1 200 OK
      Content-Type: application/json
      Content-Length: 619

      {
        "servers": [{
          "name": "sftp_server_2",
          "protocol": "sftp",
          "address": "localhost:2023",
          "enabled": false,
          "rootDir": "/sftp2/root",
          "authMethods": ["sftp_hostkey_2"],
          "protoConfig": {},
          "authorizedRules": {
            "sending": ["règle_envoi_1", "règle_envoi_2"],
            "reception": ["règle_récep_1", "règle_récep_2"]
          }
        },{
          "name": "sftp_server_1",
          "protocol": "sftp",
          "address": "localhost:2022",
          "enabled": true,
          "rootDir": "/sftp/root",
          "protoConfig": {},
          "authMethods": ["sftp_hostkey_1"],
          "authorizedRules": {
            "sending": ["règle_envoi_1", "règle_envoi_2"],
            "reception": ["règle_récep_1", "règle_récep_2"]
          }
        }]
      }