Create a Custom Integration
Create an active Custom Integration. name and access_token are required. The role of the token owner must be allowed to configure integrations. The new integration is granted to the super admin roles; grant it to other roles from the Siit dashboard so their members can see and run its Custom Actions.
curl --request POST \
--url https://api.siit.io/v1/custom_integrations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"api_doc_url": "<string>",
"access_token": "<string>",
"auth_method": "bearer_token",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.siit.io/v1/custom_integrations"
payload = {
"name": "<string>",
"api_doc_url": "<string>",
"access_token": "<string>",
"auth_method": "bearer_token",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
api_doc_url: '<string>',
access_token: '<string>',
auth_method: 'bearer_token',
auth_header_name: '<string>',
auth_username: '<string>',
custom_headers: [{name: '<string>', value: '<string>'}]
})
};
fetch('https://api.siit.io/v1/custom_integrations', 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.siit.io/v1/custom_integrations",
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([
'name' => '<string>',
'api_doc_url' => '<string>',
'access_token' => '<string>',
'auth_method' => 'bearer_token',
'auth_header_name' => '<string>',
'auth_username' => '<string>',
'custom_headers' => [
[
'name' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.siit.io/v1/custom_integrations"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.siit.io/v1/custom_integrations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/custom_integrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"name": "<string>",
"api_doc_url": "<string>",
"auth_method": "api_key",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"logo_url": "<string>",
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"troubleshoot": "<string>"
}{
"error": "<string>",
"troubleshoot": "<string>"
}Usage
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
On update, only the provided attributes change; custom_headers replaces the whole list.
The Custom Integration name, unique within the company
100Link to the documentation of the API this integration calls
2048The secret Siit sends to your API, as configured by auth_method. Required on creation, even with auth_method: none. Never returned.
How the secret authenticates requests: bearer_token (Authorization: Bearer <secret>), api_key (<auth_header_name>: <secret>), basic_auth (Authorization: Basic base64(<auth_username>:<secret>)), or none
api_key, basic_auth, bearer_token, none Header carrying the secret. Required when auth_method is api_key.
255Username combined with the secret. Required when auth_method is basic_auth.
255HTTP headers sent with every request of the integration Custom Actions
Show child attributes
Show child attributes
Response
Custom Integration created
Show child attributes
Show child attributes
curl --request POST \
--url https://api.siit.io/v1/custom_integrations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"api_doc_url": "<string>",
"access_token": "<string>",
"auth_method": "bearer_token",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.siit.io/v1/custom_integrations"
payload = {
"name": "<string>",
"api_doc_url": "<string>",
"access_token": "<string>",
"auth_method": "bearer_token",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
api_doc_url: '<string>',
access_token: '<string>',
auth_method: 'bearer_token',
auth_header_name: '<string>',
auth_username: '<string>',
custom_headers: [{name: '<string>', value: '<string>'}]
})
};
fetch('https://api.siit.io/v1/custom_integrations', 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.siit.io/v1/custom_integrations",
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([
'name' => '<string>',
'api_doc_url' => '<string>',
'access_token' => '<string>',
'auth_method' => 'bearer_token',
'auth_header_name' => '<string>',
'auth_username' => '<string>',
'custom_headers' => [
[
'name' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.siit.io/v1/custom_integrations"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.siit.io/v1/custom_integrations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/custom_integrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"api_doc_url\": \"<string>\",\n \"access_token\": \"<string>\",\n \"auth_method\": \"bearer_token\",\n \"auth_header_name\": \"<string>\",\n \"auth_username\": \"<string>\",\n \"custom_headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"name": "<string>",
"api_doc_url": "<string>",
"auth_method": "api_key",
"auth_header_name": "<string>",
"auth_username": "<string>",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"logo_url": "<string>",
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"troubleshoot": "<string>"
}{
"error": "<string>",
"troubleshoot": "<string>"
}
