Scan the draft and reconcile its findings
curl --request POST \
--url http://localhost:4200/checks/run \
--header 'Content-Type: application/json' \
--data '
{
"session": "<string>",
"siteId": "<string>",
"slugs": [
"<string>"
],
"trigger": "<string>"
}
'import requests
url = "http://localhost:4200/checks/run"
payload = {
"session": "<string>",
"siteId": "<string>",
"slugs": ["<string>"],
"trigger": "<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({
session: '<string>',
siteId: '<string>',
slugs: ['<string>'],
trigger: '<string>'
})
};
fetch('http://localhost:4200/checks/run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4200",
CURLOPT_URL => "http://localhost:4200/checks/run",
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([
'session' => '<string>',
'siteId' => '<string>',
'slugs' => [
'<string>'
],
'trigger' => '<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 := "http://localhost:4200/checks/run"
payload := strings.NewReader("{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<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("http://localhost:4200/checks/run")
.header("Content-Type", "application/json")
.body("{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/checks/run")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyChecks
Scan the draft and reconcile its findings
Site-health rules read the pages and report metadata, structure, link and image problems. A run also reconciles existing findings: one that the rules no longer see becomes fixed. Runs automatically in the background after a successful publish.
POST
/
checks
/
run
Scan the draft and reconcile its findings
curl --request POST \
--url http://localhost:4200/checks/run \
--header 'Content-Type: application/json' \
--data '
{
"session": "<string>",
"siteId": "<string>",
"slugs": [
"<string>"
],
"trigger": "<string>"
}
'import requests
url = "http://localhost:4200/checks/run"
payload = {
"session": "<string>",
"siteId": "<string>",
"slugs": ["<string>"],
"trigger": "<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({
session: '<string>',
siteId: '<string>',
slugs: ['<string>'],
trigger: '<string>'
})
};
fetch('http://localhost:4200/checks/run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4200",
CURLOPT_URL => "http://localhost:4200/checks/run",
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([
'session' => '<string>',
'siteId' => '<string>',
'slugs' => [
'<string>'
],
'trigger' => '<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 := "http://localhost:4200/checks/run"
payload := strings.NewReader("{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<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("http://localhost:4200/checks/run")
.header("Content-Type", "application/json")
.body("{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/checks/run")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"session\": \"<string>\",\n \"siteId\": \"<string>\",\n \"slugs\": [\n \"<string>\"\n ],\n \"trigger\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyBody
application/json
Editor session key. Scoped with siteId into the key the state store uses.
Site this session belongs to, when the orchestrator hosts more than one.
Restrict the scan to these pages. Cross-page rules still see the whole site.
What caused the run. Defaults to manual.
Response
{ run, findings, durable }. durable reports whether findings survive a restart or are in the in-memory fallback.