curl --request PATCH \
--url https://quark.bot/api/servers/{guild_id}/config/logging/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"spoilers": true,
"pluralkit_integration": true,
"pro_promotions": true,
"ignore_bot_targets": true,
"ignore_bot_executors": true,
"buttons": [],
"active_ignore": true,
"modlog_lock_after": 15768000,
"log_name": "<string>",
"log_avatar": "<string>",
"log_profile_overrides": {}
}
'import requests
url = "https://quark.bot/api/servers/{guild_id}/config/logging/settings"
payload = {
"spoilers": True,
"pluralkit_integration": True,
"pro_promotions": True,
"ignore_bot_targets": True,
"ignore_bot_executors": True,
"buttons": [],
"active_ignore": True,
"modlog_lock_after": 15768000,
"log_name": "<string>",
"log_avatar": "<string>",
"log_profile_overrides": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spoilers: true,
pluralkit_integration: true,
pro_promotions: true,
ignore_bot_targets: true,
ignore_bot_executors: true,
buttons: [],
active_ignore: true,
modlog_lock_after: 15768000,
log_name: '<string>',
log_avatar: '<string>',
log_profile_overrides: {}
})
};
fetch('https://quark.bot/api/servers/{guild_id}/config/logging/settings', 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://quark.bot/api/servers/{guild_id}/config/logging/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'spoilers' => true,
'pluralkit_integration' => true,
'pro_promotions' => true,
'ignore_bot_targets' => true,
'ignore_bot_executors' => true,
'buttons' => [
],
'active_ignore' => true,
'modlog_lock_after' => 15768000,
'log_name' => '<string>',
'log_avatar' => '<string>',
'log_profile_overrides' => [
]
]),
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://quark.bot/api/servers/{guild_id}/config/logging/settings"
payload := strings.NewReader("{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://quark.bot/api/servers/{guild_id}/config/logging/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://quark.bot/api/servers/{guild_id}/config/logging/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<string>"
}{}{
"error": "<string>"
}{}{}Update logging options
Changes server-wide logging options. Include only the fields you want to change.
format_type needs Quark Pro or Pro Lite and is rejected without it. ignore_bot_targets and ignore_bot_executors are saved on any plan but only take effect on Quark Pro or Pro Lite. On the free plan, actions by or to bots are not logged. log_name, log_avatar and log_profile_overrides need Quark Pro or Pro Lite and are rejected with 403 without it. Any of the three can be sent alone: the others keep what is stored. A name Discord would refuse is rejected with 400 and the reason, naming the channel for an entry in log_profile_overrides. Nothing is changed when a request is rejected.
curl --request PATCH \
--url https://quark.bot/api/servers/{guild_id}/config/logging/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"spoilers": true,
"pluralkit_integration": true,
"pro_promotions": true,
"ignore_bot_targets": true,
"ignore_bot_executors": true,
"buttons": [],
"active_ignore": true,
"modlog_lock_after": 15768000,
"log_name": "<string>",
"log_avatar": "<string>",
"log_profile_overrides": {}
}
'import requests
url = "https://quark.bot/api/servers/{guild_id}/config/logging/settings"
payload = {
"spoilers": True,
"pluralkit_integration": True,
"pro_promotions": True,
"ignore_bot_targets": True,
"ignore_bot_executors": True,
"buttons": [],
"active_ignore": True,
"modlog_lock_after": 15768000,
"log_name": "<string>",
"log_avatar": "<string>",
"log_profile_overrides": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spoilers: true,
pluralkit_integration: true,
pro_promotions: true,
ignore_bot_targets: true,
ignore_bot_executors: true,
buttons: [],
active_ignore: true,
modlog_lock_after: 15768000,
log_name: '<string>',
log_avatar: '<string>',
log_profile_overrides: {}
})
};
fetch('https://quark.bot/api/servers/{guild_id}/config/logging/settings', 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://quark.bot/api/servers/{guild_id}/config/logging/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'spoilers' => true,
'pluralkit_integration' => true,
'pro_promotions' => true,
'ignore_bot_targets' => true,
'ignore_bot_executors' => true,
'buttons' => [
],
'active_ignore' => true,
'modlog_lock_after' => 15768000,
'log_name' => '<string>',
'log_avatar' => '<string>',
'log_profile_overrides' => [
]
]),
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://quark.bot/api/servers/{guild_id}/config/logging/settings"
payload := strings.NewReader("{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://quark.bot/api/servers/{guild_id}/config/logging/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://quark.bot/api/servers/{guild_id}/config/logging/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spoilers\": true,\n \"pluralkit_integration\": true,\n \"pro_promotions\": true,\n \"ignore_bot_targets\": true,\n \"ignore_bot_executors\": true,\n \"buttons\": [],\n \"active_ignore\": true,\n \"modlog_lock_after\": 15768000,\n \"log_name\": \"<string>\",\n \"log_avatar\": \"<string>\",\n \"log_profile_overrides\": {}\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<string>"
}{}{
"error": "<string>"
}{}{}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The server's ID. Must be the server the token was created for.
^\d{17,20}$"301655085954367490"
Query Parameters
Set to pro to act on the Quark Pro bot's configuration. Leave out for the main Quark bot.
pro Body
Mark re-posted files as spoilers.
Turn PluralKit compatibility on or off.
Allow a note in logs when part of a log needs Quark Pro.
Do not log actions done to bots.
Do not log actions done by bots.
0 is Standard, 1 is Compact, 2 is Standard (no embed), 3 is Compact (no embed). Needs Quark Pro or Pro Lite.
0, 1, 2, 3 The standard buttons to show on logs. Replaces the current set. 0 is User ID, 1 is Support Server, 2 is Customise.
0, 1, 2 Turn Active Ignore on or off for every log type. While it is on, each log is held for about three seconds before it is sent. See the Active Ignore endpoints.
How long a modlog's reason can be edited, in whole seconds after the modlog was posted. null for always editable, 0 for never editable. The dashboard offers 3600, 86400, 604800 and 2592000. The largest value accepted is 31536000 (one year).
0 <= x <= 31536000The name logs are posted under. null or empty for Quark's name. Up to 80 characters, without "discord" or "clyde", not "everyone" or "here", and without @, #, :, ``` or invisible characters. Needs Quark Pro or Pro Lite.
80The avatar: "quark" for Quark's, "icon" for the server's icon, "emoji:" for one of the server's custom emojis, "role:" for a role's icon, or "preset:" for one of Quark's pictures (quark-purple, quark-blue, quark-green, quark-orange, quark-red, quark-grey, shield, gavel, eye, bell, scroll, message, members, voice). 0 and 1 are read as "quark" and "icon". An emoji or role that is gone when a log is sent gives Quark's picture. Needs Quark Pro or Pro Lite.
^(quark|icon|emoji:\d{17,20}|role:\d{17,20}|preset:[a-z0-9-]{1,24})$Each log channel's own name and avatar, keyed by channel ID, over log_name and log_avatar. Replaces every log channel's current setting. A field that is null follows the server's setting. Up to 150 channels. Needs Quark Pro or Pro Lite.
Show child attributes
Show child attributes
Response
Accepted.
An empty object.
Was this page helpful?

