curl --request PUT \
--url https://api.braintrust.dev/v1/project_automation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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>",
"formatting_prompt": "<string>"
}
},
"description": "<string>"
}
'import requests
url = "https://api.braintrust.dev/v1/project_automation"
payload = {
"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>",
"formatting_prompt": "<string>"
}
},
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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>', formatting_prompt: '<string>'}
},
description: '<string>'
})
};
fetch('https://api.braintrust.dev/v1/project_automation', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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>',
'formatting_prompt' => '<string>'
]
],
'description' => '<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"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.braintrust.dev/v1/project_automation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.braintrust.dev/v1/project_automation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\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>",
"formatting_prompt": "<string>"
},
"status": "active"
},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>",
"runtime_block": {
"reason": "<string>",
"model": "<string>"
}
}"<string>""<string>""<string>""<string>""<string>"Create or replace project_automation
Create or replace project_automation. If there is an existing project_automation with the same name as the one specified in the request, will replace the existing project_automation with the provided fields
curl --request PUT \
--url https://api.braintrust.dev/v1/project_automation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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>",
"formatting_prompt": "<string>"
}
},
"description": "<string>"
}
'import requests
url = "https://api.braintrust.dev/v1/project_automation"
payload = {
"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>",
"formatting_prompt": "<string>"
}
},
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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>', formatting_prompt: '<string>'}
},
description: '<string>'
})
};
fetch('https://api.braintrust.dev/v1/project_automation', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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>',
'formatting_prompt' => '<string>'
]
],
'description' => '<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"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.braintrust.dev/v1/project_automation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.braintrust.dev/v1/project_automation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<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 \"formatting_prompt\": \"<string>\"\n }\n },\n \"description\": \"<string>\"\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>",
"formatting_prompt": "<string>"
},
"status": "active"
},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>",
"runtime_block": {
"reason": "<string>",
"model": "<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.
Body
Any desired information about the new project_automation object
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
- Option 8
Show child attributes
Show child attributes
Textual description of the project automation
Response
Returns the new 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
- Option 8
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
Show child attributes
Show child attributes
Was this page helpful?