How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Forgejo issue API

The issue API from Forgejo — 33 operation(s) for issue.

Forgejo issue API is one of 10 APIs that Forgejo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Issue. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 67 operations across 33 paths, and defines 37 schemas. It is described by OpenAPI 2.0, at version 16.0.0-dev-465-4b83448b7d+gitea-1.22.0.

Requests are made against the base URL https://code.forgejo.org/api/v1.

67 operations 33 paths 37 schemas 18 DELETE23 GET8 PATCH16 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
API Version
16.0.0-dev-465-4b83448b7d+gitea-1.22.0
Base URL
https://code.forgejo.org/api/v1
Authentication
API Key, basic, API Key, API Key, API Key
Resource Areas
1

Authentication & Security 5

Forgejo issue API declares 5 security schemes for authenticating requests. An API key is passed in the header as Authorization (AuthorizationHeaderToken). It defines a basic scheme (BasicAuth). An API key is passed in the header as Sudo (SudoHeader). An API key is passed in the query as sudo (SudoParam). An API key is passed in the header as X-FORGEJO-OTP (TOTPHeader). By default, every request must be authenticated.

  • AuthorizationHeaderToken — API tokens must be prepended with "token" followed by a space.
  • SudoHeader — Sudo API request as the user provided as the key. Admin privileges are required.
  • SudoParam — Sudo API request as the user provided as the key. Admin privileges are required.
  • TOTPHeader — Must be used in combination with BasicAuth if two-factor authentication is enabled.

Paths & Operations 67

Across 33 paths, the API surfaces 67 operations — 18 DELETE, 23 GET, 8 PATCH, 16 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

