---
title: "Check the cloud connection"
description: "Remotely check the live WebSocket connection of terminals."
url: "https://docs.adyen.com/point-of-sale/diagnostics/check-cloud-connection"
source_url: "https://docs.adyen.com/point-of-sale/diagnostics/check-cloud-connection.md"
canonical: "https://docs.adyen.com/point-of-sale/diagnostics/check-cloud-connection"
last_modified: "2020-10-09T12:30:00+02:00"
language: "en"
---

# Check the cloud connection

Remotely check the live WebSocket connection of terminals.

[View source](/point-of-sale/diagnostics/check-cloud-connection.md)

In a Terminal API integration with cloud communications, terminals establish a WebSocket connection to access Terminal API. If the terminal is connected to your network, for example to the Wi-Fi network, this doesn't mean the terminal can establish a WebSocket connection. You need to enable WebSockets in your [Customer Area](https://ca-test.adyen.com/) under **In-person payments** > **Terminal settings** > **Integrations**. After WebSockets are enabled, you can verify in real time whether terminals have a live cloud connection.

You can verify this:

* Remotely:

  * [Using your Customer Area](#use-the-customer-area)
  * [Using an API request](#use-an-api-call)

* [On the physical terminal](#check-cloud-on-terminal)

## Check in the Customer Area

In your Customer Area, you can view the terminals list or the terminal details to verify whether terminals have a live cloud connection to Terminal API:

1. In your [Customer Area](https://ca-test.adyen.com/), go to **In-person payments** > **Payment devices**, and select the **Terminals** tab.

2. Check the **WebSocket** column. This uses cloud symbols to indicate the cloud connection status of each terminal, or a minus sign (**) if WebSockets aren't enabled.

   If the **WebSocket** column isn't shown, select the settings icon **and select the column.

   There is a delay between the actual status and the status shown in the list. You may want to check an individual terminal as described below.

3. Select the terminal from the list.\
   The page **Settings** > **About this terminal** appears.

   If you do not see the field **Cloud connection**, WebSockets aren't enabled for the terminal.

4. At **Cloud connection**, select **Check connection**.\
   An icon indicates the result, and a message pops up, either:

   * ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") Terminal is connected.
   * ![-x-](/user/data/smileys/emoji/x.png "-x-") Terminal is disconnected. This indicates the terminal is turned off, or there is a problem with the\
     terminal's cloud connection.

   The connection icon is not updated automatically. You need to click **Check connection** each time you want to know the current state.

## Check using an API request

The `/connectedTerminals` endpoint returns a list of terminals that have a live cloud connection. You can get this\
information for a merchant account, a store, or a specific terminal.

The endpoint to use differs for test and live terminals:

* For test terminals: `https://terminal-api-test.adyen.com/connectedTerminals`
* For live terminals: `https://terminal-api-live.adyen.com/connectedTerminals`

Authenticate your requests using the same [API key that you use for your Terminal API requests](/point-of-sale/design-your-integration/terminal-api#api-key).

To verify whether terminals have a live cloud connection to Terminal API:

1. Make a POST request to the test or live `/connectedTerminals` endpoint, specifying:

   | Parameter          | Required                                                                                    | Description                                                                                                                                        |
   | ------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
   | `merchantAccount`  | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The merchant account that you want to check.                                                                                                       |
   | `store`            |                                                                                             | The store that you want to check. Must belong to the specified `merchantAccount`.                                                                  |
   | `uniqueTerminalId` |                                                                                             | The POIID of the terminal that you want to check, in the format *\[device model]-\[serial number]*. Must belong to the specified `merchantAccount` |

   Here are some example requests:

   **Get connected terminals under a merchant account**

   ```json
   {
       "merchantAccount": "ADYEN_MERCHANT_ACCOUNT"
   }
   ```

   **Get connected terminals under a store**

   ```json
   {
       "merchantAccount": "ADYEN_MERCHANT_ACCOUNT",
       "store": "YOUR_STORE_ID"
   }
   ```

   **Check a specific terminal**

   ```json
   {
       "merchantAccount": "ADYEN_MERCHANT_ACCOUNT",
       "uniqueTerminalId": "V400m-324688178"
   }
   ```

2. You receive a response with:

   * `uniqueTerminalIds`: an array with the POIIDs of the terminals that have a live cloud connection. If you checked a specific terminal, the same `uniqueTerminalId` from the request is returned.

   **/connectedTerminals response**

   ```json
   {
      "uniqueTerminalIds" : [
         "MX915-284251016",
         "MX925-260390740",
         "V400m-324688136",
         "V400m-324688178",
         "V400m-324688181"
      ]
   }
   ```

   If the `uniqueTerminalIds` array from the response is empty, this can indicate:

   * No terminal found with a live cloud connection.
   * WebSockets are not enabled.

## Check on the terminal

To verify on the physical terminal whether it has a live cloud connection to Terminal API, run a [Terminal API connection test](/point-of-sale/pos-troubleshooting/connection-tests#terminal-api-test):

1. Check the icons in the top row of the terminal display: there should be a cloud icon.
2. Select **Settings** > **Diagnostics**.
3. Select **Terminal API**: the items **API enabled**, **WebSocket enabled**, and **WebSocket connection** should all\
   have a green check mark ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-").

## Restore the cloud connection

If the result from your check indicates the terminal doesn't have a live cloud connection to Terminal API:

1. [Check that WebSockets are enabled](#use-the-customer-area).\
   If disabled, go to your [Customer Area](https://ca-test.adyen.com/) and enable WebSockets under **In-person payments** > **Terminal settings** > **Integrations**.

2. If you checked remotely, verify that the terminal wasn't turned off at the time.

3. If the terminal is turned on, restart the terminal.

## See also

* [Make a diagnosis request](/point-of-sale/diagnostics/request-diagnosis)
* [Run connection tests from the terminal](/point-of-sale/pos-troubleshooting/connection-tests)
* [Run hardware tests](/point-of-sale/pos-troubleshooting/hardware-tests)
