Kobiton Devices API

Real devices available in the Kobiton device cloud.

OpenAPI Specification

kobiton-devices-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kobiton REST Apps Devices API
  description: 'The Kobiton REST API programmatically operates the Kobiton mobile device cloud and app testing platform. It exposes the real device cloud (list and filter available iOS/Android devices), test sessions and their captured commands, the app repository (upload and manage app builds), data-driven testing data sets, scriptless (no-code) test runs via revisit plans, and organization member administration. Scripted automation runs against the separate Appium/WebDriver hub at https://api.kobiton.com/wd/hub and is not modeled here. All REST requests authenticate with HTTP Basic auth using a Kobiton username (or email) as the user and an API key as the password; the pair is base64-encoded in the Authorization header.

    Endpoints for Devices, Apps, Data Sets, Scriptless Automation (revisit plans), and Organization are grounded in Kobiton''s published API docs and official samples. Session sub-resources (get session, get session commands) are grounded in Kobiton''s get-session-data sample. Request and response schemas below are modeled from the documentation and sample payloads and should be reconciled against the live api.kobiton.com/docs reference; a newer v2 API also exists at https://api.kobiton.com/v2.'
  version: '1.0'
  contact:
    name: Kobiton
    url: https://kobiton.com
servers:
- url: https://api.kobiton.com/v1
  description: Kobiton REST API v1
security:
- basicAuth: []
tags:
- name: Devices
  description: Real devices available in the Kobiton device cloud.
paths:
  /devices:
    get:
      operationId: listDevices
      tags:
      - Devices
      summary: List available devices
      description: Returns all devices the current user can access - public cloud, favorites, and private/local devices - with device metadata. Supports filtering to locate a device to book for a test run.
      parameters:
      - name: isOnline
        in: query
        schema:
          type: boolean
        description: Whether the device is currently online.
      - name: isBooked
        in: query
        schema:
          type: boolean
        description: Whether the device is currently booked.
      - name: platformName
        in: query
        schema:
          type: string
          enum:
          - Android
          - iOS
        description: The device platform.
      - name: platformVersion
        in: query
        schema:
          type: string
        description: The platform / OS version of the device.
      - name: deviceName
        in: query
        schema:
          type: string
        description: The device name; accepts an exact name or a comma-separated list of names.
      - name: appiumDisabled
        in: query
        schema:
          type: boolean
        description: Filter by whether the device can run Appium automation tests.
      - name: groupId
        in: query
        schema:
          type: integer
        description: For organization users, restrict to devices in a device group.
      responses:
        '200':
          description: The devices accessible to the current user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed or was not provided.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
  schemas:
    Device:
      type: object
      properties:
        id:
          type: integer
        deviceName:
          type: string
        platformName:
          type: string
          enum:
          - Android
          - iOS
        platformVersion:
          type: string
        isOnline:
          type: boolean
        isBooked:
          type: boolean
        udid:
          type: string
    DeviceList:
      type: object
      description: Devices grouped by source. Modeled from the get-devices-info sample; reconcile exact property names against the live response.
      properties:
        privateDevices:
          type: array
          items:
            $ref: '#/components/schemas/Device'
        favoriteDevices:
          type: array
          items:
            $ref: '#/components/schemas/Device'
        cloudDevices:
          type: array
          items:
            $ref: '#/components/schemas/Device'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. Use your Kobiton username (or email) as the username and your Kobiton API key as the password. Create and manage API keys in the Kobiton portal under API Keys settings.