List devices
This endpoint requires authentication. Include your API key in the X-API-KEY header with every request.
GET
/hoster/v1/devicesPaginated list of the hoster's non-archived devices, each with health, self-rent status, and rotation. The proxied tunnel is served per-device by GET /hoster/v1/devices/{id}/self-rent/tunnel.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | Minimum 1.(default: 1) |
| limit | number | Optional | Between 1 and 100.(default: 20) |
| rentalStatus | "sold" | "self_rented" | "idle" | Optional | One of: sold, self_rented, idle. |
| marketplaceStatus | "listed" | "not_listed" | Optional | One of: listed, not_listed. |
| setupStatus | "awaiting_device_details" | "awaiting_agent" | "active" | "draft" | "incomplete" | "complete" | Optional | One of: awaiting_device_details, awaiting_agent, active, draft, incomplete, complete. |
| search | string | Optional | Non-empty string. |
Example Request
curl -X GET "https://api.proxied.com/hoster/v1/devices?page=1&limit=20" \
-H "X-API-KEY: <api-key>"200 Response
{
"success": true,
"data": {
"items": [
{
"deviceId": "68fb9f95c5c7c56bcf24d60f",
"model": "Pixel 7",
"brand": "Google",
"label": "Primary",
"setupStatus": "active",
"appVersion": "2.1.4",
"lastHeartbeatAt": "2024-03-15T10:30:00.000Z",
"rentalStatus": "self_rented",
"marketplaceStatus": "not_listed",
"selfRent": {
"status": "active",
"rentalId": "68fb9f95c5c7c56bcf24d60f"
},
"rotation": {
"status": "active",
"intervalInMs": 60000
}
}
],
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}
}Error Responses
Error shape
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "readable message"
}
}| Status | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Validation failed. |
401 | MISSING_API_KEY | Missing API key. |
403 | INVALID_API_KEY | Invalid key or suspended account. |
403 | HOSTER_BANNED | Invalid key or suspended account. |
500 | INTERNAL_ERROR | Internal error. |