curl --request POST \
--url https://api.eu.bronto.io/forward-configs \
--header 'Content-Type: application/json' \
--header 'X-BRONTO-API-KEY: <api-key>' \
--data @- <<EOF
{
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": true,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": [
"<string>"
],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}
EOFimport requests
url = "https://api.eu.bronto.io/forward-configs"
payload = {
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": True,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": ["<string>"],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}
headers = {
"X-BRONTO-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-BRONTO-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Archive data to S3',
compression: 'ZSTD',
all_logs: true,
destination: {
destination_type: 'S3',
bucket: 'my-archive-bucket',
prefix: 'bronto/archives/',
storage_class: 'STANDARD'
},
description: 'Sending data to S3 for long term store',
filter: 'level=\'ERROR\' or level=\'WARN\'',
log_ids: ['<string>'],
max_payload_size_bytes: 10000000,
max_payload_size_events: 1000,
max_buffer_time_ms: 300000
})
};
fetch('https://api.eu.bronto.io/forward-configs', 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.eu.bronto.io/forward-configs",
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([
'name' => 'Archive data to S3',
'compression' => 'ZSTD',
'all_logs' => true,
'destination' => [
'destination_type' => 'S3',
'bucket' => 'my-archive-bucket',
'prefix' => 'bronto/archives/',
'storage_class' => 'STANDARD'
],
'description' => 'Sending data to S3 for long term store',
'filter' => 'level=\'ERROR\' or level=\'WARN\'',
'log_ids' => [
'<string>'
],
'max_payload_size_bytes' => 10000000,
'max_payload_size_events' => 1000,
'max_buffer_time_ms' => 300000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-BRONTO-API-KEY: <api-key>"
],
]);
$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.eu.bronto.io/forward-configs"
payload := strings.NewReader("{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-BRONTO-API-KEY", "<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.post("https://api.eu.bronto.io/forward-configs")
.header("X-BRONTO-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.bronto.io/forward-configs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-BRONTO-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": true,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"created_at": 1710948395538,
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": [
"<string>"
],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}Create a new forward config to archive your logs in another system
Create a forward config, to forward log events outside the Bronto system (e.g. archive logs in an S3 bucket)
curl --request POST \
--url https://api.eu.bronto.io/forward-configs \
--header 'Content-Type: application/json' \
--header 'X-BRONTO-API-KEY: <api-key>' \
--data @- <<EOF
{
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": true,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": [
"<string>"
],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}
EOFimport requests
url = "https://api.eu.bronto.io/forward-configs"
payload = {
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": True,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": ["<string>"],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}
headers = {
"X-BRONTO-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-BRONTO-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Archive data to S3',
compression: 'ZSTD',
all_logs: true,
destination: {
destination_type: 'S3',
bucket: 'my-archive-bucket',
prefix: 'bronto/archives/',
storage_class: 'STANDARD'
},
description: 'Sending data to S3 for long term store',
filter: 'level=\'ERROR\' or level=\'WARN\'',
log_ids: ['<string>'],
max_payload_size_bytes: 10000000,
max_payload_size_events: 1000,
max_buffer_time_ms: 300000
})
};
fetch('https://api.eu.bronto.io/forward-configs', 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.eu.bronto.io/forward-configs",
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([
'name' => 'Archive data to S3',
'compression' => 'ZSTD',
'all_logs' => true,
'destination' => [
'destination_type' => 'S3',
'bucket' => 'my-archive-bucket',
'prefix' => 'bronto/archives/',
'storage_class' => 'STANDARD'
],
'description' => 'Sending data to S3 for long term store',
'filter' => 'level=\'ERROR\' or level=\'WARN\'',
'log_ids' => [
'<string>'
],
'max_payload_size_bytes' => 10000000,
'max_payload_size_events' => 1000,
'max_buffer_time_ms' => 300000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-BRONTO-API-KEY: <api-key>"
],
]);
$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.eu.bronto.io/forward-configs"
payload := strings.NewReader("{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-BRONTO-API-KEY", "<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.post("https://api.eu.bronto.io/forward-configs")
.header("X-BRONTO-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.bronto.io/forward-configs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-BRONTO-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Archive data to S3\",\n \"compression\": \"ZSTD\",\n \"all_logs\": true,\n \"destination\": {\n \"destination_type\": \"S3\",\n \"bucket\": \"my-archive-bucket\",\n \"prefix\": \"bronto/archives/\",\n \"storage_class\": \"STANDARD\"\n },\n \"description\": \"Sending data to S3 for long term store\",\n \"filter\": \"level='ERROR' or level='WARN'\",\n \"log_ids\": [\n \"<string>\"\n ],\n \"max_payload_size_bytes\": 10000000,\n \"max_payload_size_events\": 1000,\n \"max_buffer_time_ms\": 300000\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Archive data to S3",
"compression": "ZSTD",
"all_logs": true,
"destination": {
"destination_type": "S3",
"bucket": "my-archive-bucket",
"prefix": "bronto/archives/",
"storage_class": "STANDARD"
},
"created_at": 1710948395538,
"description": "Sending data to S3 for long term store",
"filter": "level='ERROR' or level='WARN'",
"log_ids": [
"<string>"
],
"max_payload_size_bytes": 10000000,
"max_payload_size_events": 1000,
"max_buffer_time_ms": 300000
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}{
"bad_request_validation": {
"summary": "Bad Request - Validation Error",
"description": "Example error when request validation fails",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}
},
"bad_request_invalid_type": {
"summary": "Bad Request - Invalid Metric Type",
"description": "Example error when an invalid metric type is provided",
"value": {
"code": 400,
"type": "Bad Request",
"correlation_id": "00d8a51bb2874f2583670317a4fb8db7",
"details": "Invalid metric_type 'INVALID'. Must be one of: COUNTER, GAUGE, HISTOGRAM"
}
},
"forbidden": {
"summary": "Forbidden Access",
"description": "Example error when user lacks required permissions",
"value": {
"code": 403,
"type": "Forbidden",
"correlation_id": "40276639de0f49d586e32edd8c4f6b34",
"details": "Access denied. User does not have permission to create metric definition templates"
}
},
"not_found": {
"summary": "Resource Not Found",
"description": "Example error when requested resource doesn't exist",
"value": {
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Metric definition template with id '550e8400-e29b-41d4-a716-446655440000' not found"
}
},
"rate_limit": {
"summary": "Rate Limit Exceeded",
"description": "Example error when API rate limit is exceeded",
"value": {
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window"
}
},
"internal_server_error": {
"summary": "Internal Server Error",
"description": "Example error for unexpected server-side failures",
"value": {
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "An unexpected error occurred while processing your request"
}
}
}Authorizations
Body
The name of the config
1 - 255"Archive data to S3"
The compression algorithm to use, to reduce the payload size (ZSTD recommended)
ZSTD, GZIP, NONE True to forward all logs, logs created in future will be automatically forwarded
Show child attributes
Show child attributes
Extra contextual information to add to the forward config.
1000"Sending data to S3 for long term store"
Optional filter, to forward only some events and discard others
2000"level='ERROR' or level='WARN'"
The list of log ids to forward. Required if all_logs is set to false, ignored if all_logs is set to true
The max size of the payload in bytes, before compression. Payload of smaller size can be delivered by the system
1000000 <= x <= 100000000010000000
The max number of log events in a payload. Payloads with less events can be delivered by the system
1000 <= x <= 10000000001000
The maximum time waited by the system while buffering events to build a payload
60000 <= x <= 86400000300000
Response
Forward config is created successfully
unique identifier for the config
The name of the config
1 - 255"Archive data to S3"
The compression to use to reduce the payload size
ZSTD, GZIP, NONE True to forward all logs, logs created in future will be automatically forwarded
Show child attributes
Show child attributes
The timestamp when the config was created
1710948395538
Extra contextual information to add to the forward config.
1000"Sending data to S3 for long term store"
Optional filter to forward only some events and discard others
2000"level='ERROR' or level='WARN'"
The list of log ids to forward. Required if all_logs is set to false, ignored if all_logs is set to true
The max size of the payload in bytes, before compression. Payload of smaller size can be delivered by the system
1000000 <= x <= 100000000010000000
The max number of log events in a payload. Payloads with less events can be delivered by the system
1000 <= x <= 10000000001000
The maximum time waited by the system while buffering events to build a payload.
60000 <= x <= 86400000300000

