User testing
Cancel a window's generation
Releases a generation that is stuck pending. Idempotent against an already-finished one.
DELETE
/
projects
/
{projectId}
/
user-testing
/
scenarios
/
{scenarioId}
/
insights
Cancel a window's generation
curl --request DELETE \
--url https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"windowId": "<string>"
}
'import requests
url = "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights"
payload = { "windowId": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({windowId: '<string>'})
};
fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'windowId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights"
payload := strings.NewReader("{\n \"windowId\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"windowId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"windowId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"scenarioId": "<string>",
"projectId": "<string>",
"windowId": "<string>",
"canceled": true
}
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
ID of the hosted project that contains the server.
Scenario ID, as returned by publishing an environment or by the project's scenario reads.
Body
application/json
Which generation to cancel. In the body rather than the path because the recovery case this exists for — a window stuck pending — is precisely when you have the id and nothing else works.
Minimum string length:
1Was this page helpful?
⌘I
Cancel a window's generation
curl --request DELETE \
--url https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"windowId": "<string>"
}
'import requests
url = "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights"
payload = { "windowId": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({windowId: '<string>'})
};
fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'windowId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights"
payload := strings.NewReader("{\n \"windowId\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"windowId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/user-testing/scenarios/{scenarioId}/insights")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"windowId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"scenarioId": "<string>",
"projectId": "<string>",
"windowId": "<string>",
"canceled": true
}

