Get Capture Focus
curl --request POST \
--url https://api.velt.dev/v2/agents/checks/capture-focus/get \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/agents/checks/capture-focus/get"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {organizationId: '<string>', documentId: '<string>', annotationId: '<string>'}
})
};
fetch('https://api.velt.dev/v2/agents/checks/capture-focus/get', 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.velt.dev/v2/agents/checks/capture-focus/get",
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([
'data' => [
'organizationId' => '<string>',
'documentId' => '<string>',
'annotationId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$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.velt.dev/v2/agents/checks/capture-focus/get"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/agents/checks/capture-focus/get")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/agents/checks/capture-focus/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Capture focus retrieved",
"data": {
"versionId": "ver_20261026a",
"urlHash": "c82f1b5e",
"device": "mobile",
"rect": null,
"pages": ["https://www.example.com/pricing"],
"comment": {
"annotationId": "P2nW8tY4kQ6mZcV3hJxL",
"ruleKey": "image-broken",
"scope": "page",
"statusKind": "open"
}
}
}
}
Checks
Get Capture Focus
POST
/
v2
/
agents
/
checks
/
capture-focus
/
get
Get Capture Focus
curl --request POST \
--url https://api.velt.dev/v2/agents/checks/capture-focus/get \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/agents/checks/capture-focus/get"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {organizationId: '<string>', documentId: '<string>', annotationId: '<string>'}
})
};
fetch('https://api.velt.dev/v2/agents/checks/capture-focus/get', 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.velt.dev/v2/agents/checks/capture-focus/get",
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([
'data' => [
'organizationId' => '<string>',
'documentId' => '<string>',
'annotationId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$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.velt.dev/v2/agents/checks/capture-focus/get"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/agents/checks/capture-focus/get")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/agents/checks/capture-focus/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Capture focus retrieved",
"data": {
"versionId": "ver_20261026a",
"urlHash": "c82f1b5e",
"device": "mobile",
"rect": null,
"pages": ["https://www.example.com/pricing"],
"comment": {
"annotationId": "P2nW8tY4kQ6mZcV3hJxL",
"ruleKey": "image-broken",
"scope": "page",
"statusKind": "open"
}
}
}
}
Use this API to find where a check’s comment sits on its captured screenshot: the site version, the page, the device, the element’s box, the pages to walk through, and the comment’s row with its thumbnail. Use it to open a screenshot zoomed on the problem.
The comment must carry a check: an agent comment the engine keyed, or a person’s comment attached to a check. See Checks Overview.
The schema uses
The
Errors:
Endpoint
POST https://api.velt.dev/v2/agents/checks/capture-focus/get
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
.strict(): unknown fields are rejected.
Example Requests
{
"data": {
"organizationId": "org_acme",
"documentId": "acme-marketing-site",
"annotationId": "K7mQ2xR9vB4wLdT1sYpN"
}
}
Response
Success Response
{
"result": {
"status": "success",
"message": "Capture focus retrieved",
"data": {
"versionId": null,
"urlHash": "a41c9e07",
"device": "desktop",
"rect": {
"x": 812,
"y": 4120,
"width": 96,
"height": 20,
"viewportWidth": 1440
},
"pages": [
"https://www.example.com/",
"https://www.example.com/pricing",
"https://www.example.com/about"
],
"comment": {
"annotationId": "K7mQ2xR9vB4wLdT1sYpN",
"ruleKey": "link-broken",
"pageUrl": "https://www.example.com/",
"pagePath": "/",
"scope": "site",
"pageCount": 14,
"locationType": "element",
"evidenceLabel": "footer a[href=\"/careers\"]",
"statusKind": "open",
"pendingVerify": false,
"thumbnailUrl": "https://storage.example.com/thumbs/a41c9e07.png",
"isAgent": true
}
}
}
}
comment above is shortened. It has every field of a List Check Comments row.
| Field | Type | Description |
|---|---|---|
data.versionId | string | null | The site version of a page comment. null for a site comment, or when unknown. |
data.urlHash | string | null | Hash of the comment’s page. |
data.device | string | "desktop" or "mobile". |
data.rect | object | null | The element’s box on the full-page capture, in CSS pixels: x, y, width, height and the capture’s viewportWidth. null when no box was measured, for example for a source or none comment. |
data.pages | string[] | The comment’s pages. One entry for a page comment. |
data.comment | object | The comment’s row, with its thumbnail. |
Failure Response
{
"error": {
"message": "This comment was not written by a check",
"status": "FAILED_PRECONDITION",
"details": {
"reason": "CHECKS_NOT_A_CHECK_COMMENT"
}
}
}
INVALID_ARGUMENT (a body outside the schema: a missing or malformed annotationId, or an unknown field) / NOT_FOUND with CHECKS_COMMENT_NOT_FOUND (no such comment in the project) or CHECKS_WORKSPACE_NOT_FOUND (the workspace has no store database) / FAILED_PRECONDITION with CHECKS_NOT_A_CHECK_COMMENT (the comment carries no check).
{
"result": {
"status": "success",
"message": "Capture focus retrieved",
"data": {
"versionId": "ver_20261026a",
"urlHash": "c82f1b5e",
"device": "mobile",
"rect": null,
"pages": ["https://www.example.com/pricing"],
"comment": {
"annotationId": "P2nW8tY4kQ6mZcV3hJxL",
"ruleKey": "image-broken",
"scope": "page",
"statusKind": "open"
}
}
}
}
Was this page helpful?

