Skip to content

List issue suggestions

GET
/repos/{owner}/{repo}/issues/{issue_number}/suggestions

Lists the suggestions on an issue. A suggestion is an agent-proposed change to an issue’s type, labels, fields, assignees, or closed state that a maintainer can approve or dismiss.

By default only pending suggestions are returned. Use state=all to return suggestions in every state, or state=<state> to filter to a single state. Use action=<action> to return only suggestions for a specific change.

This endpoint is only available while the issue suggestions feature is enabled for the repository, and only supports issues, not pull requests.

Requires triage access to the repository.

API method documentation

owner
required
string

The account owner of the repository. The name is not case sensitive.

repo
required
string

The name of the repository without the .git extension. The name is not case sensitive.

issue_number
required
integer

The number that identifies the issue.

state
string
default: pending
Allowed values: pending applied approved dismissed replaced invalidated all

Filter suggestions by their state.

action
string
Allowed values: set_type add_label add_field add_assignee close_issue

Filter suggestions by the change they propose.

per_page
integer
default: 30

The number of results per page (max 100). For more information, see “Using pagination in the REST API.”

page
integer
default: 1

The page number of the results to fetch. For more information, see “Using pagination in the REST API.”

Response

Media typeapplication/json
Array<object>
Issue Suggestion

An agent-proposed change to an issue that a maintainer can approve or dismiss.

object
id
required

The unique identifier of the suggestion.

integer
issue_id
required

The unique identifier of the issue the suggestion applies to.

integer
action
required

The kind of change proposed.

string
Allowed values: set_type add_label add_field add_assignee close_issue
state
required

The suggestion’s lifecycle state.

string
Allowed values: pending applied approved dismissed replaced invalidated
target_id
required

The identifier of the target the change applies to (issue type, label, field, assignee, or duplicate issue), when applicable.

integer
nullable
target_value
required
One of:
string
rationale
required

The rationale the actor provided for the suggestion.

string
nullable
confidence
required

The actor’s confidence level in the suggestion.

string
nullable
Allowed values: LOW MEDIUM HIGH
actor_id
required

The unique identifier of the actor that proposed the suggestion.

integer
nullable
issue_event_id
required

The identifier of the timeline event created when the suggestion was approved, when applicable.

integer
nullable
resolved_by
required

The unique identifier of the user who approved or dismissed the suggestion.

integer
nullable
created_at
required

The time the suggestion was created.

string format: date-time
updated_at
required

The time the suggestion was last updated.

string format: date-time
Examples
Exampledefault
[
{
"id": 12,
"issue_id": 4567,
"action": "add_label",
"state": "pending",
"target_id": 208045946,
"target_value": null,
"rationale": "This looks like a bug report based on the stack trace in the description.",
"confidence": "HIGH",
"actor_id": 41898282,
"issue_event_id": null,
"resolved_by": null,
"created_at": "2026-06-01T14:20:00Z",
"updated_at": "2026-06-01T14:20:00Z"
},
{
"id": 13,
"issue_id": 4567,
"action": "set_type",
"state": "pending",
"target_id": 3,
"target_value": "Bug",
"rationale": "The report describes unexpected behaviour with reproduction steps.",
"confidence": "MEDIUM",
"actor_id": 41898282,
"issue_event_id": null,
"resolved_by": null,
"created_at": "2026-06-01T14:21:00Z",
"updated_at": "2026-06-01T14:21:00Z"
}
]
Link
string
Example
<https://api.github.com/resource?page=2>; rel="next", <https://api.github.com/resource?page=5>; rel="last"

Resource not found

Media typeapplication/json
Basic Error

Basic Error

object
message
string
documentation_url
string
url
string
status
string
Examplegenerated
{
"message": "example",
"documentation_url": "example",
"url": "example",
"status": "example"
}

Validation failed, or the endpoint has been spammed.

Media typeapplication/json
Validation Error

Validation Error

object
message
required
string
documentation_url
required
string
errors
Array<object>
object
resource
string
field
string
message
string
code
required
string
index
integer
value
One of:
string
nullable
Examplegenerated
{
"message": "example",
"documentation_url": "example",
"errors": [
{
"resource": "example",
"field": "example",
"message": "example",
"code": "example",
"index": 1,
"value": [
"example"
]
}
]
}