curl --request PATCH \
--url https://api.braintrust.dev/v1/project_automation/{project_automation_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
}
}
'import requests
url = "https://api.braintrust.dev/v1/project_automation/{project_automation_id}"
payload = {
"name": "<string>",
"description": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
config: {
event_type: 'logs',
btql_filter: '<string>',
interval_seconds: 1296000.5,
action: {type: 'webhook', url: '<string>'}
}
})
};
fetch('https://api.braintrust.dev/v1/project_automation/{project_automation_id}', 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.braintrust.dev/v1/project_automation/{project_automation_id}",
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([
'name' => '<string>',
'description' => '<string>',
'config' => [
'event_type' => 'logs',
'btql_filter' => '<string>',
'interval_seconds' => 1296000.5,
'action' => [
'type' => 'webhook',
'url' => '<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 := "https://api.braintrust.dev/v1/project_automation/{project_automation_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.braintrust.dev/v1/project_automation/{project_automation_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.braintrust.dev/v1/project_automation/{project_automation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>"
}"<string>""<string>""<string>""<string>""<string>"Partially update project_automation
Partially update a project_automation object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null.
curl --request PATCH \
--url https://api.braintrust.dev/v1/project_automation/{project_automation_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
}
}
'import requests
url = "https://api.braintrust.dev/v1/project_automation/{project_automation_id}"
payload = {
"name": "<string>",
"description": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
config: {
event_type: 'logs',
btql_filter: '<string>',
interval_seconds: 1296000.5,
action: {type: 'webhook', url: '<string>'}
}
})
};
fetch('https://api.braintrust.dev/v1/project_automation/{project_automation_id}', 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.braintrust.dev/v1/project_automation/{project_automation_id}",
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([
'name' => '<string>',
'description' => '<string>',
'config' => [
'event_type' => 'logs',
'btql_filter' => '<string>',
'interval_seconds' => 1296000.5,
'action' => [
'type' => 'webhook',
'url' => '<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 := "https://api.braintrust.dev/v1/project_automation/{project_automation_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.braintrust.dev/v1/project_automation/{project_automation_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.braintrust.dev/v1/project_automation/{project_automation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"config\": {\n \"event_type\": \"logs\",\n \"btql_filter\": \"<string>\",\n \"interval_seconds\": 1296000.5,\n \"action\": {\n \"type\": \"webhook\",\n \"url\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"config": {
"event_type": "logs",
"btql_filter": "<string>",
"interval_seconds": 1296000.5,
"action": {
"type": "webhook",
"url": "<string>"
}
},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>"
}"<string>""<string>""<string>""<string>""<string>"Authorizations
Most Braintrust endpoints are authenticated by providing your API key as a header Authorization: Bearer [api_key] to your HTTP request. You can create an API key in the Braintrust organization settings page.
Path Parameters
ProjectAutomation id
Body
Fields to update
Name of the project automation
Textual description of the project automation
The configuration for the automation rule
Show child attributes
Show child attributes
Response
Returns the project_automation object
Unique identifier for the project automation
Unique identifier for the project that the project automation belongs under
Name of the project automation
The configuration for the automation rule
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Show child attributes
Show child attributes
Identifies the user who created the project automation
Date of project automation creation
Textual description of the project automation
Was this page helpful?