Bug reports
The Bug reports endpoints of the Kenso API.
File a bug report
/v1/bug-reportsbug-reports.createNeeds the bug_reports feature on your workspace. Until it is on, calls answer 404.
multipart/form-data. description (required, 1-10000 characters) is the user's own words, filed verbatim. source (required) is app_form, support_chat, ken_agent or mcp. Optional: title (120; else the first line of the description, cut to 80), summary (10000, an agent-written summary with steps to reproduce), clientName (100, the MCP client), pageUrl (2000), userAgent (500), diagnostics (20000, JSON text), transcript (60000, plain text), supportAttachmentIds (repeated, at most 5 of the caller's own support chat attachments) and files (repeated, at most 10 files of 25 MB each; programs and scripts are refused, such as .exe, .js, .sh, .py, .html, .svg, disk images like .iso and macro Office files like .xlsm). Each report is a new issue in Kenso's Linear Alerts project with every file uploaded into it; the reporter never sees a Linear id or URL. Answers 202{ status: received }. A bad field is 400 naming it, a file or request that is too large 413. Each report takes one unit of the caller's daily limit (20) and the workspace's (50): past either, 429quota_exceeded with Retry-After and quotaResetAt. 503 when Linear is not configured or refused a file or the issue; nothing is filed then. Any workspace member, Client seats included.
Parameters
400 workspace_required).Request body
multipart/form-data, optional.
description, cut to 80 characters.app_form, support_chat, ken_agent or mcp.User: ... / Assistant: ...).Response 202
data is a BugReportReceiptModel.
received.curl -X POST "https://api.ken.so/v1/bug-reports" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \ -F 'Description=string' \ -F 'Title=string' \ -F 'Summary=string' \ -F 'Source=string' \ -F 'ClientName=string' \ -F 'PageUrl=https://example.com' \ -F 'UserAgent=string' \ -F 'Diagnostics=string' \ -F 'Transcript=string' \ -F 'SupportAttachmentIds=["string"]' \ -F 'Files=["<binary>"]'
{
"success": true,
"data": {
"status": "string"
}
}