Skip to main content

Overview

Burst Statistics exposes a custom beacon endpoint and a set of WordPress REST API routes under the burst/v1 namespace.

Using the REST API to get data​

If you are connecting Burst to an external tool (AI workflow, BI dashboard, ETL pipeline), start with these two endpoints:

Both endpoints support Application Password authentication, making them suitable for server-to-server use without a browser session. See Authentication for setup instructions.

The remaining endpoints (do_action, get_action, goals, fields, etc.) are primarily used by the Burst admin dashboard and are documented in Admin endpoints.

Endpoints​

EndpointMethodAuthPermission
{site}/burst-statistics/endpoint.phpPOSTNonePublic
burst/v1/trackPOSTNonePublic
burst/v1/menuGETNoncemanage
burst/v1/fields/getGETNoncemanage
burst/v1/fields/setPOSTNoncemanage
burst/v1/options/setPOSTNoncemanage
burst/v1/goals/getGETNonceview
burst/v1/goals/addPOSTNoncemanage
burst/v1/goals/setPOSTNoncemanage
burst/v1/goals/deletePOSTNoncemanage
burst/v1/goals/add_predefinedPOSTNoncemanage
burst/v1/data/{type}GETNonceview
burst/v1/data/ecommerce/{type}GETNonceview_sales
burst/v1/do_action/{action}POSTNoncemanage
burst/v1/get_action/{action}GETNonceview
burst/v1/import/upload/initPOSTNoncemanage
burst/v1/import/upload/chunkPOSTNoncemanage
burst/v1/import/upload/finalizePOSTNoncemanage
burst/v1/posts/GETNoncemanage
burst/v1/mainwp-authPOSTRSA signaturePublic*

Typed routes​

Four of the routes above take a trailing segment that selects what they return or do. The reference pages list every registered value.

RouteWhat the segment selectsReference
burst/v1/data/{type}An analytics data type, for example compare, not_found_pages or not_found_page_referrersData endpoints
burst/v1/data/ecommerce/{type}A sales data type, for example sales or sales-funnelEcommerce endpoints
burst/v1/do_action/{action}A write action, for example reset, start_import or slack_testAdmin endpoints
burst/v1/get_action/{action}A read action, for example export_statusAdmin endpoints

A data type may accept arguments beyond the shared date_start, date_end and filters. The not_found_page_referrers type, for example, requires page_url so it knows which 404 page to report referrers for. Those extra arguments are registered through the burst_get_data_available_args filter, documented in the Filters reference.

Permission levels​

LevelCapabilityWho has it
managemanage_burst_statisticsAdministrators
viewview_burst_statisticsAdministrators and burst_viewer role holders accessing a share link
view_salesview_sales_burst_statisticsPro only; granted separately from view. Share link viewers require sales in the token's shared_tabs list

Import uploads​

Importing an analytics export is a three-call sequence on the burst/v1/import/upload/* routes. All three require manage_burst_statistics.

RouteBodyReturns
import/upload/initJSON: filename, filesize, total_chunksupload_id (32 hex characters) and chunk_size (4 MB)
import/upload/chunkMultipart: file, plus upload_id and chunk_indexchunk_index of the stored part
import/upload/finalizeJSON: upload_idupload_id, filename and filesize of the assembled file

Accepted extensions are csv, sql, gz, sql.gz, zip, json and ndjson; anything else is rejected with a 400 by init and again by finalize. Each init call purges the sandboxes of earlier uploads, so only one upload file exists at a time. finalize hashes the assembled file and rejects it with a 400 when an import with the same hash already ran.

The upload_id returned by finalize is what you pass to the start_import action on burst/v1/do_action/{action}.

Export downloads​

Exports are created and polled through the do_action / get_action routes (export_start, export_chunk, export_status), but the finished archive is not served over REST. The download URL returned by those actions points at admin-post.php:

Show code
admin_url(
'admin-post.php?action=burst_export_download&export_id=' . rawurlencode( $export_id )
. '&_wpnonce=' . wp_create_nonce( 'burst_export_download_' . $export_id )
);

The handler verifies manage_burst_statistics plus the export-specific nonce, then streams the file with a Content-Disposition: attachment header. Because it is a browser download rather than a REST response, it needs a logged-in admin session and cannot be fetched with an Application Password.