SetDatasetNotificationAPI replaces the recipient list for a dataset. An empty
curl --request PUT \
--url https://api.erdo.ai/v1/dataset-notifications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataset": "<string>",
"recipients": [
"<string>"
],
"timestamp_column": "<string>"
}
'import requests
url = "https://api.erdo.ai/v1/dataset-notifications"
payload = {
"dataset": "<string>",
"recipients": ["<string>"],
"timestamp_column": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({dataset: '<string>', recipients: ['<string>'], timestamp_column: '<string>'})
};
fetch('https://api.erdo.ai/v1/dataset-notifications', 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.erdo.ai/v1/dataset-notifications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'dataset' => '<string>',
'recipients' => [
'<string>'
],
'timestamp_column' => '<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.erdo.ai/v1/dataset-notifications"
payload := strings.NewReader("{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.erdo.ai/v1/dataset-notifications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/dataset-notifications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"dataset": "<string>",
"enabled": true,
"job_id": "<string>",
"recipients": [
"<string>"
],
"timestamp_column": "<string>"
}{
"code": "not_found",
"details": {},
"message": "<string>"
}API Reference
SetDatasetNotificationAPI replaces the recipient list for a dataset. An empty
list turns notifications off.
PUT
/
v1
/
dataset-notifications
SetDatasetNotificationAPI replaces the recipient list for a dataset. An empty
curl --request PUT \
--url https://api.erdo.ai/v1/dataset-notifications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataset": "<string>",
"recipients": [
"<string>"
],
"timestamp_column": "<string>"
}
'import requests
url = "https://api.erdo.ai/v1/dataset-notifications"
payload = {
"dataset": "<string>",
"recipients": ["<string>"],
"timestamp_column": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({dataset: '<string>', recipients: ['<string>'], timestamp_column: '<string>'})
};
fetch('https://api.erdo.ai/v1/dataset-notifications', 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.erdo.ai/v1/dataset-notifications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'dataset' => '<string>',
'recipients' => [
'<string>'
],
'timestamp_column' => '<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.erdo.ai/v1/dataset-notifications"
payload := strings.NewReader("{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.erdo.ai/v1/dataset-notifications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/dataset-notifications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dataset\": \"<string>\",\n \"recipients\": [\n \"<string>\"\n ],\n \"timestamp_column\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"dataset": "<string>",
"enabled": true,
"job_id": "<string>",
"recipients": [
"<string>"
],
"timestamp_column": "<string>"
}{
"code": "not_found",
"details": {},
"message": "<string>"
}Authorizations
An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).
Body
application/json
off: the underlying automation is removed rather than left disabled, so turning it back on later starts from the rows arriving then, instead of delivering everything that accumulated while it was off.
detected; set it when the dataset names that column unconventionally.
GetDatasetNotificationAPI reports who is emailed when new rows land in a
ListDatasetsAPI mirrors the erdo_list_datasets MCP tool as a REST endpoint.
⌘I

