Opkey Apk Instrumentation API

The Apk Instrumentation API from Opkey — 3 operation(s) for apk instrumentation.

OpenAPI Specification

opkey-apk-instrumentation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: pCloudy Device Cloud Apk Instrumentation 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.). It covers authentication, device booking and session lifecycle, app upload/install/control, device interaction, performance capture, session media and logs, network simulation, APK instrumentation, app resigning, App Center integration, and Appium/XCTest automation orchestration. All methods default to POST except authentication, and requests set Content-Type: application/json.


    PROVENANCE: this document was generated by API Evangelist from the operations, parameters and examples published in Opkey''s own public pCloudy API Reference at https://content.pcloudy.com/apidocs/ . Opkey does not publish an OpenAPI document; every path, method, parameter and description here is transcribed from that published reference and nothing has been invented. It is a third-party transcription, not a provider artifact.'
  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: Apk Instrumentation
paths:
  /api/app_instrumentation/initiate:
    post:
      operationId: instrumentInitiate
      summary: Instrument Initiate
      tags:
      - Apk Instrumentation
      description: Initiates instrumentation of an Android APK (for example to enable test hooks or coverage) and returns a job reference. Used when an app must be instrumented before automated testing; track progress with the progress API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - fileId
              - token
              - version
              properties:
                fileId:
                  type: string
                  description: Request parameter.
                token:
                  type: string
                  description: API access token (from /api/access).
                version:
                  type: string
                  description: Request parameter.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                result:
                  instrumentation_token: cb51e467-09b8-4bda-a0b1-4983395f7e16
                  file: BioMetric1.apk
                  code: 200
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/app_instrumentation/progress:
    post:
      operationId: instrumentationProgress
      summary: Instrumentation Progress
      tags:
      - Apk Instrumentation
      description: Returns the current progress/status of an in-flight APK instrumentation job. Poll it after initiating instrumentation to know when the instrumented build is ready for download.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - instrumentation-token
              - token
              - version
              properties:
                instrumentation-token:
                  type: string
                  description: Token returned by the instrumentation initiate call.
                token:
                  type: string
                  description: API access token (from /api/access).
                version:
                  type: string
                  description: Request parameter.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                result:
                  instrumentation_token: cb51e467-09b8-4bda-a0b1-4983395f7e16
                  file: 3ee81b06-036c-4b07-b0aa-2a47745e4186.apk
                  percentage_complete: 100
                  code: 200
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/app_instrumentation/download-to-cloud-drive:
    post:
      operationId: downloadInstrumentedFile
      summary: Download Instrumented File
      tags:
      - Apk Instrumentation
      description: Downloads the instrumented APK to the pCloudy cloud drive once the instrumentation job has completed. Used to obtain the instrumented build for installation and automated testing.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - instrumentation-token
              - token
              - version
              properties:
                instrumentation-token:
                  type: string
                  description: Token returned by the instrumentation initiate call.
                token:
                  type: string
                  description: API access token (from /api/access).
                version:
                  type: string
                  description: Request parameter.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                result:
                  instrumentation_token: cb51e467-09b8-4bda-a0b1-4983395f7e16
                  instrumented_file_name: BioMetric1_Sensor1671628875.apk
                  fileId: bf5d2a7a-abe0-4ad6-a93b-593936457f4
                  code: 200
        '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/