Smartphone Test Farm icon

Smartphone Test Farm

Control and manages real Smartphone devices from browser and restful apis

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "http",
    "https"
  ],
  "host": "openstf.local",
  "basePath": "/api/v1",
  "info": {
    "contact": {
      "email": "contact@openstf.io",
      "name": "STF Team",
      "url": "http://openstf.io/",
      "x-twitter": "open_stf"
    },
    "description": "Control and manages real Smartphone devices from browser and restful apis",
    "license": {
      "name": "Apache-2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0"
    },
    "title": "Smartphone Test Farm",
    "version": "2.3.0",
    "x-apisguru-categories": [
      "telecom"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_open_stf_profile_image.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/openstf/stf/master/lib/units/api/swagger/api_v1_generated.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "openstf.io"
  },
  "consumes": [
    "application/json",
    "application/octet-stream"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "accessTokenAuth": {
      "in": "header",
      "name": "authorization",
      "type": "apiKey"
    }
  },
  "tags": [
    {
      "description": "User Operations",
      "name": "user"
    },
    {
      "description": "Device Operations",
      "name": "devices"
    }
  ],
  "paths": {
    "/devices": {
      "get": {
        "description": "The devices endpoint return list of all the STF devices including Disconnected and Offline",
        "operationId": "getDevices",
        "parameters": [
          {
            "description": "Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response",
            "in": "query",
            "name": "fields",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of Devices",
            "schema": {
              "$ref": "#/definitions/DeviceListResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Device List",
        "tags": [
          "devices"
        ]
      }
    },
    "/devices/{serial}": {
      "get": {
        "description": "The device enpoint return information about a single device",
        "operationId": "getDeviceBySerial",
        "parameters": [
          {
            "description": "Device Serial",
            "in": "path",
            "name": "serial",
            "required": true,
            "type": "string"
          },
          {
            "description": "Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response",
            "in": "query",
            "name": "fields",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Device Information",
            "schema": {
              "$ref": "#/definitions/DeviceResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Device Information",
        "tags": [
          "devices"
        ]
      }
    },
    "/swagger.json": {},
    "/user": {
      "get": {
        "description": "The User Profile endpoint returns information about current authorized user",
        "operationId": "getUser",
        "responses": {
          "200": {
            "description": "Current User Profile information",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "User Profile",
        "tags": [
          "user"
        ]
      }
    },
    "/user/accessTokens": {
      "get": {
        "description": "The Access Tokens endpoints returns titles of all the valid access tokens",
        "operationId": "getUserAccessTokens",
        "responses": {
          "200": {
            "description": "Access Tokens titles",
            "schema": {
              "$ref": "#/definitions/AccessTokensResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Access Tokens",
        "tags": [
          "user"
        ]
      }
    },
    "/user/devices": {
      "get": {
        "description": "The User Devices endpoint returns device list owner by current authorized user",
        "operationId": "getUserDevices",
        "parameters": [
          {
            "description": "Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response",
            "in": "query",
            "name": "fields",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Current User Devices List",
            "schema": {
              "$ref": "#/definitions/DeviceListResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "User Devices",
        "tags": [
          "user"
        ]
      },
      "post": {
        "description": "The User Devices endpoint will request stf server for a new device.",
        "operationId": "addUserDevice",
        "parameters": [
          {
            "description": "Device to add",
            "in": "body",
            "name": "device",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AddUserDevicePayload"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Add User Device Status"
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Add a device to a user",
        "tags": [
          "user"
        ]
      }
    },
    "/user/devices/{serial}": {
      "delete": {
        "description": "The User Devices endpoint will request for device release from stf server. It will return request accepted if device is being used by current user",
        "operationId": "deleteUserDeviceBySerial",
        "parameters": [
          {
            "description": "Device Serial",
            "in": "path",
            "name": "serial",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete User Device Status"
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Delete User Device",
        "tags": [
          "user"
        ]
      },
      "get": {
        "description": "The devices enpoint return information about device owned by user",
        "operationId": "getUserDeviceBySerial",
        "parameters": [
          {
            "description": "Device Serial",
            "in": "path",
            "name": "serial",
            "required": true,
            "type": "string"
          },
          {
            "description": "Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response",
            "in": "query",
            "name": "fields",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Device Information owned by user",
            "schema": {
              "$ref": "#/definitions/DeviceResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "User Device",
        "tags": [
          "user"
        ]
      }
    },
    "/user/devices/{serial}/remoteConnect": {
      "delete": {
        "description": "The device connect endpoint will request stf server to disconnect remotely",
        "operationId": "remoteDisconnectUserDeviceBySerial",
        "parameters": [
          {
            "description": "Device Serial",
            "in": "path",
            "name": "serial",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Remote Disonnect User Device Request Status"
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Remote Disconnect",
        "tags": [
          "user"
        ]
      },
      "post": {
        "description": "The device connect endpoint will request stf server to connect remotely",
        "operationId": "remoteConnectUserDeviceBySerial",
        "parameters": [
          {
            "description": "Device Serial",
            "in": "path",
            "name": "serial",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Remote Connect User Device Request Status",
            "schema": {
              "$ref": "#/definitions/RemoteConnectUserDeviceResponse"
            }
          },
          "default": {
            "description": "Unexpected Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "security": [
          {
            "accessTokenAuth": []
          }
        ],
        "summary": "Remote Connect",
        "tags": [
          "user"
        ]
      }
    }
  },
  "definitions": {
    "AccessTokensResponse": {
      "properties": {
        "tokens": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "tokens"
      ]
    },
    "AddUserDevicePayload": {
      "description": "payload object for adding device to user",
      "properties": {
        "serial": {
          "description": "Device Serial",
          "type": "string"
        },
        "timeout": {
          "description": "Device timeout in ms. If device is kept idle for this period, it will be automatically disconnected. Default is provider group timeout",
          "type": "integer"
        }
      },
      "required": [
        "serial"
      ]
    },
    "DeviceListResponse": {
      "properties": {
        "devices": {
          "items": {
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "devices"
      ]
    },
    "DeviceResponse": {
      "properties": {
        "device": {
          "type": "object"
        }
      },
      "required": [
        "device"
      ]
    },
    "ErrorResponse": {
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ]
    },
    "RemoteConnectUserDeviceResponse": {
      "properties": {
        "remoteConnectUrl": {
          "type": "string"
        },
        "serial": {
          "type": "string"
        }
      },
      "required": [
        "remoteConnectUrl",
        "serial"
      ]
    },
    "UserResponse": {
      "properties": {
        "user": {
          "type": "object"
        }
      },
      "required": [
        "user"
      ]
    }
  }
}