Hold Key
curl --request POST \
--url https://api.example.com/browsers/{id}/hold-key/ \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>"
}
'import requests
url = "https://api.example.com/browsers/{id}/hold-key/"
payload = { "key": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({key: '<string>'})
};
fetch('https://api.example.com/browsers/{id}/hold-key/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/browsers/{id}/hold-key/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/browsers/{id}/hold-key/"
payload := strings.NewReader("{\n \"key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/browsers/{id}/hold-key/")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/browsers/{id}/hold-key/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Key held successfully"
}
Commands
Hold Key
Hold a key down for a duration
POST
/
browsers
/
{id}
/
hold-key
/
Hold Key
curl --request POST \
--url https://api.example.com/browsers/{id}/hold-key/ \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>"
}
'import requests
url = "https://api.example.com/browsers/{id}/hold-key/"
payload = { "key": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({key: '<string>'})
};
fetch('https://api.example.com/browsers/{id}/hold-key/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/browsers/{id}/hold-key/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/browsers/{id}/hold-key/"
payload := strings.NewReader("{\n \"key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/browsers/{id}/hold-key/")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/browsers/{id}/hold-key/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Key held successfully"
}
Description
Holds a key down for a specified duration in milliseconds. Useful for long-press interactions or triggering hold-based browser shortcuts.Authentication
Open-source deployments do not require authentication by default. If your server config enablesX-API-Key, include that header with the request.
Path Parameters
The browser ID returned from Create Session.
Request Body
The key to hold. Append the duration in milliseconds directly to the key name, e.g.
Backspace3000 holds Backspace for 3 seconds.Response
Whether the key was held successfully.
Confirmation message.
Example
curl -X POST http://localhost:8080/browsers/exc-b9534e98-c3ce-4d1b-9671-b563ac66adc3/hold-key/ \
-H "Content-Type: application/json" \
-d '{ "key": "Backspace3000" }'
{
"success": true,
"message": "Key held successfully"
}
⌘I

