Skip to main content

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_missing reports 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 /validate and 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 →