# Appium2 Devices

### Endpoint Information

* **URL**: \<your-gateway-url>/devicepark/devices
* **Method**: `GET`
* **Authentication**: Required (`Bearer Token`)

### Response Body

```
{
  "data": [
    {
      "id": 23,
      "serial": "***MASKED***",
      "marketName": "iPhone 12",
      "model": "***MASKED***",
      "manufacturer": "Apple",
      "platform": "iOS",
      "platformVersion": "18.x",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "IDLE",
      "isEnabled": true,
      "isAvailable": true
    },
    {
      "id": 25,
      "serial": "***MASKED***",
      "marketName": "Galaxy A30",
      "model": "***MASKED***",
      "manufacturer": "Samsung",
      "platform": "Android",
      "platformVersion": "9",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "SESSION_ACTIVE",
      "isEnabled": true,
      "isAvailable": false
    },
    {
      "id": 87,
      "serial": "***MASKED***",
      "marketName": "S21 FE 5G",
      "model": "***MASKED***",
      "manufacturer": "Samsung",
      "platform": "Android",
      "platformVersion": "14",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "SESSION_ACTIVE",
      "isEnabled": true,
      "isAvailable": false
    },
    {
      "id": 88,
      "serial": "***MASKED***",
      "marketName": "r0q",
      "model": "***MASKED***",
      "manufacturer": "Samsung",
      "platform": "Android",
      "platformVersion": "13",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "IDLE",
      "isEnabled": true,
      "isAvailable": true
    },
    {
      "id": 90,
      "serial": "***MASKED***",
      "marketName": "iPhone X",
      "model": "***MASKED***",
      "manufacturer": "Apple",
      "platform": "iOS",
      "platformVersion": "16.x",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "IDLE",
      "isEnabled": true,
      "isAvailable": true
    },
    {
      "id": 95,
      "serial": "***MASKED***",
      "marketName": "iPad Pro 12.9 inch 5th Gen",
      "model": "***MASKED***",
      "manufacturer": "Apple",
      "platform": "iOS",
      "platformVersion": "18.x",
      "hubIp": "***.***.***.***",
      "operationalState": "HEALTHY",
      "sessionState": "IDLE",
      "isEnabled": true,
      "isAvailable": true
    }
  ],
  "result": {
    "code": 0,
    "message": "success"
  }
}
```

| Parameter        | Type    | Description                                                                      |
| ---------------- | ------- | -------------------------------------------------------------------------------- |
| id               | long    | Unique identifier of the device in the system.                                   |
| serial           | string  | Device serial number or UDID identifying the physical device.                    |
| marketName       | string  | The commercial name of the device (e.g., “iPhone 12”, “Galaxy A30”).             |
| model            | string  | Hardware model identifier assigned by the manufacturer.                          |
| manufacturer     | string  | Device manufacturer (e.g., Apple, Samsung, Xiaomi).                              |
| platform         | string  | Device operating system (e.g., Android, iOS).                                    |
| platformVersion  | string  | Version of the operating system installed on the device.                         |
| hubIp            | string  | IP address of the device hub where the device is connected.                      |
| operationalState | string  | Current operational health of the device (e.g., HEALTHY, UNHEALTHY).             |
| sessionState     | string  | Current session status of the device                                             |
| isEnabled        | boolean | Indicates whether the device is enabled and allowed to be used.                  |
| isAvailable      | boolean | Indicates whether the device is currently free and available for test execution. |

| Parameter      | Type    | Description                                                                       |
| -------------- | ------- | --------------------------------------------------------------------------------- |
| data           | Object  | The payload of the response. In this case `null` since no extra data is returned. |
| result         | Object  | Contains details about the outcome of the operation.                              |
| result.code    | Integer | The result code (e.g., `0` indicates success).                                    |
| result.message | String  | A message describing the outcome (e.g., `"success"`).                             |

#### Error Codes <a href="#error-codes" id="error-codes"></a>

| HTTP Code | Error Message           | Description                                      |
| --------- | ----------------------- | ------------------------------------------------ |
| `400`     | `INVALID_REQUEST`       | The request was malformed or contained errors.   |
| `500`     | `INTERNAL_SERVER_ERROR` | An unexpected error occurred on the server side. |

### Example Request

```
curl --location '<your-gateway-url>/devicepark/devices' \
--header 'accept: application/json, text/plain, */*' \
--header 'authorization: Bearer <your_access_token>' \
--header 'content-type: application/json'
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://testinium.gitbook.io/testinium-enterprise/apis/enterprise-2.0/plan/appium2-devices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
