curl --request PATCH \
--url https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>",
"positions": [
{
"guidance": "Require a mutual liability cap at 12 months of fees."
}
]
}
'import requests
url = "https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}"
payload = {
"title": "<string>",
"description": "<string>",
"positions": [{ "guidance": "Require a mutual liability cap at 12 months of fees." }]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
positions: [{guidance: 'Require a mutual liability cap at 12 months of fees.'}]
})
};
fetch('https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}', 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://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'description' => '<string>',
'positions' => [
[
'guidance' => 'Require a mutual liability cap at 12 months of fees.'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.patch("https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"positions": [
{
"guidance": "<string>"
}
],
"created_at": "<string>",
"updated_at": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}Update a Check
Update a check’s title, description, importance, or positions. At least one field is required. When positions is supplied it replaces the check’s positions entirely.
Requires a user-scoped key with write access to the playbook. Org-scoped keys cannot update checks.
curl --request PATCH \
--url https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>",
"positions": [
{
"guidance": "Require a mutual liability cap at 12 months of fees."
}
]
}
'import requests
url = "https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}"
payload = {
"title": "<string>",
"description": "<string>",
"positions": [{ "guidance": "Require a mutual liability cap at 12 months of fees." }]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
positions: [{guidance: 'Require a mutual liability cap at 12 months of fees.'}]
})
};
fetch('https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}', 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://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'description' => '<string>',
'positions' => [
[
'guidance' => 'Require a mutual liability cap at 12 months of fees.'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.patch("https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.gc.ai/api/external/v1/playbooks/{id}/checks/{checkId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"positions\": [\n {\n \"guidance\": \"Require a mutual liability cap at 12 months of fees.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"positions": [
{
"guidance": "<string>"
}
],
"created_at": "<string>",
"updated_at": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"message": "<string>",
"details": {}
}Authorizations
API key for authentication. Format: gcai_xxxxxxxxx
Create API keys in the GC AI app under Settings → API.
Path Parameters
Playbook ID from GET /playbooks.
Check ID from GET /playbooks/{id}/checks.
Body
New title (non-empty).
1New description, or null to clear.
New priority, or null to clear.
low, medium, high, null Replacement set of positions (full desired state). Omit to leave positions unchanged.
1Show child attributes
Show child attributes
Response
Updated check
Unique check identifier
Check title
Optional internal description, or null if unset
Priority of this check within the playbook, or null if unset
low, medium, high, null The check's positions: one standard stance plus any fallbacks.
Show child attributes
Show child attributes
ISO 8601 creation timestamp
ISO 8601 last-update timestamp
Was this page helpful?