---
title: Device Park SDK
slug: devicepark/sdk-documentation
description: Build production-ready Java, Node.js and .NET mobile test integrations with Device Park.
icon: {"lucideIcon":"House"}
docTags: 
createdAt: 2026-08-10T08:03:44.631Z
---

## What is DevicePark?

DevicePark is a centralized device farm management platform that enables teams to remotely access, allocate, monitor and manage mobile devices from a single platform.

It helps teams prepare devices for testing, monitor device health and availability, organize devices through pools and reduce manual device operations across cloud and on-premise environments.

DevicePark can be used to configure and manage device infrastructure or to integrate device management capabilities into existing workflows through the official Java, Node.js and .NET SDKs.

Continue with [How Device Park Works](docId\:NU6H7zhS-QaC9dYM1P-EL).

## Start Here

| Goal                                       | Guide                                                 |
| ------------------------------------------ | ----------------------------------------------------- |
| Understand the product model               | [How Device Park Works](docId\:NU6H7zhS-QaC9dYM1P-EL) |
| Learn SDK resources and lifecycle          | [SDK Overview](docId:67rdtIBm-O_9dnfIRW_sT)           |
| Install the SDK                            | [Installation](docId\:CGcNHeobHYgMIAJSgu6Ch)          |
| Configure credentials                      | [Authentication](docId\:oMSmDNeb-eBnN8fFi2Sag)        |
| Complete the first reservation and session | [Get Started](docId\:BmZpbcOhqBrc7RFyOMona)           |

## What You Can Build

### Select the Right Device

List devices visible to the account, filter them by pool, serial, platform or hardware criteria, or retrieve one known device by serial.

- [List and filter devices](docId\:T2lFRSsG2mhohPOA4K26-)
- [Get one device](docId\:EXG5swERxuXv7yKWOyrwo)
- [List applications installed on a device](docId\:JOQ1A2pU5ih-Rqb7TDx_4)
- [List device pools](docId\:fmKLq2CPwGu4aurSboUFg)
- [Create, delete and change pool devices](docId\:ObX8hTXvKifuvFe9uTuit)

### Reserve Capacity

Create an allocation for one serial, a pool or matching criteria. Inspect the same allocation while it waits in the queue and release it only after the final test session.

- [Create an allocation](docId\:sPz_N5rutGOmDKrBjbb0L)
- [Inspect allocations](docId\:GGobQpsUr2aKNz0jfCNYD)
- [Release an allocation](docId\:zPik1KKbx0n9i3GXP3HoB)

### Manage Test Sessions

Start Device Park sessions on the reserved device, run Appium automation, collect logs and recordings, and reuse one active allocation for multiple sequential sessions.

- [Start a session](docId\:ouSu3HjjBQLFsC2bURFU-)
- [Get a screen stream URL](docId\:sMdrq_2Jfb0NIyvLPCtpD)
- [List and filter sessions](docId\:yDnbFyoHkKjGUefb_-6rf)
- [Collect Appium logs](docId:6uoDGEOKeg_BFpqQPoBDE)
- [List screen recordings](docId:9voFjQy3NQ7olg4uHLhTK)

### Manage Mobile Applications

Upload APK or IPA files, use optional image injection, find stored revisions and delete artifacts by stable `fileKey`.

- [Upload an application](docId\:KyaNImcg1bsxfewffzLGc)
- [List and filter applications](docId\:SPDXnMADbDctpaPsO1gbH)
- [Delete an application](docId\:ghd_rv5liYtmoS-yC5xvF)

## Complete Examples

- [Node.js quickstart](docId\:YncBWPNpB5fmS5CBlgGTj)
- [Java quickstart](docId\:Crq4nGNIdPa-TsqQPzbOq)
- [.NET quickstart](docId\:lwgzKBqNegxKTiG23Wj9R)

## SDK Languages

| SDK     | Runtime                                          | Package                                          | Client                |
| ------- | ------------------------------------------------ | ------------------------------------------------ | --------------------- |
| Java    | Java 8+                                          | `io.testinium.devicepark:device-park-public-sdk` | `DeviceParkApiClient` |
| Node.js | Node.js 18+                                      | `@device-park/public-sdk`                        | `DeviceParkApiClient` |
| .NET    | .NET Framework 4.7.2+, .NET Core 3.1+, .NET 5-10 | `Testinium.DevicePark`                           | `DeviceParkApiClient` |

Language-specific behavior is called out on each operation page where it matters.

## Reference

- [Exact SDK method signatures](docId\:OoaKfd3Ua6tGD-fnw_WuH)
- [Request and response models](docId:-CQFsjSE5Bf_dV5p4FT7S)
- [Pagination and filter rules](docId\:dGs4iHB5eEr5U28AOL8T_)
- [Error handling](docId\:nZrw0_UkMOapMnZtgQtMI)
