Update a project event definition
Updates editable metadata for an event definition. Event names cannot be
changed after events have been recorded for the definition. Set archived
to true to hide the definition from event tools and workflow selectors while
retaining historical events; set it to false to restore it.
curl --request PATCH \
--url https://api.kapso.ai/platform/v1/event-definitions/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"description": "Customer satisfaction score for a conversation",
"property_schema": {
"score": {
"type": "number"
},
"resolved": {
"type": "boolean"
}
},
"archived": false
}
'import requests
url = "https://api.kapso.ai/platform/v1/event-definitions/{id}"
payload = {
"description": "Customer satisfaction score for a conversation",
"property_schema": {
"score": { "type": "number" },
"resolved": { "type": "boolean" }
},
"archived": False
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Customer satisfaction score for a conversation',
property_schema: {score: {type: 'number'}, resolved: {type: 'boolean'}},
archived: false
})
};
fetch('https://api.kapso.ai/platform/v1/event-definitions/{id}', 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.kapso.ai/platform/v1/event-definitions/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'Customer satisfaction score for a conversation',
'property_schema' => [
'score' => [
'type' => 'number'
],
'resolved' => [
'type' => 'boolean'
]
],
'archived' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-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.kapso.ai/platform/v1/event-definitions/{id}"
payload := strings.NewReader("{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-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.patch("https://api.kapso.ai/platform/v1/event-definitions/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kapso.ai/platform/v1/event-definitions/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "conversation.csat_scored",
"property_schema": {
"score": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"last_seen_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Path Parameters
Body
Event name. Must be lowercase and may contain optional dot-separated segments. Each segment starts with a lowercase letter and may contain lowercase letters, numbers, and underscores. Maximum 128 characters. Cannot be changed after events have been recorded.
1 - 128^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$"conversation.csat_scored"
Human-readable description of what this event means
Declared properties for this event. Values are keyed by property name.
Show child attributes
Show child attributes
Archive or restore the definition. Archived definitions retain historical events but are hidden from new tools and workflow selectors.
Response
Definition updated
Show child attributes
Show child attributes
Was this page helpful?
curl --request PATCH \
--url https://api.kapso.ai/platform/v1/event-definitions/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"description": "Customer satisfaction score for a conversation",
"property_schema": {
"score": {
"type": "number"
},
"resolved": {
"type": "boolean"
}
},
"archived": false
}
'import requests
url = "https://api.kapso.ai/platform/v1/event-definitions/{id}"
payload = {
"description": "Customer satisfaction score for a conversation",
"property_schema": {
"score": { "type": "number" },
"resolved": { "type": "boolean" }
},
"archived": False
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Customer satisfaction score for a conversation',
property_schema: {score: {type: 'number'}, resolved: {type: 'boolean'}},
archived: false
})
};
fetch('https://api.kapso.ai/platform/v1/event-definitions/{id}', 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.kapso.ai/platform/v1/event-definitions/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'Customer satisfaction score for a conversation',
'property_schema' => [
'score' => [
'type' => 'number'
],
'resolved' => [
'type' => 'boolean'
]
],
'archived' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-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.kapso.ai/platform/v1/event-definitions/{id}"
payload := strings.NewReader("{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-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.patch("https://api.kapso.ai/platform/v1/event-definitions/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kapso.ai/platform/v1/event-definitions/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Customer satisfaction score for a conversation\",\n \"property_schema\": {\n \"score\": {\n \"type\": \"number\"\n },\n \"resolved\": {\n \"type\": \"boolean\"\n }\n },\n \"archived\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "conversation.csat_scored",
"property_schema": {
"score": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"last_seen_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}
