JavaScript
import Mobilerun from '@mobilerun/sdk';
const client = new Mobilerun({
apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted
});
const webhook = await client.webhooks.create({ url: 'https://example.com/webhooks/droidrun' });
console.log(webhook.data);import os
from mobilerun_sdk import Mobilerun
client = Mobilerun(
api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"), # This is the default and can be omitted
)
webhook = client.webhooks.create(
url="https://example.com/webhooks/droidrun",
)
print(webhook.data)curl --request POST \
--url https://api.mobilerun.ai/v1/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks/droidrun",
"description": "<string>",
"eventTypes": [
"task.run.completed",
"task.run.failed"
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mobilerun.ai/v1/webhooks",
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([
'url' => 'https://example.com/webhooks/droidrun',
'description' => '<string>',
'eventTypes' => [
'task.run.completed',
'task.run.failed'
]
]),
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://api.mobilerun.ai/v1/webhooks"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\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://api.mobilerun.ai/v1/webhooks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobilerun.ai/v1/webhooks")
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 \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"blockedAt": "<string>",
"blockedReason": "<string>",
"createdAt": "<string>",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"eventTypes": [
"<string>"
],
"health": "healthy",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret": "<string>",
"signingEnabled": true,
"state": "ACTIVE",
"updatedAt": "<string>",
"url": "<string>"
}
}Webhooks
Register a webhook subscription
Creates a webhook subscription with a delivery URL and an optional list of event types to subscribe to (defaults to all when omitted). The response includes the generated signing secret, which is returned only once at creation time and cannot be retrieved later.
POST
/
webhooks
JavaScript
import Mobilerun from '@mobilerun/sdk';
const client = new Mobilerun({
apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted
});
const webhook = await client.webhooks.create({ url: 'https://example.com/webhooks/droidrun' });
console.log(webhook.data);import os
from mobilerun_sdk import Mobilerun
client = Mobilerun(
api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"), # This is the default and can be omitted
)
webhook = client.webhooks.create(
url="https://example.com/webhooks/droidrun",
)
print(webhook.data)curl --request POST \
--url https://api.mobilerun.ai/v1/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks/droidrun",
"description": "<string>",
"eventTypes": [
"task.run.completed",
"task.run.failed"
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mobilerun.ai/v1/webhooks",
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([
'url' => 'https://example.com/webhooks/droidrun',
'description' => '<string>',
'eventTypes' => [
'task.run.completed',
'task.run.failed'
]
]),
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://api.mobilerun.ai/v1/webhooks"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\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://api.mobilerun.ai/v1/webhooks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobilerun.ai/v1/webhooks")
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 \"url\": \"https://example.com/webhooks/droidrun\",\n \"description\": \"<string>\",\n \"eventTypes\": [\n \"task.run.completed\",\n \"task.run.failed\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"blockedAt": "<string>",
"blockedReason": "<string>",
"createdAt": "<string>",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"eventTypes": [
"<string>"
],
"health": "healthy",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret": "<string>",
"signingEnabled": true,
"state": "ACTIVE",
"updatedAt": "<string>",
"url": "<string>"
}
}Authorizations
Bearer token via Authorization header
Body
application/json
Response
Webhook created (secret shown once)
Show child attributes
Show child attributes
Was this page helpful?
⌘I