Changing report status
Safely automate report status changes with concurrency and idempotency controls.
Changing report status
Use POST /report/update-status with the reports:status:write scope. Status
changes run through the same BugBase status controller as the platform, so the
same reporter and company emails, comments, feeds, webhooks, Slack, Teams,
GitHub, Jira, Linear, Sumologic, and reputation behavior applies.
Safe request pattern
Every request must include:
Idempotency-Key: a unique client-generated value for one logical change.expectedStatus: the status your integration most recently read.
curl --request POST 'https://api.bugbase.ai/report/update-status' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $BUGBASE_API_KEY" \
--header "Idempotency-Key: status-example-report-$(date +%s)" \
--data '{
"programId": "000000000000000000000000",
"reportSlug": "EXAMPLE-REPORT-SLUG",
"expectedStatus": "new",
"transition": "triage"
}'If another actor changed the report after you read it, the API returns 409
instead of overwriting that change. Retry a transport failure with the same body
and idempotency key. A successful retry replays the original result without
repeating side effects.
Transitions
| Transition | Additional fields |
|---|---|
triage | None |
mark_invalid | reasonInvalid required; label may be spam or not_applicable |
mark_duplicate | Exactly one mode: same-company/same-asset duplicateId, or multipart refId plus one JPG/PNG proof smaller than 5 MiB |
mark_informational | Optional thanks |
mark_resolved | rating from 1–5 required; optional details, feedback, and thanks |
request_more_info | None |
request_program_review | None |
The duplicateId mode may use JSON or multipart form data. The refId mode
requires multipart form data because it includes the proof image.
Duplicate an externally known issue
Use the multipart mode when the original issue is tracked outside BugBase, for
example in Jira or Linear:
curl --request POST 'https://api.bugbase.ai/report/update-status' \
--header "Authorization: Bearer $BUGBASE_API_KEY" \
--header "Idempotency-Key: duplicate-example-$(date +%s)" \
--form 'programId=000000000000000000000000' \
--form 'reportSlug=EXAMPLE-REPORT-SLUG' \
--form 'expectedStatus=new' \
--form 'transition=mark_duplicate' \
--form 'refId=JIRA-123' \
--form '[email protected];type=image/png'Do not send duplicateId together with refId or image. Retries using the
same idempotency key must use the same reference and proof bytes.
refId records the external issue reference on the BugBase report; it does not
create, attach, or update a Jira or Linear issue.
Status changes are limited to 10 requests per minute per company. If the first
request is still running, wait briefly and retry the same body and key.
Updated 4 months ago
