Create Integration
Create a new integration row.
Slug is derived from name and made unique with numeric
suffixes on collision. Empty post normalization slug returns 422.
curl --request POST \
--url https://api.example.com/admin/api/v1/integrations \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": true
},
"enabled": true
}
'import requests
url = "https://api.example.com/admin/api/v1/integrations"
payload = {
"name": "<string>",
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": True
},
"enabled": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
integration: {
config: {
accessToken: '<string>',
phoneNumberId: '<string>',
verifyToken: '<string>',
apiVersion: 'v21.0'
},
enabled: true
},
enabled: true
})
};
fetch('https://api.example.com/admin/api/v1/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.example.com/admin/api/v1/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>',
'integration' => [
'config' => [
'accessToken' => '<string>',
'phoneNumberId' => '<string>',
'verifyToken' => '<string>',
'apiVersion' => 'v21.0'
],
'enabled' => true
],
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"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.example.com/admin/api/v1/integrations"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/admin/api/v1/integrations")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/admin/api/v1/integrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"enabled": true,
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": true
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"reload": {
"message": "<string>",
"error": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Body
Body for POST /admin/api/v1/integrations.
Top-level integration configuration.
Each integration binds an external messaging provider to the agent. When the engine starts, it registers webhook endpoints for each enabled integration.
Show child attributes
Show child attributes
Response
Successful Response
GET response and the data payload of POST/PATCH/DELETE responses.
Show child attributes
Show child attributes
Reload outcome attached to every admin mutation response.
reloaded means DB committed and runtime now uses the new config.
restart_required means DB committed and process restart is needed.
reload_failed means DB rolled back and runtime is unchanged.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.example.com/admin/api/v1/integrations \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": true
},
"enabled": true
}
'import requests
url = "https://api.example.com/admin/api/v1/integrations"
payload = {
"name": "<string>",
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": True
},
"enabled": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
integration: {
config: {
accessToken: '<string>',
phoneNumberId: '<string>',
verifyToken: '<string>',
apiVersion: 'v21.0'
},
enabled: true
},
enabled: true
})
};
fetch('https://api.example.com/admin/api/v1/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.example.com/admin/api/v1/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>',
'integration' => [
'config' => [
'accessToken' => '<string>',
'phoneNumberId' => '<string>',
'verifyToken' => '<string>',
'apiVersion' => 'v21.0'
],
'enabled' => true
],
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"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.example.com/admin/api/v1/integrations"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/admin/api/v1/integrations")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/admin/api/v1/integrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"integration\": {\n \"config\": {\n \"accessToken\": \"<string>\",\n \"phoneNumberId\": \"<string>\",\n \"verifyToken\": \"<string>\",\n \"apiVersion\": \"v21.0\"\n },\n \"enabled\": true\n },\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"enabled": true,
"integration": {
"config": {
"accessToken": "<string>",
"phoneNumberId": "<string>",
"verifyToken": "<string>",
"apiVersion": "v21.0"
},
"enabled": true
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"reload": {
"message": "<string>",
"error": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}