Create a comment monitor
curl --request POST \
--url https://api.madiad.com/v1/autodm/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"profile_id": "<string>",
"post_url": "<string>",
"reply_message": "<string>",
"trigger_keywords": [
"<string>"
],
"monitoring_interval": 123
}
'import requests
url = "https://api.madiad.com/v1/autodm/monitors"
payload = {
"profile_id": "<string>",
"post_url": "<string>",
"reply_message": "<string>",
"trigger_keywords": ["<string>"],
"monitoring_interval": 123
}
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({
profile_id: '<string>',
post_url: '<string>',
reply_message: '<string>',
trigger_keywords: ['<string>'],
monitoring_interval: 123
})
};
fetch('https://api.madiad.com/v1/autodm/monitors', 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.madiad.com/v1/autodm/monitors",
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([
'profile_id' => '<string>',
'post_url' => '<string>',
'reply_message' => '<string>',
'trigger_keywords' => [
'<string>'
],
'monitoring_interval' => 123
]),
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.madiad.com/v1/autodm/monitors"
payload := strings.NewReader("{\n \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\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.madiad.com/v1/autodm/monitors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.madiad.com/v1/autodm/monitors")
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 \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}autodm
Create a comment monitor
Watches one post and answers matching comments on its own.
POST
/
v1
/
autodm
/
monitors
Create a comment monitor
curl --request POST \
--url https://api.madiad.com/v1/autodm/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"profile_id": "<string>",
"post_url": "<string>",
"reply_message": "<string>",
"trigger_keywords": [
"<string>"
],
"monitoring_interval": 123
}
'import requests
url = "https://api.madiad.com/v1/autodm/monitors"
payload = {
"profile_id": "<string>",
"post_url": "<string>",
"reply_message": "<string>",
"trigger_keywords": ["<string>"],
"monitoring_interval": 123
}
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({
profile_id: '<string>',
post_url: '<string>',
reply_message: '<string>',
trigger_keywords: ['<string>'],
monitoring_interval: 123
})
};
fetch('https://api.madiad.com/v1/autodm/monitors', 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.madiad.com/v1/autodm/monitors",
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([
'profile_id' => '<string>',
'post_url' => '<string>',
'reply_message' => '<string>',
'trigger_keywords' => [
'<string>'
],
'monitoring_interval' => 123
]),
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.madiad.com/v1/autodm/monitors"
payload := strings.NewReader("{\n \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\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.madiad.com/v1/autodm/monitors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.madiad.com/v1/autodm/monitors")
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 \"profile_id\": \"<string>\",\n \"post_url\": \"<string>\",\n \"reply_message\": \"<string>\",\n \"trigger_keywords\": [\n \"<string>\"\n ],\n \"monitoring_interval\": 123\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "<string>"
}
}Authorizations
Your API key, sent as Authorization: Bearer <key>. One key manages every profile on the account.
Body
application/json
Id of the brand profile to act on. List them with GET /v1/profiles.
Public URL of the post on the channel.
Text the monitor replies with when it matches.
Words that make the monitor fire. Empty means every new comment.
Seconds between checks.
Response
Success.
The response envelope is stable — a profile_id plus the payload — but its inner fields are not yet pinned down in this document.