issue 67
GET
/repos/issues/search
Search for issues across the repositories that the user has access to
issueSearchIssues 18 params → 200400422
GET
/repos/{owner}/{repo}/issues
List a repository's issues
issueListIssues 15 params → 200404422
POST
/repos/{owner}/{repo}/issues
Create an issue. If using deadline only the date will be taken into account, and time of day ignored.
issueCreateIssue 3 params → 201403404412422423
GET
/repos/{owner}/{repo}/issues/comments
List all comments in a repository
issueGetRepoComments 6 params → 200404422500
GET
/repos/{owner}/{repo}/issues/comments/{id}
Get a comment
issueGetComment 3 params → 200204403404500
DELETE
/repos/{owner}/{repo}/issues/comments/{id}
Delete a comment
issueDeleteComment 3 params → 204403500
PATCH
/repos/{owner}/{repo}/issues/comments/{id}
Edit a comment
issueEditComment 4 params → 200204403404423500
GET
/repos/{owner}/{repo}/issues/comments/{id}/assets
List comment's attachments
issueListIssueCommentAttachments 3 params → 200404
POST
/repos/{owner}/{repo}/issues/comments/{id}/assets
Create a comment attachment
issueCreateIssueCommentAttachment 6 params → 201400404413422423
GET
/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}
Get a comment attachment
issueGetIssueCommentAttachment 4 params → 200404
DELETE
/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}
Delete a comment attachment
issueDeleteIssueCommentAttachment 4 params → 204404423
PATCH
/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}
Edit a comment attachment
issueEditIssueCommentAttachment 5 params → 201404413423
GET
/repos/{owner}/{repo}/issues/comments/{id}/reactions
Get a list of reactions from a comment of an issue
issueGetCommentReactions 3 params → 200403404
POST
/repos/{owner}/{repo}/issues/comments/{id}/reactions
Add a reaction to a comment of an issue
issuePostCommentReaction 4 params → 200201403404
DELETE
/repos/{owner}/{repo}/issues/comments/{id}/reactions
Remove a reaction from a comment of an issue
issueDeleteCommentReaction 4 params → 200403404
GET
/repos/{owner}/{repo}/issues/{index}
Get an issue
issueGetIssue 3 params → 200404
DELETE
/repos/{owner}/{repo}/issues/{index}
Delete an issue
issueDelete 3 params → 204403404
PATCH
/repos/{owner}/{repo}/issues/{index}
Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.
issueEditIssue 4 params → 201403404412
GET
/repos/{owner}/{repo}/issues/{index}/assets
List issue's attachments
issueListIssueAttachments 3 params → 200404
POST
/repos/{owner}/{repo}/issues/{index}/assets
Create an issue attachment
issueCreateIssueAttachment 6 params → 201400404413422423
GET
/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}
Get an issue attachment
issueGetIssueAttachment 4 params → 200404
DELETE
/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}
Delete an issue attachment
issueDeleteIssueAttachment 4 params → 204404423
PATCH
/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}
Edit an issue attachment
issueEditIssueAttachment 5 params → 201404413423
GET
/repos/{owner}/{repo}/issues/{index}/blocks
List issues that are blocked by this issue
issueListBlocks 5 params → 200404
POST
/repos/{owner}/{repo}/issues/{index}/blocks
Block the issue given in the body by the issue in path
issueCreateIssueBlocking 4 params → 201404
DELETE
/repos/{owner}/{repo}/issues/{index}/blocks
Unblock the issue given in the body by the issue in path
issueRemoveIssueBlocking 4 params → 200404
GET
/repos/{owner}/{repo}/issues/{index}/comments
List all comments on an issue
issueGetComments 5 params → 200404422500
POST
/repos/{owner}/{repo}/issues/{index}/comments
Add a comment to an issue
issueCreateComment 4 params → 201403404423500
DELETE
/repos/{owner}/{repo}/issues/{index}/comments/{id}deprecated
Delete a comment
issueDeleteCommentDeprecated 4 params → 204403500
PATCH
/repos/{owner}/{repo}/issues/{index}/comments/{id}deprecated
Edit a comment
issueEditCommentDeprecated 5 params → 200204403404500
POST
/repos/{owner}/{repo}/issues/{index}/deadline
Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.
issueEditIssueDeadline 4 params → 201403404
GET
/repos/{owner}/{repo}/issues/{index}/dependencies
List an issue's dependencies, i.e all issues that block this issue.
issueListIssueDependencies 5 params → 200404
POST
/repos/{owner}/{repo}/issues/{index}/dependencies
Make the issue in the url depend on the issue in the form.
issueCreateIssueDependencies 4 params → 201404423
DELETE
/repos/{owner}/{repo}/issues/{index}/dependencies
Remove an issue dependency
issueRemoveIssueDependencies 4 params → 200404423
GET
/repos/{owner}/{repo}/issues/{index}/labels
Get an issue's labels
issueGetLabels 3 params → 200404
PUT
/repos/{owner}/{repo}/issues/{index}/labels
Replace an issue's labels
issueReplaceLabels 4 params → 200403404
POST
/repos/{owner}/{repo}/issues/{index}/labels
Add a label to an issue
issueAddLabel 4 params → 200403404
DELETE
/repos/{owner}/{repo}/issues/{index}/labels
Remove all labels from an issue
issueClearLabels 4 params → 204403404
DELETE
/repos/{owner}/{repo}/issues/{index}/labels/{identifier}
Remove a label from an issue
issueRemoveLabel 5 params → 204403404422
POST
/repos/{owner}/{repo}/issues/{index}/pin
Pin an Issue
pinIssue 3 params → 204403404
DELETE
/repos/{owner}/{repo}/issues/{index}/pin
Unpin an Issue
unpinIssue 3 params → 204403404
PATCH
/repos/{owner}/{repo}/issues/{index}/pin/{position}
Moves the Pin to the given Position
moveIssuePin 4 params → 204403404
GET
/repos/{owner}/{repo}/issues/{index}/reactions
Get a list reactions of an issue
issueGetIssueReactions 5 params → 200403404
POST
/repos/{owner}/{repo}/issues/{index}/reactions
Add a reaction to an issue
issuePostIssueReaction 4 params → 200201403404
DELETE
/repos/{owner}/{repo}/issues/{index}/reactions
Remove a reaction from an issue
issueDeleteIssueReaction 4 params → 200403404
DELETE
/repos/{owner}/{repo}/issues/{index}/stopwatch/delete
Delete an issue's existing stopwatch.
issueDeleteStopWatch 3 params → 204403404409
POST
/repos/{owner}/{repo}/issues/{index}/stopwatch/start
Start stopwatch on an issue.
issueStartStopWatch 3 params → 201403404409
POST
/repos/{owner}/{repo}/issues/{index}/stopwatch/stop
Stop an issue's existing stopwatch.
issueStopStopWatch 3 params → 201403404409
GET
/repos/{owner}/{repo}/issues/{index}/subscriptions
Get users who subscribed on an issue.
issueSubscriptions 5 params → 200404
GET
/repos/{owner}/{repo}/issues/{index}/subscriptions/check
Check if user is subscribed to an issue
issueCheckSubscription 3 params → 200404
PUT
/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}
Subscribe user to issue
issueAddSubscription 4 params → 200201304404
DELETE
/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}
Unsubscribe user from issue
issueDeleteSubscription 4 params → 200201304404
GET
/repos/{owner}/{repo}/issues/{index}/timeline
List all comments and events on an issue
issueGetCommentsAndTimeline 7 params → 200404422500
GET
/repos/{owner}/{repo}/issues/{index}/times
List an issue's tracked times
issueTrackedTimes 8 params → 200403404422
POST
/repos/{owner}/{repo}/issues/{index}/times
Add tracked time to a issue
issueAddTime 4 params → 200400403404
DELETE
/repos/{owner}/{repo}/issues/{index}/times
Reset a tracked time of an issue
issueResetTime 3 params → 204400403404
DELETE
/repos/{owner}/{repo}/issues/{index}/times/{id}
Delete specific tracked time
issueDeleteTime 4 params → 204400403404
GET
/repos/{owner}/{repo}/labels
Get all of a repository's labels
issueListLabels 5 params → 200404
POST
/repos/{owner}/{repo}/labels
Create a label
issueCreateLabel 3 params → 201404422
GET
/repos/{owner}/{repo}/labels/{id}
Get a single label
issueGetLabel 3 params → 200404
DELETE
/repos/{owner}/{repo}/labels/{id}
Delete a label
issueDeleteLabel 3 params → 204404
PATCH
/repos/{owner}/{repo}/labels/{id}
Update a label
issueEditLabel 4 params → 200404422
GET
/repos/{owner}/{repo}/milestones
Get all of a repository's opened milestones
issueGetMilestonesList 6 params → 200404
POST
/repos/{owner}/{repo}/milestones
Create a milestone
issueCreateMilestone 3 params → 201404
GET
/repos/{owner}/{repo}/milestones/{id}
Get a milestone
issueGetMilestone 3 params → 200404
DELETE
/repos/{owner}/{repo}/milestones/{id}
Delete a milestone
issueDeleteMilestone 3 params → 204404
PATCH
/repos/{owner}/{repo}/milestones/{id}
Update a milestone
issueEditMilestone 4 params → 200404

