Success-metric catalog
List everything a success metric can point at on this initiative: the events this organization records, its custom-object types, and the variables extracted from this initiative’s conversations. Pass eventName to also get that event’s properties, or objectTypeId to get that type’s attributes and the ways it links to a person. Call this before success_metrics_upsert: an unrecognised event, object type or variable is accepted but never matches anything, so the metric silently reports zero.
curl --request GET \
--url https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog', 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://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"name": "<string>",
"description": "<string>"
}
],
"objectTypes": [
{
"id": "<string>",
"name": "<string>",
"displayName": "<string>"
}
],
"variables": [
{
"id": "<string>",
"key": "<string>",
"label": "<string>",
"valueKind": "<string>"
}
],
"eventProperties": [
{
"key": "<string>",
"inferredType": "<string>",
"description": "<string>"
}
],
"objectAttributes": [
{
"key": "<string>",
"inferredType": "<string>",
"description": "<string>"
}
],
"linkagePaths": [
{
"path": [
{
"kind": "PERSON_OBJECT",
"role": "<string>",
"objectTypeId": "<string>",
"direction": "PARENT_TO_CHILD"
}
],
"label": "<string>"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Organization API key, sent as Authorization: Bearer boom_org_....
Path Parameters
The initiative id.
1Query Parameters
Also return this event's properties, for the value field of a SUM/AVERAGE/MAX metric.
Also return this custom-object type's attributes and its linkage paths to a person.
Response
Success
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Null unless eventName was given.
Show child attributes
Show child attributes
Null unless objectTypeId was given.
Show child attributes
Show child attributes
Null unless objectTypeId was given. An empty array means it is linked directly to a person.
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog', 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://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/initiatives/{id}/success-metrics/catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"name": "<string>",
"description": "<string>"
}
],
"objectTypes": [
{
"id": "<string>",
"name": "<string>",
"displayName": "<string>"
}
],
"variables": [
{
"id": "<string>",
"key": "<string>",
"label": "<string>",
"valueKind": "<string>"
}
],
"eventProperties": [
{
"key": "<string>",
"inferredType": "<string>",
"description": "<string>"
}
],
"objectAttributes": [
{
"key": "<string>",
"inferredType": "<string>",
"description": "<string>"
}
],
"linkagePaths": [
{
"path": [
{
"kind": "PERSON_OBJECT",
"role": "<string>",
"objectTypeId": "<string>",
"direction": "PARENT_TO_CHILD"
}
],
"label": "<string>"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}