Opkey Xctest Automation API

The Xctest Automation API from Opkey — 6 operation(s) for xctest automation.

OpenAPI Specification

opkey-xctest-automation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: pCloudy Device Cloud Xctest Automation 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: Xctest Automation
paths:
  /api/automationbooking:
    post:
      operationId: xctestBookDevice
      summary: Book Device for Automation
      tags:
      - Xctest Automation
      description: Books a device for an automation session and returns the booking details, including the reservation id (rid) used by subsequent automation calls. Used to reserve a specific device before starting device services and running XCTest-based automation.
      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:
              - devices
              - booking_duration
              - automation_type
              properties:
                devices:
                  type: array
                  description: Request parameter.
                booking_duration:
                  type: string
                  description: Request parameter.
                automation_type:
                  type: string
                  description: Request parameter.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                result:
                  code: 200
                  msg: success
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/xctest/initiate:
    post:
      operationId: xctestInitAutomation
      summary: Initialize Automation
      tags:
      - Xctest Automation
      description: This API initiates the XCTest on devices for that test suite. The test suite you had to upload by using upload API which is available in Generic API.
      parameters:
      - name: token
        in: header
        required: true
        description: Authtoken (this will get from authenticate api response)
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - automationId
              - test_suite
              properties:
                automationId:
                  type: string
                  description: automationId (this will get from XCTest book devices api response).
                test_suite:
                  type: string
                  description: Test suite zip file name which is there in cloud drive (My App Data).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/xctest/start_device_services:
    post:
      operationId: xctestStartServices
      summary: Start Device Services
      tags:
      - Xctest Automation
      description: This API helps to initialize device services on the device like device log, performance log, and session video recording.
      parameters:
      - name: token
        in: header
        required: true
        description: Authtoken (this will get from authenticate api response)
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - automationId
              - startDeviceLogs
              - startPerformanceData
              - startSessionRecording
              properties:
                automationId:
                  type: string
                  description: automationId (this will get from XCTest book devices api response).
                startDeviceLogs:
                  type: string
                  description: true/false.
                startPerformanceData:
                  type: string
                  description: true/false.
                startSessionRecording:
                  type: string
                  description: true/false.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/getAutomationShareableLink:
    post:
      operationId: xctestShareableLink
      summary: Automation Report Shareable Link
      tags:
      - Xctest Automation
      description: This API helps to share the automation reports to team.
      parameters:
      - name: token
        in: header
        required: true
        description: Authtoken (this will get from authenticate api response)
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - automationId
              properties:
                automationId:
                  type: string
                  description: automationId (this will get from XCTest book devices api response).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/xctest/release_devices:
    post:
      operationId: xctestReleaseDevices
      summary: Release Devices
      tags:
      - Xctest Automation
      description: This API helps you to release the XCTest automation devices.
      parameters:
      - name: token
        in: header
        required: true
        description: Authtoken (this will get from authenticate api response)
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - automationId
              properties:
                automationId:
                  type: string
                  description: automationId (this will get from XCTest book devices api response).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized - missing or invalid access token
      security:
      - accessToken: []
  /api/xctest/book_devices:
    post:
      operationId: xctestBookDevices
      summary: Book Devices
      tags:
      - Xctest Automation
      description: This api book the devices for XCTest automation execution.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - token
              - devices
              - booking_duration
              - automation_type
              properties:
                token:
                  type: string
                  description: Authtoken (this will get from authenticate api response)
                devices:
                  type: string
                  description: Provide array of devices id's for multiple device booking (devices ids will get from Get devices list api response)
                booking_duration:
                  type: string
                  description: Duration in minutes you want to book the each device.
                automation_type:
                  type: string
                  description: Provide automation type (XCUITest).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '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/