External audit webhooks Learn which kind of data is sent to external audit webhooks.
If you have an Exoguard Pro subscription , you can leverage external auditing features through custom webhooks outside of the Discord platform. Every time a command that may affect your server's security or configuration is executed, a JSON POST request is sent to your webhook.
Audit Log Object
Here are the JSON fields you can find in an audit log event's request body:
Field Type Description Full command name (example: config roles add
)
Partial guild object, with only the id
and name
fields
Timestamp at which the current audit log event was fired
Command arguments with their respective values, if any
Authentication status, only for commands that require it
Authentication failure reason, only when success
is false
Markdown-formatted string for additional command details
Either create
or update
, only for the enroll command
Fields marked with a question mark ?
are contextual, they will not always be present.
Example Events
Login (success)
Copy {
"command" : "login" ,
"success" : true ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724620785.892197 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Login (failure)
Copy {
"command" : "login" ,
"success" : false ,
"error" : "invalid_code" ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724620794.665614 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Login (failure, rate-limited)
Copy {
"command" : "login" ,
"success" : false ,
"error" : "invalid_code" ,
"details" : "**Warning:** user has failed authentication at least 3 times in 2 minutes." ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724620800.03748 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Logout
Copy {
"command" : "logout" ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724620789.882272 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Config roles add
Copy {
"command" : "config roles add" ,
"args" : {
"role" : "1201298127920046181" ,
"user" : "368771716140236802"
} ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724616060.967678 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Delete
Copy {
"command" : "delete" ,
"args" : {
"user" : "262700032262799382"
} ,
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724628609.820362 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}
Subscription redeem
Copy {
"command" : "subscription redeem" ,
"details": "**Voucher information:** Exoguard Pro (30 days) subscription **Subscription expiry:** <t:1729805047:D> at <t:1729805047:T>",
"author" : {
"avatar" : "39e2ed99424b085c44afac5f7d07f33c" ,
"clan" : null ,
"discriminator" : "0" ,
"global_name" : "Xenthys" ,
"id" : "368771716140236802" ,
"public_flags" : 4588160 ,
"username" : "xenthys"
} ,
"timestamp" : 1724629098.998002 ,
"guild" : {
"id" : 1201295802967019725 ,
"name" : "Exoguard HQ"
}
}