curl --request PUT \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"description": "description",
"expression": "expression",
"name": "name",
"tags": [
"tag"
],
"unit": "unit"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"description": "description",
"expression": "expression",
"name": "name",
"tags": ["tag"],
"unit": "unit"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
component_ids: ['component_id'],
component_references: [{component_id: 'component_id', socket_names: ['socket_name']}],
description: 'description',
expression: 'expression',
name: 'name',
tags: ['tag'],
unit: 'unit'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}', 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.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}",
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([
'component_ids' => [
'component_id'
],
'component_references' => [
[
'component_id' => 'component_id',
'socket_names' => [
'socket_name'
]
]
],
'description' => 'description',
'expression' => 'expression',
'name' => 'name',
'tags' => [
'tag'
],
'unit' => 'unit'
]),
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://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}"
payload := strings.NewReader("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"description": "<string>",
"expression": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"unit": "<string>"
}Update a campaign flow step metric
Updates the specified campaign flow step metric. Only fields present in the request body are changed. Returns the updated metric.
curl --request PUT \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"description": "description",
"expression": "expression",
"name": "name",
"tags": [
"tag"
],
"unit": "unit"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"description": "description",
"expression": "expression",
"name": "name",
"tags": ["tag"],
"unit": "unit"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
component_ids: ['component_id'],
component_references: [{component_id: 'component_id', socket_names: ['socket_name']}],
description: 'description',
expression: 'expression',
name: 'name',
tags: ['tag'],
unit: 'unit'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}', 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.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}",
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([
'component_ids' => [
'component_id'
],
'component_references' => [
[
'component_id' => 'component_id',
'socket_names' => [
'socket_name'
]
]
],
'description' => 'description',
'expression' => 'expression',
'name' => 'name',
'tags' => [
'tag'
],
'unit' => 'unit'
]),
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://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}"
payload := strings.NewReader("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/metrics/{flowStepMetricId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"description\": \"description\",\n \"expression\": \"expression\",\n \"name\": \"name\",\n \"tags\": [\n \"tag\"\n ],\n \"unit\": \"unit\"\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"description": "<string>",
"expression": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"unit": "<string>"
}Authorizations
Path Parameters
(/version/.+)?Body
Body of a PUT /v2/campaigns/{campaignId}{version:(/version/.+)?}/flow-steps/{flowStepId}/metrics/{flowStepMetricId} request.
Show child attributes
Show child attributes
Choose between static or dynamic description
Choose between static or dynamic expression
Choose between static or dynamic name
Choose between static or dynamic tags
Choose between static or dynamic unit
Response
Successful response
Stored campaign flow step metric definition. Fields name, description, expression, unit, and tags are unevaluated and appear in buildtime-evaluatable form.
Show child attributes
Show child attributes
The description as configured: a literal value, or an expression (type:string) when defined dynamically.
The expression as configured: a literal value, or an expression (type:string) when defined dynamically.
The name as configured: a literal value, or an expression (type:string) when defined dynamically.
The tags as configured: a literal value, or an expression (type:string) when defined dynamically.
The unit as configured: a literal value, or an expression (type:string) when defined dynamically.
