Computer Actions
Type text
Type a string on the computer keyboard, one character at a time.
POST
/
computers
/
{id}
/
type
Type text
curl --request POST \
--url https://www.orgo.ai/api/computers/{id}/type \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Hello, world!"
}
'import requests
url = "https://www.orgo.ai/api/computers/{id}/type"
payload = { "text": "Hello, world!" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: 'Hello, world!'})
};
fetch('https://www.orgo.ai/api/computers/{id}/type', 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://www.orgo.ai/api/computers/{id}/type",
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([
'text' => 'Hello, world!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://www.orgo.ai/api/computers/{id}/type"
payload := strings.NewReader("{\n \"text\": \"Hello, world!\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://www.orgo.ai/api/computers/{id}/type")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"Hello, world!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}/type")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"Hello, world!\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}Types text on the computer keyboard. Each character is sent as an individual keystroke, so unicode characters and printable symbols are supported.
Path parameters
string
required
Computer ID (UUID).
Body parameters
string
required
Text to type. Supports unicode characters.
integer
default:"12"
Delay between keystrokes in milliseconds. Lower values type faster; higher values can help with flaky inputs.
Response
boolean
true if text was typed.string
Always
type.Example
curl -X POST https://www.orgo.ai/api/computers/a3bb189e-8bf9-3888-9912-ace4e6543002/type \
-H "Authorization: Bearer $ORGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Hello, world!"}'
import requests
requests.post(
f"https://www.orgo.ai/api/computers/{computer_id}/type",
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
json={"text": "Hello, world!"}
)
await fetch(`https://www.orgo.ai/api/computers/${computerId}/type`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ text: 'Hello, world!' })
});
Response
{
"success": true,
"action": "type",
"details": { "text_length": 13 }
}
Use Press key for special keys like Enter, Tab, or keyboard shortcuts.
Errors
| Status | Meaning |
|---|---|
400 | Missing text, or computer instance not available. |
401 | Missing or invalid API key. |
403 | You do not have access to this computer. |
404 | Computer not found. |
500 | Upstream desktop agent failure. |
⌘I
Type text
curl --request POST \
--url https://www.orgo.ai/api/computers/{id}/type \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Hello, world!"
}
'import requests
url = "https://www.orgo.ai/api/computers/{id}/type"
payload = { "text": "Hello, world!" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: 'Hello, world!'})
};
fetch('https://www.orgo.ai/api/computers/{id}/type', 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://www.orgo.ai/api/computers/{id}/type",
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([
'text' => 'Hello, world!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://www.orgo.ai/api/computers/{id}/type"
payload := strings.NewReader("{\n \"text\": \"Hello, world!\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://www.orgo.ai/api/computers/{id}/type")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"Hello, world!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}/type")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"Hello, world!\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "Invalid API key"
}{
"error": "Resource not found"
}