GitHub Issues API
The GitHub Issues API lets you programmatically manage issue tracking on GitHub, enabling you to list and filter issues across repositories, create and edit issues, change their state (open/closed), and manage assignees, labels, and milestones. It supports adding, updating, and deleting comments; applying reactions; locking or unlocking conversations; and viewing issue events and timelines for auditing and automation.
Operations 40
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
GET
/issues
List my issues across every repository I can see · GitHub List Issues Assigned to the Authenticated User
#
Ask an LLM
“What issues are assigned to me across all my repos, including organization repositories?”
“Can I see every issue I created or was mentioned in, across all the repositories I can access?”
Tell an agent
List every open issue assigned to me across all repositories I can see, including organization repos.
Show issues everywhere I have access to with filter {filter} and state {state}.
GET
/orgs/{org}/issues
List my issues in one organization · GitHub List Organization Issues Assigned to the Authenticated User
#
Ask an LLM
“Which issues in a single organization are assigned to me?”
“Can I narrow my assigned issues down to just one org's repositories?”
Tell an agent
List the issues assigned to me in the {org} organization.
Show my {state} issues in org {org} with label {labels}.
GET
/repos/{owner}/{repo}/assignees
List who can be assigned issues in a repository · GitHub List Assignees
#
Ask an LLM
“Who are the available assignees for issues in a repository?”
“Which people can I hand issues to in this repo?”
Tell an agent
List the available assignees for {owner}/{repo}.
Show everyone I could assign issues to in the {repo} repo owned by {owner}.
GET
/repos/{owner}/{repo}/assignees/{assignee}
Check if a user can be assigned issues in a repo · GitHub Check if a User Can Be Assigned
#
Ask an LLM
“Does a given user have permission to be assigned issues in this repository at all?”
“Can I confirm someone is an eligible assignee for a repo before I assign them anything?”
Tell an agent
Check whether {assignee} can be assigned issues in {owner}/{repo}.
Verify that user {assignee} is an allowed assignee for repository {repo} under {owner}.
Ask an LLM
“How do I list the open issues in one specific repository?”
“Can I filter a repo's issues by milestone, assignee, creator or who was mentioned?”
Tell an agent
List the open issues in {owner}/{repo}.
Show issues in {owner}/{repo} assigned to {assignee} with label {labels}.
Ask an LLM
“How do I file a new issue in a repository through the API?”
“Can I set assignees, labels and a milestone at the moment I open an issue?”
Tell an agent
Open an issue in {owner}/{repo} titled {title}.
File a new issue in {owner}/{repo} titled {title} with description {body} and labels {labels}.
GET
/repos/{owner}/{repo}/issues/comments
List issue comments across a whole repository · GitHub List Issue Comments for a Repository
#
Ask an LLM
“What comments have been left on issues and pull requests across an entire repository?”
“Can I pull every issue comment in a repo posted since a certain date?”
Tell an agent
List all issue and pull request comments in {owner}/{repo}.
Show every issue comment across repository {owner}/{repo} since {since}.
GET
/repos/{owner}/{repo}/issues/comments/{comment_id}
Get one issue comment by its id · GitHub Get an Issue Comment
#
Ask an LLM
“How can I look up a single issue comment when I only have its comment id?”
“What did one particular comment on an issue say?”
Tell an agent
Get issue comment {comment_id} in {owner}/{repo}.
Show me the text and author of comment {comment_id} from {owner}/{repo}.
PATCH
/repos/{owner}/{repo}/issues/comments/{comment_id}
Edit an existing issue comment · GitHub Update an Issue Comment
#
Ask an LLM
“Can I edit the text of an issue comment after it has been posted?”
“What's the way to fix a typo in a comment I already left on an issue?”
Tell an agent
Change issue comment {comment_id} in {owner}/{repo} to read {body}.
Edit my existing comment {comment_id} on {owner}/{repo} so it says {body}.
DELETE
/repos/{owner}/{repo}/issues/comments/{comment_id}
Delete an issue comment · GitHub Delete an Issue Comment
#
Ask an LLM
“Can I remove a comment someone posted on an issue or pull request?”
“How do I delete an issue comment I no longer want visible?”
Tell an agent destructive · confirm first
Delete issue comment {comment_id} in {owner}/{repo}.
Remove the comment {comment_id} from the issue thread in {owner}/{repo}.
GET
/repos/{owner}/{repo}/issues/events
List issue events across a repository · GitHub List Issue Events for a Repository
#
Ask an LLM
“What issue activity events (closed, labeled, assigned) have happened across a whole repository?”
“Can I audit issue events for every issue in a repo at once?”
Tell an agent
List issue events for all issues in {owner}/{repo}.
Show the repository-wide issue event log for {owner}/{repo}, {per_page} per page.
GET
/repos/{owner}/{repo}/issues/events/{event_id}
Get a single issue event · GitHub Get an Issue Event
#
Ask an LLM
“What exactly happened in one issue event when I have its event id?”
“Can I fetch the details of a single issue event by id?”
Tell an agent
Get issue event {event_id} in {owner}/{repo}.
Show details of event {event_id} from the issues of {owner}/{repo}.
Ask an LLM
“How do I fetch the details of one issue by its number?”
“What happens when I request an issue that was transferred to another repository?”
Tell an agent
Get issue #{issue_number} in {owner}/{repo}.
Show me the title, state and body of issue {issue_number} from {owner}/{repo}.
PATCH
/repos/{owner}/{repo}/issues/{issue_number}
Edit, close or reopen an issue · GitHub Update an Issue
#
Ask an LLM
“Can I close an issue and record why it was closed, like completed or not planned?”
“What's the way to rename an issue or change its body after it's filed?”
Tell an agent
Close issue #{issue_number} in {owner}/{repo} with reason {state_reason}.
Rename issue {issue_number} in {owner}/{repo} to {title}.
POST
/repos/{owner}/{repo}/issues/{issue_number}/assignees
Add assignees to an issue · GitHub Add Assignees to an Issue
#
Ask an LLM
“How do I add more people to an issue without removing who's already assigned?”
“What's the maximum number of assignees I can add to an issue in one call?”
Tell an agent
Add {assignees} as assignees on issue #{issue_number} in {owner}/{repo}.
Also assign {assignees} to issue {issue_number} in {owner}/{repo}, keeping current assignees.
DELETE
/repos/{owner}/{repo}/issues/{issue_number}/assignees
Remove assignees from an issue · GitHub Remove Assignees from an Issue
#
Ask an LLM
“Can I unassign specific people from an issue?”
“What's the way to take someone off an issue they're no longer working on?”
Tell an agent destructive · confirm first
Remove {assignees} from issue #{issue_number} in {owner}/{repo}.
Unassign {assignees} from issue {issue_number} on {owner}/{repo}.
GET
/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}
Check if a user can be assigned to a specific issue · GitHub Check if a User Can Be Assigned to a Issue
#
Ask an LLM
“Is a particular user allowed to be assigned to this one issue?”
“Can I verify assignment permission for someone on a specific issue number?”
Tell an agent
Check whether {assignee} can be assigned to issue #{issue_number} in {owner}/{repo}.
Confirm that {assignee} has permission to take issue {issue_number} in {owner}/{repo}.
GET
/repos/{owner}/{repo}/issues/{issue_number}/comments
List the comments on one issue · GitHub List Issue Comments
#
Ask an LLM
“What has been said in the comment thread of a particular issue?”
“Can I get only the comments on an issue posted after a certain time?”
Tell an agent
List the comments on issue #{issue_number} in {owner}/{repo}.
Show comments on issue {issue_number} of {owner}/{repo} since {since}.
POST
/repos/{owner}/{repo}/issues/{issue_number}/comments
Comment on an issue or pull request · GitHub Create an Issue Comment
#
Ask an LLM
“How do I post a comment on an issue through the API?”
“Can I leave a regular conversation comment on a pull request using the issues endpoints?”
Tell an agent
Comment {body} on issue #{issue_number} in {owner}/{repo}.
Post a new comment saying {body} on the conversation of #{issue_number} in {owner}/{repo}.
GET
/repos/{owner}/{repo}/issues/{issue_number}/events
List the events on one issue · GitHub List Issue Events
#
Ask an LLM
“Who labeled, assigned or closed a specific issue, and when?”
“Can I see the event history for a single issue?”
Tell an agent
List the events on issue #{issue_number} in {owner}/{repo}.
Show who changed issue {issue_number} in {owner}/{repo} and what they did.
GET
/repos/{owner}/{repo}/issues/{issue_number}/labels
List the labels on an issue · GitHub List Labels for an Issue
#
Ask an LLM
“Which labels are currently applied to a given issue?”
“What tags does this one issue carry right now?”
Tell an agent
List the labels on issue #{issue_number} in {owner}/{repo}.
Show what labels issue {issue_number} in {owner}/{repo} currently has.
POST
/repos/{owner}/{repo}/issues/{issue_number}/labels
Add labels to an issue · GitHub Add Labels to an Issue
#
Ask an LLM
“How do I tag an issue with extra labels while keeping the ones it has?”
“What happens if I send an empty label list when adding labels to an issue?”
Tell an agent
Add labels to issue #{issue_number} in {owner}/{repo} without removing existing ones.
Append more labels onto issue {issue_number} in {owner}/{repo}.
PUT
/repos/{owner}/{repo}/issues/{issue_number}/labels
Replace all labels on an issue · GitHub Set Labels for an Issue
#
Ask an LLM
“Can I overwrite an issue's labels so only a new set remains?”
“What's the way to swap out every existing label on an issue in one go?”
Tell an agent
Replace all labels on issue #{issue_number} in {owner}/{repo} with a new set.
Clear the previous labels on issue {issue_number} in {owner}/{repo} and set fresh ones.
DELETE
/repos/{owner}/{repo}/issues/{issue_number}/labels
Remove every label from an issue · GitHub Remove All Labels from an Issue
#
Ask an LLM
“Can I strip all labels off an issue at once?”
“Is there a single call that leaves an issue with no labels at all?”
Tell an agent destructive · confirm first
Remove all labels from issue #{issue_number} in {owner}/{repo}.
Wipe every label off issue {issue_number} on {owner}/{repo}.
DELETE
/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
Remove one label from an issue · GitHub Remove a Label from an Issue
#
Ask an LLM
“How do I take a single named label off an issue and keep the rest?”
“What does the API return if the label I try to remove isn't on the issue?”
Tell an agent destructive · confirm first
Remove the {name} label from issue #{issue_number} in {owner}/{repo}.
Take label {name} off issue {issue_number} on {owner}/{repo} and show the labels left.
PUT
/repos/{owner}/{repo}/issues/{issue_number}/lock
Lock an issue's conversation · GitHub Lock an Issue
#
Ask an LLM
“Can I lock a heated issue or pull request conversation so no one else can comment?”
“Which reasons can I give when locking a conversation, like off-topic or resolved?”
Tell an agent
Lock the conversation on issue #{issue_number} in {owner}/{repo}.
Lock issue {issue_number} in {owner}/{repo} with reason {lock_reason}.
DELETE
/repos/{owner}/{repo}/issues/{issue_number}/lock
Unlock an issue's conversation · GitHub Unlock an Issue
#
Ask an LLM
“How do I reopen a locked issue conversation so people can comment again?”
“Can I lift the lock on an issue thread?”
Tell an agent destructive · confirm first
Unlock the conversation on issue #{issue_number} in {owner}/{repo}.
Allow comments again on locked issue {issue_number} in {owner}/{repo}.
GET
/repos/{owner}/{repo}/issues/{issue_number}/timeline
Get the full timeline of an issue · GitHub List Timeline Events for an Issue
#
Ask an LLM
“Can I see an issue's complete timeline, including cross-references and comments, in order?”
“What's the full chronological story of everything that happened on an issue?”
Tell an agent
Show the timeline of issue #{issue_number} in {owner}/{repo}.
List all timeline events for issue {issue_number} on {owner}/{repo}, {per_page} per page.
GET
/repos/{owner}/{repo}/labels
List all labels defined in a repository · GitHub List Labels for a Repository
#
Ask an LLM
“Which labels are defined in a repository that I could apply to issues?”
“What label set does this repo use?”
Tell an agent
List all labels in {owner}/{repo}.
Show every label available in the {repo} repository owned by {owner}.
Ask an LLM
“How do I add a new label with a color to a repository?”
“Can I give a new repo label a description when I create it?”
Tell an agent
Create a label {name} in {owner}/{repo} with color {color}.
Add a new label {name} to {owner}/{repo} described as {description}.
Ask an LLM
“What color and description does a specific label in a repo have?”
“Does a label with a given name exist in this repository?”
Tell an agent
Get the {name} label from {owner}/{repo}.
Show the color and description of label {name} in {owner}/{repo}.
PATCH
/repos/{owner}/{repo}/labels/{name}
Rename or recolor a repository label · GitHub Update a Label
#
Ask an LLM
“How do I rename an existing label in a repository?”
“Can I change a label's color or description without recreating it?”
Tell an agent
Rename label {name} in {owner}/{repo} to {new_name}.
Change the color of existing label {name} in {owner}/{repo} to {color}.
DELETE
/repos/{owner}/{repo}/labels/{name}
Delete a label from a repository · GitHub Delete a Label
#
Ask an LLM
“Can I delete a label entirely from a repository, not just from one issue?”
“What's the way to retire a label a repo no longer uses?”
Tell an agent destructive · confirm first
Delete the {name} label from repository {owner}/{repo}.
Permanently remove label {name} from the label set of {owner}/{repo}.
Ask an LLM
“Which milestones does a repository have, open or closed?”
“Can I sort a repo's milestones by due date or completeness?”
Tell an agent
List the open milestones in {owner}/{repo}.
Show {state} milestones in {owner}/{repo} sorted by {sort}.
POST
/repos/{owner}/{repo}/milestones
Create a milestone in a repository · GitHub Create a Milestone
#
Ask an LLM
“How do I set up a new milestone with a due date for a release?”
“Can I add a description when creating a repo milestone?”
Tell an agent
Create a milestone {title} in {owner}/{repo}.
Add milestone {title} to {owner}/{repo} due on {due_on}.
GET
/repos/{owner}/{repo}/milestones/{milestone_number}
Get a milestone by its number · GitHub Get a Milestone
#
Ask an LLM
“What's the due date and progress of one particular milestone?”
“Can I look up a milestone's details by its number?”
Tell an agent
Get milestone {milestone_number} in {owner}/{repo}.
Show the due date and open issue count for milestone {milestone_number} of {owner}/{repo}.
PATCH
/repos/{owner}/{repo}/milestones/{milestone_number}
Update, close or reschedule a milestone · GitHub Update a Milestone
#
Ask an LLM
“How can I push back a milestone's due date?”
“Can I close a milestone or rename it after it's created?”
Tell an agent
Move the due date of milestone {milestone_number} in {owner}/{repo} to {due_on}.
Set milestone {milestone_number} in {owner}/{repo} to state {state}.
DELETE
/repos/{owner}/{repo}/milestones/{milestone_number}
Delete a milestone · GitHub Delete a Milestone
#
Ask an LLM
“Can I delete a milestone that's no longer needed?”
“What's the way to get rid of an obsolete milestone in a repo?”
Tell an agent destructive · confirm first
Delete milestone {milestone_number} from {owner}/{repo}.
Permanently remove milestone number {milestone_number} in {owner}/{repo}.
GET
/repos/{owner}/{repo}/milestones/{milestone_number}/labels
List labels used by issues in a milestone · GitHub List Labels for Issues in a Milestone
#
Ask an LLM
“Which labels appear on the issues inside a given milestone?”
“What kinds of work (by label) make up a milestone?”
Tell an agent
List the labels on issues in milestone {milestone_number} of {owner}/{repo}.
Show which labels are used across milestone {milestone_number} in {owner}/{repo}.
GET
/user/issues
List my issues in owned and member repos only · GitHub List User Account Issues Assigned to the Authenticated User
#
Ask an LLM
“Which of my assigned issues come only from repos I own or am a member of, leaving out org repos?”
“Can I list my personal-account issues without pulling in organization repositories?”
Tell an agent
List my assigned issues from repositories I own or am a member of, excluding org repos.
Show my user-account issues with filter {filter}, state {state}, sorted by {sort}.
Documentation
Specifications
Schemas & Data
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-issue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-simple-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-issue-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-milestone-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-issue-comment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-timeline-issue-events-schema.json