{"swagger":"2.0","info":{"title":"Crossbrowsertesting.com Live Tests API","description":"What's in this version: \n\n 1. API v3 is a RESTful web service \n 2. Retrieve lists of browsers available for Live Tests \n 3. Start and stop Live Tests \n 4. Take Snapshots, Record Videos, and Record Network Packet Captures of a Live Test \n 5. Retrieve a list of Live Tests ran and their results \n 6. All responses are JSON only at this time\n\n<a href='https://github.com/crossbrowsertesting/API-Sample-Scripts/tree/master/v3/livetests' target='_blank'>Sample Scripts on GitHub</a>","version":"3.0.0"},"host":"crossbrowsertesting.com","schemes":["https"],"securityDefinitions":{"basicAuth":{"type":"basic","description":"HTTP Basic Authentication"}},"basePath":"/api/v3","produces":["application/json"],"paths":{"/livetests/browsers":{"get":{"summary":"List Live Test Browsers","description":"Access a list of available browsers for Live Tests.","parameters":[{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"default":"json","type":"string"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"An array of Configuration objects. Within each configuration is an array of browsers","schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"api_name":{"type":"string"},"device":{"type":"string"},"version":{"type":"string"},"type":{"type":"string"},"icon_class":{"type":"string"},"sort_order":{"type":"number"},"browsers":{"type":"array","items":{"properties":{"default_config":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"},"api_name":{"type":"string"},"default_live_test_browser":{"type":"boolean"},"icon_class":{"type":"string"},"major_browser":{"type":"boolean"},"device":{"type":"string"}}}},"other_software":{"type":"array","items":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"},"icon_class":{"type":"string"}}}},"resolutions":{"type":"array","items":{"properties":{"width":{"type":"integer"},"height":{"type":"integer"},"name":{"type":"string"},"desktop_width":{"type":"integer"},"desktop_height":{"type":"integer"},"default":{"type":"boolean"}}}}}}}}}}},"/livetests":{"post":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Run Live Test","description":"Start a new Live Test for a given URL, browser, operating system, and resolution. The session can then be accessed via the web or interacted with via additional API methods.","parameters":[{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"url","in":"formData","description":"The URL for the page you want to launch in the browser. Should include \"http://\" or relevant scheme name, but defaults to \"http://\" if not provided.","required":true,"type":"string"},{"name":"browser","in":"formData","description":"Array of browser api names. The \"api_name\" for a browser can be found in the returned results of the List  Screenshot Browsers api method. There are three specifications for any browser you want to test the operating system, the browser, and the resolution. In general, the format takes the following syntax: \n\n **[OS api_name]|[Browser api_name]|[OS resolution]** \n\n At a minimum the browser's api_name must be specified.\n\n Optionally, the OS api_name, and the OS resolution name can be specified.","required":true,"type":"string"},{"name":"api_timeout","in":"formData","description":"Maximum length of time in seconds to run test before it is automatically ended.","required":false,"type":"number","default":300,"format":"integer 0-600"},{"name":"record_video","in":"formData","description":"Record a video of the complete Live Test session. Note that you cannot call Record Video API method if the Live Test is launched with this flag set to \"true\" as only one video can be recording per Live Test.","required":false,"type":"string","default":"false"},{"name":"record_network","in":"formData","description":"Record network packets for the duration of the Live Test session. Note that you cannot call Record Network Packets API method if the Live Test is launched with this flag set to \"true\" as only one netowrk capture can be recording per Live Test.","required":false,"type":"string","default":"false"}],"responses":{"200":{"description":"the Live Test's information","schema":{"$ref":"#/definitions/live_test"}}}},"get":{"security":[{"basicAuth":[]}],"summary":"List Live Test History","description":"Returns a list of Live Tests ran on your account. Results returned are in order of most recent to oldest tests ran. As there can be hundreds of tests, the results are limited by specifying a starting index and count of tests to return indicated in the parameters provided. A record count is included in the \"meta\" attribute to determine the total number of tests ran.","parameters":[{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"num","in":"query","description":"The number of Live Tests to return for this request.","required":false,"type":"number","format":"integer","default":10},{"name":"start","in":"query","description":"Starting index for the Live Test results to retrieve","required":false,"type":"number","format":"integer","default":0},{"name":"active","in":"query","description":"Include only active or inactive tests.","required":false,"type":"boolean"},{"name":"url","in":"query","description":"Filter to only tests with URLs that match this parameter. Can be full URL or partial. Example: google.com will match any tests whose URL has google.com within it.","required":false,"type":"string"},{"name":"os","in":"query","description":"The name and version of the operating system: Windows 8, Mac OSX 10.9, iPad 4 / 7.1 Simulator","required":false,"type":"string"},{"name":"os_type","in":"query","description":"The operating system type to filter results which includes all versions: Windows, Mac, iPad, Android","required":false,"type":"string"},{"name":"browser","in":"query","description":"The browser name and version to filter results: Firefox 32, Chrome Mobile 36, Internet Explorer 9","required":false,"type":"string"},{"name":"browser_type","in":"query","description":"The browser type to filter results which includes all versions: Firefox, Chrome Mobile, Internet Explorer","required":false,"type":"string"},{"name":"resolution","in":"query","description":"The resolution name to filter results to: 1024x769, 1400x1050","required":false,"type":"string"},{"name":"start_date","in":"query","description":"The starting date to filter results. Format: YYYY-MM-DD (2014-09-01)","required":false,"type":"string","format":"date"},{"name":"end_date","in":"query","description":"The ending date to filter results. Format: YYYY-MM-DD (2014-09-03)","required":false,"type":"string","format":"date"}],"responses":{"200":{"description":"An object containing the metadata of overall live tests and an array of the user's Live Test history","schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"record_count":{"type":"integer"}}},"livetests":{"type":"array","items":{"$ref":"#/definitions/live_test"}}}}}}}},"/livetests/{live_test_id}":{"get":{"security":[{"basicAuth":[]}],"summary":"Show Live Test Info","description":"Returns information about an active or finished Live Test session. It includes the current state, links to results, and result details for Snapshots, Videos, and Network Packet Captures.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Live Test Information","schema":{"$ref":"#/definitions/live_test"}}}},"delete":{"consumes":["application/x-www-form-urlencoded"],"summary":"Stop Live Test","description":"Stop an active Live Test session.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Live Test Information","schema":{"$ref":"#/definitions/live_test"}}}},"put":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Set Live Test Description","description":"Set notes for this Live Test.  Use hashtags (#) to tag the test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"action","in":"formData","description":"Action must equal 'set_description'","type":"string","required":true,"default":"set_description"},{"name":"description","in":"formData","description":"The notes for the description of the Live Test. Pass an empty string to clear out any notes.","type":"string","required":true}],"responses":{"200":{"description":"the Live Test Information","schema":{"$ref":"#/definitions/live_test"}}}}},"/livetests/{live_test_id}/snapshots":{"post":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Take Snapshot","description":"Take a Snapshot of an active Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Snapshot information","schema":{"type":"array","items":{"$ref":"#/definitions/snapshot"}}}}},"get":{"security":[{"basicAuth":[]}],"summary":"List Snapshots","description":"Returns a list of Snapshots taken for a specific Live Test. Each result provides links to view and share the results on the CBT website as well as access to the raw images.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Snapshot information","schema":{"$ref":"#/definitions/snapshot"}}}}},"/livetests/{live_test_id}/snapshots/{snapshot_hash}":{"get":{"security":[{"basicAuth":[]}],"summary":"Show Snapshot Info","description":"Returns information about a specific Snapshot taken for a Live Test. The result provides links to view and share the Snapshot on the CBT website as well as access to the raw images.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"snapshot_hash","in":"path","description":"Hash of the Snapshot","required":true,"type":"string"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"description","in":"query","description":"The notes for the description of the Snapshot.","type":"string","required":true}],"responses":{"200":{"description":"the Snapshot's information","schema":{"$ref":"#/definitions/snapshot"}}}},"put":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Set Snapshot Description","description":"Add notes to a Snapshot from a Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"snapshot_hash","in":"path","description":"Hash of the Snapshot","required":true,"type":"string"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"description","in":"formData","description":"The notes for the description of the Snapshot.","type":"string","required":true}],"responses":{"200":{"description":"the Snapshot's information","schema":{"$ref":"#/definitions/snapshot"}}}}},"/livetests/{live_test_id}/videos":{"post":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Record Video","description":"Start recording a Video of an active Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Video's information","schema":{"$ref":"#/definitions/video"}}}},"get":{"security":[{"basicAuth":[]}],"summary":"List Videos","description":"Returns a list of Videos taken for a specific Live Test. Each result provides links to view and share the results on the CBT website as well as access to the FLV file and initial image stored to represent the video.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"An array of Videos","schema":{"type":"array","items":{"$ref":"#/definitions/video"}}}}}},"/livetests/{live_test_id}/videos/{video_hash}":{"get":{"security":[{"basicAuth":[]}],"summary":"Show Video Info","description":"Returns information about a specific Video taken for a Live Test. The result provides links to view and share the results on the CBT website as well as access to the FLV file and initial image stored to represent the video.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"video_hash","in":"path","description":"Hash of the Video","required":true,"type":"string"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Video's information","schema":{"$ref":"#/definitions/video"}}}},"put":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Set Video Description","description":"Add notes to a Video from a Live Test","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"video_hash","in":"path","description":"Hash of the Video","required":true,"type":"string"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"description","in":"formData","description":"The notes for the description of the Video","required":true,"type":"string"}],"responses":{"200":{"description":"the Video's information","schema":{"$ref":"#/definitions/video"}}}},"delete":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Stop Video","description":"Stop recording an active Video","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"video_hash","in":"path","description":"Hash of the Video","required":true,"type":"string"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Video's information","schema":{"$ref":"#/definitions/video"}}}}},"/livetests/{live_test_id}/networks":{"post":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Record Network Packets","description":"Start recording a Network Packet Capture for an active Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Network Packet Capture's information","schema":{"type":"array","items":{"$ref":"#/definitions/network"}}}}},"get":{"security":[{"basicAuth":[]}],"summary":"List Network Packet Captures","description":"Returns a list of Network Packet Captures recorded for a specific Live Test. Each result provides links to view and share the results on the CBT website as well as access to the PCAP and HAR file.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"An array of Network Packet Captures","schema":{"type":"array","items":{"$ref":"#/definitions/network"}}}}}},"/livetests/{live_test_id}/networks/{network_hash}":{"get":{"security":[{"basicAuth":[]}],"summary":"Show Network Packet Capture Info","description":"Returns information about a specific Network Packet Capture recorded for a Live Test. The result provides links to view and share the results on the CBT website as well as access to the PCAP and HAR file.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"network_hash","in":"path","description":"Hash of the Network Capture","required":true,"type":"string"},{"name":"format","in":"query","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"json"},{"name":"callback","in":"query","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Network Packet Capture's information","schema":{"$ref":"#/definitions/network"}}}},"put":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Set Network Packet Capture Description","description":"Add notes to a Network Packet Capture from a Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"network_hash","in":"path","description":"Hash of the Network Capture","required":true,"type":"string"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"},{"name":"description","in":"formData","description":"The notes for the description of the Network Packet Capture","required":true,"type":"string"}],"responses":{"200":{"description":"the Network Packet Capture's information","schema":{"type":"array","items":{"$ref":"#/definitions/network"}}}}},"delete":{"consumes":["application/x-www-form-urlencoded"],"security":[{"basicAuth":[]}],"summary":"Stop Network Packet Capture","description":"Stop recording a Network Packet Capture for an active Live Test.","parameters":[{"name":"live_test_id","in":"path","description":"Live Test session id","required":true,"type":"number","format":"integer"},{"name":"network_hash","in":"path","description":"Hash of the Network Capture","required":true,"type":"string"},{"name":"format","in":"formData","description":"The format of the returned data. Possible values are \"json\" or \"jsonp\".","required":false,"type":"string","default":"false"},{"name":"callback","in":"formData","description":"Name of callback method for JSONP requests.","required":false,"type":"string"}],"responses":{"200":{"description":"the Network Packet Capture's information","schema":{"$ref":"#/definitions/network"}}}}}},"definitions":{"live_test":{"type":"object","properties":{"live_test_id":{"type":"integer"},"start_date":{"type":"string"},"finish_date":{"type":"string"},"active":{"type":"boolean"},"state":{"type":"string"},"vnc_password":{"type":"string"},"vnc_port":{"type":"integer"},"rating":{"type":"integer"},"feedback":{"type":"string"},"startup_finish_date":{"type":"string"},"url":{"type":"string"},"client_platform":{"type":"string"},"client_browser":{"type":"string"},"use_copyrect":{"type":"boolean"},"scale":{"type":"string"},"is_packet_capturing":{"type":"integer"},"show_result_web_url":{"type":"string"},"download_results_zip_url":{"type":"string"},"launch_live_test_url":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"}},"resolution":{"$ref":"#/definitions/resolution"},"os":{"$ref":"#/definitions/os"},"browser":{"$ref":"#/definitions/browser"},"videos":{"type":"array","items":{"$ref":"#/definitions/video"}},"snapshots":{"type":"array","items":{"$ref":"#/definitions/snapshot"}},"networks":{"type":"array","items":{"$ref":"#/definitions/network"}}}},"resolution":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"},"desktop_height":{"type":"integer"},"desktop_width":{"type":"integer"},"name":{"type":"string"}}},"os":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"},"api_name":{"type":"string"},"device":{"type":"string"},"icon_class":{"type":"string"}}},"browser":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"},"api_name":{"type":"string"},"icon_class":{"type":"string"}}},"video":{"type":"object","properties":{"hash":{"type":"string"},"date_added":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"}},"is_finished":{"type":"boolean"},"show_result_web_url":{"type":"string"},"show_result_public_url":{"type":"string"},"video":{"type":"string"},"image":{"type":"string"},"thumbnail_image":{"type":"string"}}},"snapshot":{"type":"object","properties":{"hash":{"type":"string"},"date_added":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"}},"show_result_web_url":{"type":"string"},"show_result_public_url":{"type":"string"},"image":{"type":"string"},"thumbnail_image":{"type":"string"}}},"network":{"type":"object","properties":{"hash":{"type":"string"},"date_added":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"}},"is_finished":{"type":"boolean"},"show_result_web_url":{"type":"string"},"show_result_public_url":{"type":"string"},"pcap":{"type":"string"},"har":{"type":"string"}}},"tag":{"type":"string"}}}