Update Business Rule
curl --request PATCH \
--url https://api-prod.usefini.com/v2/hc-rules/{id}/public \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"name": "<string>",
"description": "<string>",
"source": "<string>",
"triggerType": "<string>",
"flowConfig": {},
"inputSchema": [
{}
],
"botIds": [
"<string>"
]
}
'import requests
url = "https://api-prod.usefini.com/v2/hc-rules/{id}/public"
payload = {
"name": "<string>",
"description": "<string>",
"source": "<string>",
"triggerType": "<string>",
"flowConfig": {},
"inputSchema": [{}],
"botIds": ["<string>"]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
source: '<string>',
triggerType: '<string>',
flowConfig: {},
inputSchema: [{}],
botIds: ['<string>']
})
};
fetch('https://api-prod.usefini.com/v2/hc-rules/{id}/public', 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-prod.usefini.com/v2/hc-rules/{id}/public",
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([
'name' => '<string>',
'description' => '<string>',
'source' => '<string>',
'triggerType' => '<string>',
'flowConfig' => [
],
'inputSchema' => [
[
]
],
'botIds' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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-prod.usefini.com/v2/hc-rules/{id}/public"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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-prod.usefini.com/v2/hc-rules/{id}/public")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.usefini.com/v2/hc-rules/{id}/public")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyBusiness Rules
Update Business Rule
Update a custom or template-based Business Rule.
PATCH
/
v2
/
hc-rules
/
{id}
/
public
Update Business Rule
curl --request PATCH \
--url https://api-prod.usefini.com/v2/hc-rules/{id}/public \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"name": "<string>",
"description": "<string>",
"source": "<string>",
"triggerType": "<string>",
"flowConfig": {},
"inputSchema": [
{}
],
"botIds": [
"<string>"
]
}
'import requests
url = "https://api-prod.usefini.com/v2/hc-rules/{id}/public"
payload = {
"name": "<string>",
"description": "<string>",
"source": "<string>",
"triggerType": "<string>",
"flowConfig": {},
"inputSchema": [{}],
"botIds": ["<string>"]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
source: '<string>',
triggerType: '<string>',
flowConfig: {},
inputSchema: [{}],
botIds: ['<string>']
})
};
fetch('https://api-prod.usefini.com/v2/hc-rules/{id}/public', 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-prod.usefini.com/v2/hc-rules/{id}/public",
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([
'name' => '<string>',
'description' => '<string>',
'source' => '<string>',
'triggerType' => '<string>',
'flowConfig' => [
],
'inputSchema' => [
[
]
],
'botIds' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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-prod.usefini.com/v2/hc-rules/{id}/public"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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-prod.usefini.com/v2/hc-rules/{id}/public")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.usefini.com/v2/hc-rules/{id}/public")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"source\": \"<string>\",\n \"triggerType\": \"<string>\",\n \"flowConfig\": {},\n \"inputSchema\": [\n {}\n ],\n \"botIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyUpdates a Business Rule directly. Business Rules do not create versions.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonPath parameters
string
required
Business Rule ID.
Body parameters
string
Updated rule name.
string
Updated workflow description.
string
Updated source. The current enum value is
widget.string
Updated trigger. The current enum value is
on_escalation.RuleNodeConfig
Updated custom rule tree. Template-based rules cannot define this field.
InputSchemaField[]
Updated runtime input bindings.
string[]
Updated agent assignments.
Response
Returns the updatedRule.
Errors
400 Bad Request
400 Bad Request
The body is malformed, a template-based rule defines
flowConfig, or a referenced agent, action, or widget form is invalid.401 Unauthorized
401 Unauthorized
The API key is missing, malformed, revoked, or invalid.
403 Forbidden
403 Forbidden
The API key does not include the
write scope required for this route.404 Not Found
404 Not Found
The Business Rule does not exist in your workspace.
Was this page helpful?
⌘I