Schemas 37

The contract defines 37 schemas that model the data the API accepts and returns. The most detailed are TimelineComment (29 properties), Issue (25 properties), User (23 properties), Organization (12 properties). Each schema is shown below with its type and property counts.

Team
object
Team represents a team in an organization
9 properties
Organization
object
Organization represents an organization
12 properties
User
object
User represents a user
23 properties
CreateIssueCommentOption
object
CreateIssueCommentOption options for creating a comment on an issue
2 properties 1 required
APIForbiddenError
object
2 properties
APIValidationError
object
2 properties
APINotFound
object
3 properties
EditMilestoneOption
object
EditMilestoneOption options for editing a milestone
4 properties
IssueMeta
object
IssueMeta basic issue information
3 properties
EditAttachmentOptions
object
EditAttachmentOptions options for editing attachments
2 properties
Issue
object
Issue represents an issue in a repository
25 properties
DeleteLabelsOption
object
DeleteLabelOption options for deleting a label
1 property
EditIssueCommentOption
object
EditIssueCommentOption options for editing a comment
2 properties 1 required
TrackedTime
object
TrackedTime worked time for an issue / pr
7 properties
CreateLabelOption
object
CreateLabelOption options for creating a label
5 properties 2 required
CreateIssueOption
object
CreateIssueOption options to create one issue
9 properties 1 required
IssueLabelsOption
object
IssueLabelsOption a collection of labels
2 properties
RepositoryMeta
object
RepositoryMeta basic repository information
4 properties
Attachment
object
Attachment a generic attachment
8 properties
TimelineComment
object
TimelineComment represents a timeline comment (comment of any type) on a commit or issue
29 properties
EditLabelOption
object
EditLabelOption options for editing a label
5 properties
EditReactionOption
object
EditReactionOption contain the reaction type
1 property
EditDeadlineOption
object
EditDeadlineOption options for creating a deadline
1 property 1 required
CreateMilestoneOption
object
CreateMilestoneOption options for creating a milestone
4 properties
Label
object
Label a label to an issue or a pr
7 properties
APIInternalServerError
object
2 properties
EditIssueOption
object
EditIssueOption options for editing an issue
10 properties
StateType
string
StateType issue state type
WatchInfo
object
WatchInfo represents an API watch status of one repository
6 properties
Comment
object
Comment represents a comment on a commit or issue
11 properties
AddTimeOption
object
AddTimeOption options for adding time to an issue
3 properties 1 required
IssueDeadline
object
IssueDeadline represents an issue deadline
1 property
PullRequestMeta
object
PullRequestMeta PR info if an issue is a PR
4 properties
Reaction
object
Reaction contain one reaction
3 properties
APIError
object
APIError is an api error with a message
2 properties
Milestone
object
Milestone milestone is a collection of issues on one repository
10 properties
APIRepoArchivedError
object
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

forgejo-issue-api-openapi.yml Raw ↑

Other APIs Forgejo publishes across the network.

Forgejo activitypub API
Forgejo admin API
Forgejo miscellaneous API
Forgejo notification API
Forgejo organization API
Forgejo package API
Forgejo repository API
Forgejo settings API
Forgejo user API
Where this information came from

This is an independent, third-party profile of Forgejo issue API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.