Set the autocapture override
Set the location's autocapture override. Requires an agency key (ak_) and ?location_id=; viewer keys get 403 agency_required.
Accepted values for autocapture:
false— turn autocapture off for this location. This is the only server-side kill switch; it overrides whatever the site's owninit()snippet asks for.true— on with SDK defaults (linksandforms). -{ "elements": [...] }— on, capturing only those element types. Valid values:links,forms,buttons,inputs,selects,textareas,changes. An empty array is rejected — sendfalseto disable instead. Unknown names are rejected rather than ignored, so a typo cannot silently stop capture.null— clear the override and fall back to the SDK default (on, links + forms).
Note that buttons is not in the default set, so <button> clicks are not captured unless you ask for them. Sites whose calls to action are <a> elements styled as buttons are covered by links.
The override is served to the SDK via the remote config endpoint and wins over the site's init() configuration. Browsers pick the change up on their next remote-config fetch; already-open pages keep their current behaviour until they reload.
Two cases where the override does not apply: a site that sets disable_remote_config: true never fetches remote config, and HIPAA-mode locations always have autocapture off regardless of what is stored here.
curl -X PUT "https://mythic-analytics.gulp.workers.dev/client/v1/settings/autocapture" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
}'
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/settings/autocapture"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
}
response = requests.put(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/settings/autocapture", {
method: "PUT",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
}`)
req, err := http.NewRequest("PUT", "https://mythic-analytics.gulp.workers.dev/client/v1/settings/autocapture", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/settings/autocapture')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"autocapture": {
"elements": [
"links",
"forms",
"buttons"
]
}
}
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Forbidden",
"message": "You don't have permission to access this resource",
"code": 403
}
/autocapture
Target server for requests. Edit to use your own host.
Builder/client key as a bearer token. Agency key for read-write (Bearer ak_...) or viewer key for read-only (Bearer sk_...). Scoped keys (mcp_) are accepted too and need settings:read or settings:write. See Using an mcp_ key over HTTP.
Bearer ak_...) or viewer key for read-only (Bearer sk_...). Scoped keys (mcp_) are accepted too and need settings:read or settings:write. See Using an mcp_ key over HTTP.The media type of the request body
false to disable, true for SDK defaults, an object to choose element types, or null to clear the override.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Builder/client key as a bearer token. Agency key for read-write (Bearer ak_...) or viewer key for read-only (Bearer sk_...). Scoped keys (mcp_) are accepted too and need settings:read or settings:write. See Using an mcp_ key over HTTP.
Body
false to disable, true for SDK defaults, an object to choose element types, or null to clear the override.
{"elements":["links","forms","buttons"]}