Kobiton Sessions API

Test-run sessions and their captured commands.

OpenAPI Specification

kobiton-sessions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kobiton REST Apps Sessions 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: Sessions
  description: Test-run sessions and their captured commands.
paths:
  /sessions/{sessionId}:
    get:
      operationId: getSession
      tags:
      - Sessions
      summary: Get a session
      description: Retrieves a test-run session by its Kobiton session ID, including device, app, state, and timing metadata. Grounded in the get-session-data sample.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      responses:
        '200':
          description: The session record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Session not found.
  /sessions/{sessionId}/commands:
    get:
      operationId: getSessionCommands
      tags:
      - Sessions
      summary: Get session commands
      description: Returns the paginated list of commands (the step-by-step Appium / WebDriver actions) captured during a session. Grounded in the get-session-data sample, which shows currentPage / totalPages pagination.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      - name: page
        in: query
        schema:
          type: integer
          default: 1
        description: The page of commands to retrieve.
      responses:
        '200':
          description: A page of session commands.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionCommandsPage'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    SessionCommandsPage:
      type: object
      description: A paginated page of session commands, as shown in the get-session-data sample.
      properties:
        currentPage:
          type: integer
        totalPages:
          type: integer
        commands:
          type: array
          items:
            type: object
            additionalProperties: true
    Session:
      type: object
      description: A test-run session. Modeled; reconcile against the live get-session response.
      properties:
        id:
          type: integer
        state:
          type: string
        deviceName:
          type: string
        platformName:
          type: string
        platformVersion:
          type: string
        appName:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
  responses:
    Unauthorized:
      description: Authentication failed or was not provided.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
  parameters:
    SessionId:
      name: sessionId
      in: path
      required: true
      schema:
        type: integer
      description: The Kobiton session ID.
  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.