curl --request POST \
--url http://127.0.0.1/v1/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"digest": "<string>",
"format_version": 1,
"root": "<string>",
"units": [
{
"bytes_hex": "<string>",
"digest": "<string>",
"kind": 1,
"path": "<string>"
}
]
}
'import requests
url = "http://127.0.0.1/v1/check"
payload = {
"digest": "<string>",
"format_version": 1,
"root": "<string>",
"units": [
{
"bytes_hex": "<string>",
"digest": "<string>",
"kind": 1,
"path": "<string>"
}
]
}
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({
digest: '<string>',
format_version: 1,
root: '<string>',
units: [{bytes_hex: '<string>', digest: '<string>', kind: 1, path: '<string>'}]
})
};
fetch('http://127.0.0.1/v1/check', 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 => "http://127.0.0.1/v1/check",
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([
'digest' => '<string>',
'format_version' => 1,
'root' => '<string>',
'units' => [
[
'bytes_hex' => '<string>',
'digest' => '<string>',
'kind' => 1,
'path' => '<string>'
]
]
]),
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 := "http://127.0.0.1/v1/check"
payload := strings.NewReader("{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\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("http://127.0.0.1/v1/check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://127.0.0.1/v1/check")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"root": "<string>",
"snapshot_digest": "<string>",
"status": "accepted",
"units": 2
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Judge immutable snapshot bytes without creating a job
Runs the same decode and ExecutionService readmission as POST /v1/jobs over the exact request body.
curl --request POST \
--url http://127.0.0.1/v1/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"digest": "<string>",
"format_version": 1,
"root": "<string>",
"units": [
{
"bytes_hex": "<string>",
"digest": "<string>",
"kind": 1,
"path": "<string>"
}
]
}
'import requests
url = "http://127.0.0.1/v1/check"
payload = {
"digest": "<string>",
"format_version": 1,
"root": "<string>",
"units": [
{
"bytes_hex": "<string>",
"digest": "<string>",
"kind": 1,
"path": "<string>"
}
]
}
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({
digest: '<string>',
format_version: 1,
root: '<string>',
units: [{bytes_hex: '<string>', digest: '<string>', kind: 1, path: '<string>'}]
})
};
fetch('http://127.0.0.1/v1/check', 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 => "http://127.0.0.1/v1/check",
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([
'digest' => '<string>',
'format_version' => 1,
'root' => '<string>',
'units' => [
[
'bytes_hex' => '<string>',
'digest' => '<string>',
'kind' => 1,
'path' => '<string>'
]
]
]),
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 := "http://127.0.0.1/v1/check"
payload := strings.NewReader("{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\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("http://127.0.0.1/v1/check")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://127.0.0.1/v1/check")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"digest\": \"<string>\",\n \"format_version\": 1,\n \"root\": \"<string>\",\n \"units\": [\n {\n \"bytes_hex\": \"<string>\",\n \"digest\": \"<string>\",\n \"kind\": 1,\n \"path\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"root": "<string>",
"snapshot_digest": "<string>",
"status": "accepted",
"units": 2
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Exactly one Authorization: Bearer value from the token file
Body
Immutable byte-owned execution world. Unit bytes are canonical lowercase hexadecimal and digests are canonical lowercase SHA-256. The decoded unit aggregate is limited to 16 MiB and the complete encoded request to 33 MiB. This object is the request body itself, not a path-bearing wrapper.
Response
Compact snapshot validation acknowledgement, not the full engine check report
Compact remote acknowledgement that the exact snapshot was revalidated. This is not the engine's public full check report; SDK callers retain the engine-owned report captured with the snapshot and return it only after this acknowledgement succeeds.
Was this page helpful?