Metric Policy
Update a metric policy
Updates an existing metric policy. System policies cannot be modified.
PUT
/
v1
/
metric
/
policies
/
{policyId}
JavaScript
import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const metricPolicy = await client.metricPolicy.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(metricPolicy.data);import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
metric_policy = client.metric_policy.update(
policy_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(metric_policy.data)curl --request PUT \
--url https://api.roark.ai/v1/metric/policies/{policyId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"conditions": [
{
"conditions": [
{
"conditionKey": "<string>",
"conditionValue": "<string>"
}
]
}
],
"metrics": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/metric/policies/{policyId}",
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([
'name' => '<string>',
'conditions' => [
[
'conditions' => [
[
'conditionKey' => '<string>',
'conditionValue' => '<string>'
]
]
]
],
'metrics' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]
]),
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.roark.ai/v1/metric/policies/{policyId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\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.roark.ai/v1/metric/policies/{policyId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/metric/policies/{policyId}")
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 \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"conditions": [
{
"conditions": [
{
"conditionKey": "<string>",
"conditionValue": "<string>"
}
]
}
],
"metrics": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"createdAt": "<string>",
"updatedAt": "<string>"
}
}{
"type": "validation",
"code": "invalid_parameter",
"message": "The request was invalid",
"param": "email"
}{
"type": "authentication",
"code": "unauthorized",
"message": "Authentication required"
}{
"type": "not_found",
"code": "resource_not_found",
"message": "The requested resource could not be found"
}{
"type": "rate_limit",
"code": "too_many_requests",
"message": "Rate limit exceeded"
}{
"type": "internal",
"code": "internal_error",
"message": "Internal server error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the metric policy to update
Body
application/json
Input for updating an existing metric policy
Name of the metric policy
Minimum string length:
1Status of the policy
Available options:
ACTIVE, INACTIVE Condition groups. Omit to keep existing, provide empty array to remove all conditions.
Show child attributes
Show child attributes
Metric definitions to collect when this policy matches
Minimum array length:
1Show child attributes
Show child attributes
Response
The updated metric policy
A metric policy defining when metrics should be collected
Show child attributes
Show child attributes
⌘I
JavaScript
import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const metricPolicy = await client.metricPolicy.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
console.log(metricPolicy.data);import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
metric_policy = client.metric_policy.update(
policy_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(metric_policy.data)curl --request PUT \
--url https://api.roark.ai/v1/metric/policies/{policyId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"conditions": [
{
"conditions": [
{
"conditionKey": "<string>",
"conditionValue": "<string>"
}
]
}
],
"metrics": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roark.ai/v1/metric/policies/{policyId}",
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([
'name' => '<string>',
'conditions' => [
[
'conditions' => [
[
'conditionKey' => '<string>',
'conditionValue' => '<string>'
]
]
]
],
'metrics' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]
]),
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.roark.ai/v1/metric/policies/{policyId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\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.roark.ai/v1/metric/policies/{policyId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.roark.ai/v1/metric/policies/{policyId}")
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 \"name\": \"<string>\",\n \"conditions\": [\n {\n \"conditions\": [\n {\n \"conditionKey\": \"<string>\",\n \"conditionValue\": \"<string>\"\n }\n ]\n }\n ],\n \"metrics\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"conditions": [
{
"conditions": [
{
"conditionKey": "<string>",
"conditionValue": "<string>"
}
]
}
],
"metrics": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"createdAt": "<string>",
"updatedAt": "<string>"
}
}{
"type": "validation",
"code": "invalid_parameter",
"message": "The request was invalid",
"param": "email"
}{
"type": "authentication",
"code": "unauthorized",
"message": "Authentication required"
}{
"type": "not_found",
"code": "resource_not_found",
"message": "The requested resource could not be found"
}{
"type": "rate_limit",
"code": "too_many_requests",
"message": "Rate limit exceeded"
}{
"type": "internal",
"code": "internal_error",
"message": "Internal server error"
}