Validate BRK
curl --request POST \
--url https://api.example.com/validate_brx \
--header 'Content-Type: application/json' \
--data '
{
"brxId": "<string>"
}
'import requests
url = "https://api.example.com/validate_brx"
payload = { "brxId": "<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({brxId: '<string>'})
};
fetch('https://api.example.com/validate_brx', 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.example.com/validate_brx",
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([
'brxId' => '<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 := "https://api.example.com/validate_brx"
payload := strings.NewReader("{\n \"brxId\": \"<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("https://api.example.com/validate_brx")
.header("Content-Type", "application/json")
.body("{\n \"brxId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/validate_brx")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"brxId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"400": {},
"401": {},
"403": {},
"404": {},
"500": {},
"validateBrxResponse": {
"httpResponse": {
"isError": true,
"statusMsg": "<string>",
"isValid": true,
"validationResults": {
"schema": {
"isValid": true,
"errors": [
{}
]
},
"prompt": {
"isValid": true,
"errors": [
{}
]
},
"dependencies": {
"isValid": true,
"errors": [
{}
]
},
"configuration": {
"isValid": true,
"errors": [
{}
]
}
}
}
}
}BRK Execution
Validate BRK
Validates a BRK to ensure it is properly structured
POST
/
validate_brx
Validate BRK
curl --request POST \
--url https://api.example.com/validate_brx \
--header 'Content-Type: application/json' \
--data '
{
"brxId": "<string>"
}
'import requests
url = "https://api.example.com/validate_brx"
payload = { "brxId": "<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({brxId: '<string>'})
};
fetch('https://api.example.com/validate_brx', 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.example.com/validate_brx",
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([
'brxId' => '<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 := "https://api.example.com/validate_brx"
payload := strings.NewReader("{\n \"brxId\": \"<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("https://api.example.com/validate_brx")
.header("Content-Type", "application/json")
.body("{\n \"brxId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/validate_brx")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"brxId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"400": {},
"401": {},
"403": {},
"404": {},
"500": {},
"validateBrxResponse": {
"httpResponse": {
"isError": true,
"statusMsg": "<string>",
"isValid": true,
"validationResults": {
"schema": {
"isValid": true,
"errors": [
{}
]
},
"prompt": {
"isValid": true,
"errors": [
{}
]
},
"dependencies": {
"isValid": true,
"errors": [
{}
]
},
"configuration": {
"isValid": true,
"errors": [
{}
]
}
}
}
}
}This endpoint validates a BRK to ensure it is properly structured and can be executed. It checks the BRK’s schema, prompt templates, dependencies, and configuration parameters. It does not execute the BRK, but only verifies that it is valid. You must have at least editor permissions for the BRK to validate it.
Request
string
required
The ID of the BRK to validate
Example Request
{
"brxId": "brk-12345678-90ab-cdef-1234-567890abcdef"
}
Response
object
Show properties
Show properties
object
Show properties
Show properties
boolean
Indicates whether the request resulted in an error
string
A message describing the status of the request
boolean
Indicates whether the BRK is valid
object
Detailed validation results for each component of the BRK
Show properties
Show properties
object
object
object
Example Response (Valid BRK)
{
"validateBrxResponse": {
"httpResponse": {
"isError": false,
"statusMsg": "BRK validated successfully",
"isValid": true,
"validationResults": {
"schema": {
"isValid": true,
"errors": []
},
"prompt": {
"isValid": true,
"errors": []
},
"dependencies": {
"isValid": true,
"errors": []
},
"configuration": {
"isValid": true,
"errors": []
}
}
}
}
}
Example Response (Invalid BRK)
{
"validateBrxResponse": {
"httpResponse": {
"isError": false,
"statusMsg": "BRK validation failed",
"isValid": false,
"validationResults": {
"schema": {
"isValid": true,
"errors": []
},
"prompt": {
"isValid": false,
"errors": [
"Prompt template contains undefined variable: {{undefined_variable}}"
]
},
"dependencies": {
"isValid": false,
"errors": [
"Dependency 'main_brx_entry_schema' references a non-existent BRK: brk-abcdef12-3456-7890-abcd-ef1234567890"
]
},
"configuration": {
"isValid": true,
"errors": []
}
}
}
}
}
Error Codes
object
Bad Request - The request was malformed or missing required parameters
object
Unauthorized - Authentication credentials are missing or invalid
object
Forbidden - The authenticated user does not have permission to validate the requested BRK
object
Not Found - The requested BRK does not exist
object
Internal Server Error - An unexpected error occurred on the server
Notes
- This endpoint is useful for checking if a BRK is valid before attempting to execute it.
- The validation checks include:
- Schema validation: Ensures that the BRK’s schema is properly structured and all required fields are present.
- Prompt template validation: Ensures that all variables used in prompt templates are defined in the schema.
- Dependency validation: Ensures that all referenced BRKs exist and are accessible.
- Configuration validation: Ensures that all configuration parameters are valid.
- The response includes detailed validation results for each component of the BRK, including any errors that were found.
- A BRK is considered valid only if all components are valid (i.e.,
isValidistruefor all components).