Actions

The Actions endpoint allows you to request Bugpilot reports from your end users.

Prerequisites

To successfully execute a Bugpilot action:

  1. You need to set up user identification and send either a user ID or an email to Bugpilot.

  2. In Bugpilot API Settings, make sure the Always connect Action WebSockets, is selected. It is not selected by default.

  3. The end-user needs to be online on one of your pages at the time you call the API. If the user is not online, the requests will fail with an USER_NOT_CONNECTED error.

Available actions

This table lists the operations that can be performed using this API endpoint.

Action nameDescription

show-recording-ui

Shows a UI to the user that can be used to submit up to 60 seconds of screen recording. The user will see a recording frame and a button to stop the recording earlier.

upload-screenshot

Requests a Bugpilot report with a screenshot of the page the user is currently seeing. No UI will be shown to the user when performing this action.

upload-session

Requests a Bugpilot report with a recording of the last 5-10 minutes of user activity. No UI will be shown to the user when performing this action.

Endpoints

Executes an action on the end-users

POST https://widget-api.bugpilot.io/api/v1/action

See Available Actions for the list of actions you can perform with this endpoint.

Headers

NameTypeDescription

user-agent*

string

Bugpilot API Client/1.0

x-bugpilot-api-key*

string

The Workspace API Key that you can find in your Bugpilot dashboard.

content-type*

string

application/json

Request Body

NameTypeDescription

workspaceId*

string

The ID of your workspace. You can find it in your Bugpilot dashboard.

userId*

string

The ID (or email) of the end-user which Bugpilot will perform the specified action on.

The user ID must match the user ID you pass to the Bugpilot.identify() method on the client.

action*

string

Action you want Bugpilot to perform on the end-user. Must be one of the Available Actions listed above.

userProvidedDescription

String

An optional string containing a description text. It will be saved in the report object and shown on the report page under the Notes section.

The response contains ok: true if it is successful. In any case, a sessionInfoUrl property is included. Refer to the Session Info API reference for further information.

{
    "ok": true,
    "message": "The request has been sent to the client",
    "ts": 1669738581021,
    "sessionInfoUrl": "https://widget-api.bugpilot.io/api/v1/session-info/*****/*****"
}

Example

curl \
  -X POST \
  -H "Content-Type: application/json" \
  -H "User-Agent: Bugpilot API Client/1.0" \
  -H "X-Bugpilot-Api-Key: <ID FROM BUGPILOT API SETTINGS>" \
  -d '{
    "workspaceId": "<WORKSPACE ID FROM BUGPILOT API SETTINGS>",
    "userId": "end-user-id",
    "action": "upload-session"
  }' \
  https://widget-api.bugpilot.io/api/v1/action

Last updated