Assign to agents
curl --request POST \
--url https://api-prod.usefini.com/v2/hc-tools/junctions/public \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"junctions": [
{}
],
"junctions[].botId": "<string>",
"junctions[].toolId": "<string>",
"junctions[].action": "<string>",
"junctions[].channels": [
"<string>"
]
}
'import requests
url = "https://api-prod.usefini.com/v2/hc-tools/junctions/public"
payload = {
"junctions": [{}],
"junctions[].botId": "<string>",
"junctions[].toolId": "<string>",
"junctions[].action": "<string>",
"junctions[].channels": ["<string>"]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
junctions: [{}],
'junctions[].botId': '<string>',
'junctions[].toolId': '<string>',
'junctions[].action': '<string>',
'junctions[].channels': ['<string>']
})
};
fetch('https://api-prod.usefini.com/v2/hc-tools/junctions/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-tools/junctions/public",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'junctions' => [
[
]
],
'junctions[].botId' => '<string>',
'junctions[].toolId' => '<string>',
'junctions[].action' => '<string>',
'junctions[].channels' => [
'<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-tools/junctions/public"
payload := strings.NewReader("{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api-prod.usefini.com/v2/hc-tools/junctions/public")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.usefini.com/v2/hc-tools/junctions/public")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAttributes
Assign to agents
Add or remove agent assignments for attributes.
POST
/
v2
/
hc-tools
/
junctions
/
public
Assign to agents
curl --request POST \
--url https://api-prod.usefini.com/v2/hc-tools/junctions/public \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"junctions": [
{}
],
"junctions[].botId": "<string>",
"junctions[].toolId": "<string>",
"junctions[].action": "<string>",
"junctions[].channels": [
"<string>"
]
}
'import requests
url = "https://api-prod.usefini.com/v2/hc-tools/junctions/public"
payload = {
"junctions": [{}],
"junctions[].botId": "<string>",
"junctions[].toolId": "<string>",
"junctions[].action": "<string>",
"junctions[].channels": ["<string>"]
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
junctions: [{}],
'junctions[].botId': '<string>',
'junctions[].toolId': '<string>',
'junctions[].action': '<string>',
'junctions[].channels': ['<string>']
})
};
fetch('https://api-prod.usefini.com/v2/hc-tools/junctions/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-tools/junctions/public",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'junctions' => [
[
]
],
'junctions[].botId' => '<string>',
'junctions[].toolId' => '<string>',
'junctions[].action' => '<string>',
'junctions[].channels' => [
'<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-tools/junctions/public"
payload := strings.NewReader("{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api-prod.usefini.com/v2/hc-tools/junctions/public")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.usefini.com/v2/hc-tools/junctions/public")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"junctions\": [\n {}\n ],\n \"junctions[].botId\": \"<string>\",\n \"junctions[].toolId\": \"<string>\",\n \"junctions[].action\": \"<string>\",\n \"junctions[].channels\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAdds or removes assignments between agents and attributes. Send a batch of junction changes in one request. An attribute only runs in conversations for agents it is assigned to.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonBody parameters
Junction[]
required
Array of junction changes to apply.
string
required
Agent ID.
string
required
Attribute ID.
string
required
ADD to create the assignment, DELETE to remove it.string[]
Optional channels the assignment applies to, for example
chat and email.Response
Returns{ "success": true } when the changes are applied.
Errors
400 Bad Request
400 Bad Request
The body is malformed, or a junction is missing
botId, toolId, or a valid action.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.Was this page helpful?
⌘I

