Code samples use your device
. Create an API key under API keys.API reference · Account
Settings
Read a setting
GET
/v1/settings/{key}Read a tenant setting. Keys: send_window, business_hours, welcome_message, csat_config, chatbot_flows, canned_responses, typing_delay. value is null when never set. **send_window**: blast (bulk) sends are only released inside this daily window (default 08:00–20:00 in the business timezone, or in each recipient's own timezone) and wait for the next opening otherwise; 1:1 replies, scheduled and recurring messages are unaffected.
Path parameters
keystringrequired
Responses
- 200Setting
Response fields
keystringrequiredvalueany
- 404Unknown key
Request
curl "https://api.chatkomodo.com/v1/settings/send_window" \
-H "Authorization: Bearer $CHATKOMODO_API_KEY"const res = await fetch('https://api.chatkomodo.com/v1/settings/send_window', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.CHATKOMODO_API_KEY}`,
},
});
const data = await res.json();
if (!res.ok) throw new Error(`${data.code}: ${data.error}`);
console.log(data);import os
import requests
res = requests.get(
"https://api.chatkomodo.com/v1/settings/send_window",
headers={
"Authorization": f"Bearer {os.environ['CHATKOMODO_API_KEY']}",
},
timeout=30,
)
res.raise_for_status()
print(res.json())<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.chatkomodo.com/v1/settings/send_window', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('CHATKOMODO_API_KEY'),
],
]);
print_r(json_decode((string) $res->getBody(), true));Response 200
{
"key": "uploads/abc123.jpg",
"value": "vip"
}Write a setting
PUT
/v1/settings/{key}Write a tenant setting. For send_window the body is {enabled, start, end, basis}; any other key takes its own JSON structure.
Path parameters
keystringrequired
Request body
enabledbooleanrequiredstartstringrequiredHH:MM, local timeendstringrequiredHH:MM, local timebasisstringrequiredbusiness= the profile timezone;recipient= the timezone of each recipient's country (derived from the number)
Responses
- 200Saved
Response fields
okbooleanrequired
- 400Validation error
Request
curl -X PUT "https://api.chatkomodo.com/v1/settings/send_window" \
-H "Authorization: Bearer $CHATKOMODO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"start": "09:00",
"end": "18:00",
"basis": "recipient"
}'const res = await fetch('https://api.chatkomodo.com/v1/settings/send_window', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.CHATKOMODO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"enabled": true,
"start": "09:00",
"end": "18:00",
"basis": "recipient"
}),
});
const data = await res.json();
if (!res.ok) throw new Error(`${data.code}: ${data.error}`);
console.log(data);import os
import requests
res = requests.put(
"https://api.chatkomodo.com/v1/settings/send_window",
headers={
"Authorization": f"Bearer {os.environ['CHATKOMODO_API_KEY']}",
},
json={
"enabled": True,
"start": "09:00",
"end": "18:00",
"basis": "recipient",
},
timeout=30,
)
res.raise_for_status()
print(res.json())<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$res = $client->request('PUT', 'https://api.chatkomodo.com/v1/settings/send_window', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('CHATKOMODO_API_KEY'),
],
'json' => [
'enabled' => true,
'start' => '09:00',
'end' => '18:00',
'basis' => 'recipient',
],
]);
print_r(json_decode((string) $res->getBody(), true));Response 200
{
"ok": true
}Reset a setting
DEL
/v1/settings/{key}Reset a tenant setting to its default.
Path parameters
keystringrequired
Responses
- 200Reset
Response fields
okbooleanrequired
Request
curl -X DELETE "https://api.chatkomodo.com/v1/settings/send_window" \
-H "Authorization: Bearer $CHATKOMODO_API_KEY"const res = await fetch('https://api.chatkomodo.com/v1/settings/send_window', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${process.env.CHATKOMODO_API_KEY}`,
},
});
const data = await res.json();
if (!res.ok) throw new Error(`${data.code}: ${data.error}`);
console.log(data);import os
import requests
res = requests.delete(
"https://api.chatkomodo.com/v1/settings/send_window",
headers={
"Authorization": f"Bearer {os.environ['CHATKOMODO_API_KEY']}",
},
timeout=30,
)
res.raise_for_status()
print(res.json())<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$res = $client->request('DELETE', 'https://api.chatkomodo.com/v1/settings/send_window', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('CHATKOMODO_API_KEY'),
],
]);
print_r(json_decode((string) $res->getBody(), true));Response 200
{
"ok": true
}