Appearance
Paginated triage table for component comments
GET
/components/{componentId}/comments
Returns paginated public comments on this component's rules, with triage status counts and filtering. Powers the triage page table and split-pane views. Supports filtering by status, section, rule, author, text search, and resolution state. Requires project membership.
Authorizations
cookieAuth
Type
API Key (cookie: _vulcan_session)
or
tokenAuth
Personal access token authentication. Send via Authorization header: Authorization: Token vulcan_xxx. Tokens are SHA-256 hashed server-side (never stored in plaintext). Scopes: read (GET), write (mutations), admin (everything). Create tokens via Settings → API Tokens in the web UI.
Type
HTTP (token)
Parameters
Query Parameters
triage_status
Filter comments by triage disposition. Defaults to "pending" — the triage table opens on undispositioned comments. Use "all" to return comments in any status.
Type
string
Valid values
"all""pending""concur""concur_with_comment""non_concur""duplicate""informational""needs_clarification""withdrawn""addressed_by"Example
"pending"Default
"pending"page
Page number for paginated results (1-based).
Type
integer
Example
1Minimum
1Default
1per_page
Number of items to return per page.
Type
integer
Example
25Minimum
1Maximum
1000Default
25section
Filter by requirement section (fixtext, check_content, etc.).
Type
string
Example
"fixtext"rule_id
Filter to comments on a specific rule.
Type
integer
Example
100author_id
Filter to comments by a specific author.
Type
integer
Example
42q
Full-text search across comment content.
Type
string
Example
"container image"resolved
Filter by resolved state (true/false/all).
Type
string
Valid values
"true""false""all"Example
"false"commentable_type
Restrict rows to comments on requirements ("rule") or on the component itself ("component"). Absent or any other value returns both.
Type
string
Valid values
"rule""component"Example
"rule"include_rule_content
Include rule content fields for split-pane triage view.
Type
string
Valid values
"true"Responses
Paginated comment rows with status counts
application/json
JSON "rows": [ { "id": 44, "commentable_type": "BaseRule", "rule_displayed_name": "CNTR-00-000050", "section": "fixtext", "author_name": "John Osborne", "author_email": "josborne@example.org", "comment": "This requirement needs clarification...", "triage_status": "pending", "created_at": "2026-05-19T16:15:00Z", "responses_count": 0, "reactions": { "up": 1, "down": 0 } } ], "pagination": { "page": 1, "per_page": 25, "total": 1, "total_comments": 10 }, "status_counts": { "pending": 10, "concur": 2 }
{
}