Support Mode — Diagnostic Log REST API
REST endpoint for sending a diagnostic log snapshot to Benecaster support.
Base path: benecaster/v1/tools/support-mode
POST /benecaster/v1/tools/support-mode/send-diagnostic-log
Bundles recent benecaster_debug_log entries and plugin metadata into a gzipped snapshot and POSTs it to the Benecaster license server. Returns a reference identifier the customer can quote when contacting support.
Auth: manage_options + X-WP-Nonce
Request body: None required.
Response — success (200):
{
"sent": true,
"id": "DIAG-20260621-A3F9"
}
Error responses:
| Code | Reason |
|---|---|
400 support_mode_off |
Support Mode is not currently active. The button should be disabled in the UI in this state. |
400 license_key_missing |
No show on this site is connected to Benecaster, so there is no site token to authenticate the outbound request with. Message: “No show on this site is connected to Benecaster. Connect a show before sending a diagnostic log.” |
502 send_failed |
The license server POST failed or returned a non-2xx response. |
license_key_missingreports that no show on this site is connected — it is not about a license key. Sending the log authenticates on a per-show site token, the same credential/validateand every other outbound request uses, and refuses only when the install holds none. Any one connected show is enough. Connect a show to clear it.
Field Notes
id — The server-issued reference identifier. The license server may return this as any of id, log_id, or diagnostic_log_id; the plugin accepts whichever key is present and surfaces it as id in the response.
Snapshot contents — The snapshot includes: the most recent N entries from benecaster_debug_log (N controlled by the benecaster_support_mode_log_limit filter; default 200), plus plugin version, PHP version, WP version, site URL, and active bridge slugs. The raw site token is never included — the request is authenticated by the bearer token, and the server resolves the customer record from it. The body carries no credential of any kind: host metadata and log entries only. No episode content, subscriber data, or payment information is sent.
Fire-once — This endpoint never fires automatically. No data leaves the site until explicitly called.
See Also
Need this built rather than just documented? See our services →