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_bodyActions
Assign to agents
Add or remove agent assignments for actions.
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 actions. Send a batch of junction changes in one request.
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
Action 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

