Opkey Device Booking & Session API

The Device Booking & Session API from Opkey — 3 operation(s) for device booking & session.

Operations 3

POST /api/v2/clean-device Clean_Devices(V2) #
POST /api/v2/release-device Release Device(V2) #
POST /api/startdeviceservices Start Device Services #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opkey-device-booking-session-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opkey-device-booking-session-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: pCloudy Device Cloud Device Booking & Session API
  version: v2
  summary: Public REST API for the pCloudy real-device cloud, an Opkey product.
  description: The pCloudy REST API is the machine-readable surface of the pCloudy real-device testing cloud operated by Opkey (Smart Software Testing Solutions Inc.).
  contact:
    name: Opkey
    url: https://www.opkey.com/
  x-generated-by: API Evangelist enrichment pipeline
  x-source: https://content.pcloudy.com/apidocs/
servers:
- url: https://{cloud}.pcloudy.com
  description: pCloudy cloud instance
  variables:
    cloud:
      default: device
      enum:
      - device
      - demo
      - aus
      description: pCloudy cloud host prefix; the docs refer to this as <Cloud URL>.
security:
- accessToken: []
tags:
- name: Device Booking & Session
paths:
  /api/v2/clean-device:
    post:
      operationId: cleanDevice
      summary: Clean_Devices(V2)
      tags:
      - Device Booking & Session
      description: Cleans the reserved device by clearing residual app data and returning it toward a fresh state between tests. Used to remove leftover data, accounts, and test artifacts so each run starts from a known baseline.
      parameters:
      - name: token
        in: header
        required: true
        description: API access token (from /api/access).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - rid
              properties:
                rid:
                  type: integer
                  description: Device reservation ID (returned when the device is booked).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                traceId: fhcDtmOQbLXxZEITWgVFR
                requestId: LNqenAilCL4xGihXlwtxb
                statusCode: 200
                status: success
                message: OK
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/v2/release-device:
    post:
      operationId: releaseDevice
      summary: Release Device(V2)
      tags:
      - Device Booking & Session
      description: Releases the device reserved through the V2 flow, ending the session and returning the device to the shared pool. Always call it during teardown to free the device and stop session usage.
      parameters:
      - name: token
        in: header
        required: true
        description: API access token (from /api/access).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - rid
              properties:
                rid:
                  type: integer
                  description: Device reservation ID (returned when the device is booked).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                traceId: nCBspvKfayCxhN8ZGugC
                requestId: plUq82anV9TLBlalAsSgr
                statusCode: 200
                status: success
                message: OK
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/startdeviceservices:
    post:
      operationId: startDeviceServices
      summary: Start Device Services
      tags:
      - Device Booking & Session
      description: Starts the backend device services required for the booked session (for example streaming, logging, and automation bridges) so the device is ready for interaction. Call it after booking a device and before sending automation or interaction commands.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - None
              properties:
                None:
                  type: string
                  description: Authentication is via the Authorization header (Basic username:apiKey).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                requestId: 1aa5413b-3a67-402d-84c-09bedf5491fe
                statusCode: 200
                status: success
                message: OK
                data:
                  message: Automation initiated successfully...
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic with your pCloudy email as the username and your API access key as the password. Used only by GET /api/access to mint an access token.
    accessToken:
      type: apiKey
      in: header
      name: token
      description: Access token returned by GET /api/access. Newer /api/v2/* operations send it as a `token` header; several legacy /api/* operations send the same token as a `token` field in the JSON request body.
externalDocs:
  description: pCloudy API Reference
  url: https://content.pcloudy.com/apidocs/