Gitea user API is one of 13 APIs that Gitea publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
This API exposes 32 JSON Schema definitions.
Tagged areas include User. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, a getting-started guide, authentication docs, code examples, and 32 JSON Schemas.
This API exposes
76 operations
across 48 paths,
and defines 54 schemas.
It is described by OpenAPI 2.0, at version 1.27.0+dev-89-gf52b6f3315.
Requests are made against the base URL https://gitea.com/api/v1.
76 operations48 paths54 schemas13 DELETE43 GET4 PATCH11 POST5 PUT
Metadata
The identity and technical contract details declared by the specification.
Specification
OpenAPI 2.0
API Version
1.27.0+dev-89-gf52b6f3315
Base URL
https://gitea.com/api/v1
Authentication
API Key, API Key, basic, API Key, API Key, API Key, API Key
Gitea user API declares
7 security schemes
for authenticating requests.
An API key is passed in the query as access_token (AccessToken).
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-GITEA-OTP (TOTPHeader).
An API key is passed in the query as token (Token).
By default, every request must be authenticated.
AccessToken — This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.
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.
Token — This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.
Paths & Operations 76
Across 48 paths, the API surfaces 76 operations — 13 DELETE, 43 GET, 4 PATCH, 11 POST, 5 PUT. Each is listed below with its method, path, parameters, and response codes.
user 76
GET
/user
Get the authenticated user
userGetCurrent→ 200
GET
/user/actions/jobs
Get workflow jobs
getUserWorkflowJobs3 params→ 200400404
GET
/user/actions/runners
Get user-level runners
getUserRunners1 param→ 200400404
POST
/user/actions/runners/registration-token
Get a user's actions runner registration token
userCreateRunnerRegistrationToken→ 200
GET
/user/actions/runners/{runner_id}
Get a user-level runner
getUserRunner1 param→ 200400404
DELETE
/user/actions/runners/{runner_id}
Delete a user-level runner
deleteUserRunner1 param→ 204400404
PATCH
/user/actions/runners/{runner_id}
Update a user-level runner
updateUserRunner2 params→ 200400404422
GET
/user/actions/runs
Get workflow runs
getUserWorkflowRuns7 params→ 200400404
PUT
/user/actions/secrets/{secretname}
Create or Update a secret value in a user scope
updateUserSecret2 params→ 201204400404
DELETE
/user/actions/secrets/{secretname}
Delete a secret in a user scope
deleteUserSecret1 param→ 204400404
GET
/user/actions/variables
Get the user-level list of variables which is created by current doer
getUserVariablesList2 params→ 200400404
GET
/user/actions/variables/{variablename}
Get a user-level variable which is created by current doer
getUserVariable1 param→ 200400404
PUT
/user/actions/variables/{variablename}
Update a user-level variable which is created by current doer
updateUserVariable2 params→ 201204400404
POST
/user/actions/variables/{variablename}
Create a user-level variable
createUserVariable2 params→ 201400409
DELETE
/user/actions/variables/{variablename}
Delete a user-level variable which is created by current doer
deleteUserVariable1 param→ 201204400404
GET
/user/applications/oauth2
List the authenticated user's oauth2 applications
userGetOauth2Application2 params→ 200
POST
/user/applications/oauth2
creates a new OAuth2 application
userCreateOAuth2Application1 param→ 201400
GET
/user/applications/oauth2/{id}
get an OAuth2 Application
userGetOAuth2Application1 param→ 200404
DELETE
/user/applications/oauth2/{id}
delete an OAuth2 Application
userDeleteOAuth2Application1 param→ 204404
PATCH
/user/applications/oauth2/{id}
update an OAuth2 Application, this includes regenerating the client secret
userUpdateOAuth2Application2 params→ 200404
POST
/user/avatar
Update Avatar
userUpdateAvatar1 param→ 204
DELETE
/user/avatar
Delete Avatar
userDeleteAvatar→ 204
GET
/user/blocks
List users blocked by the authenticated user
userListBlocks2 params→ 200
GET
/user/blocks/{username}
Check if a user is blocked by the authenticated user
userCheckUserBlock1 param→ 204404
PUT
/user/blocks/{username}
Block a user
userBlockUser2 params→ 204404422
DELETE
/user/blocks/{username}
Unblock a user
userUnblockUser1 param→ 204404422
GET
/user/emails
List the authenticated user's email addresses
userListEmails→ 200
POST
/user/emails
Add email addresses
userAddEmail1 param→ 201422
DELETE
/user/emails
Delete email addresses
userDeleteEmail1 param→ 204404
GET
/user/followers
List the authenticated user's followers
userCurrentListFollowers2 params→ 200
GET
/user/following
List the users that the authenticated user is following
userCurrentListFollowing2 params→ 200
GET
/user/following/{username}
Check whether a user is followed by the authenticated user
userCurrentCheckFollowing1 param→ 204404
PUT
/user/following/{username}
Follow a user
userCurrentPutFollow1 param→ 204403404
DELETE
/user/following/{username}
Unfollow a user
userCurrentDeleteFollow1 param→ 204404
GET
/user/gpg_key_token
Get a Token to verify
getVerificationToken→ 200404
POST
/user/gpg_key_verify
Verify a GPG key
userVerifyGPGKey→ 201404422
GET
/user/gpg_keys
List the authenticated user's GPG keys
userCurrentListGPGKeys2 params→ 200
POST
/user/gpg_keys
Create a GPG key
userCurrentPostGPGKey1 param→ 201404422
GET
/user/gpg_keys/{id}
Get a GPG key
userCurrentGetGPGKey1 param→ 200404
DELETE
/user/gpg_keys/{id}
Remove a GPG key
userCurrentDeleteGPGKey1 param→ 204403404
GET
/user/hooks
List the authenticated user's webhooks
userListHooks2 params→ 200
POST
/user/hooks
Create a hook
userCreateHook1 param→ 201
GET
/user/hooks/{id}
Get a hook
userGetHook1 param→ 200
DELETE
/user/hooks/{id}
Delete a hook
userDeleteHook1 param→ 204
PATCH
/user/hooks/{id}
Update a hook
userEditHook2 params→ 200
GET
/user/keys
List the authenticated user's public keys
userCurrentListKeys3 params→ 200
POST
/user/keys
Create a public key
userCurrentPostKey1 param→ 201422
GET
/user/keys/{id}
Get a public key
userCurrentGetKey1 param→ 200404
DELETE
/user/keys/{id}
Delete a public key
userCurrentDeleteKey1 param→ 204403404
GET
/user/repos
List the repos that the authenticated user owns
userCurrentListRepos2 params→ 200
POST
/user/repos
Create a repository
createCurrentUserRepo1 param→ 201400409422
GET
/user/settings
Get user settings
getUserSettings→ 200
PATCH
/user/settings
Update user settings
updateUserSettings1 param→ 200
GET
/user/starred
The repos that the authenticated user has starred
userCurrentListStarred2 params→ 200403
GET
/user/starred/{owner}/{repo}
Whether the authenticated is starring the repo
userCurrentCheckStarring2 params→ 204403404
PUT
/user/starred/{owner}/{repo}
Star the given repo
userCurrentPutStar2 params→ 204403404
DELETE
/user/starred/{owner}/{repo}
Unstar the given repo
userCurrentDeleteStar2 params→ 204403404
GET
/user/stopwatches
Get list of all existing stopwatches
userGetStopWatches2 params→ 200
GET
/user/subscriptions
List repositories watched by the authenticated user
userCurrentListSubscriptions2 params→ 200
GET
/user/teams
List all the teams a user belongs to
userListTeams2 params→ 200
GET
/user/times
List the current user's tracked times
userCurrentTrackedTimes4 params→ 200
GET
/users/search
Search for users
userSearch4 params→ 200
GET
/users/{username}
Get a user
userGet1 param→ 200404
GET
/users/{username}/activities/feeds
List a user's activity feeds
userListActivityFeeds5 params→ 200404
GET
/users/{username}/followers
List the given user's followers
userListFollowers3 params→ 200404
GET
/users/{username}/following
List the users that the given user is following
userListFollowing3 params→ 200404
GET
/users/{username}/following/{target}
Check if one user is following another user
userCheckFollowing2 params→ 204404
GET
/users/{username}/gpg_keys
List the given user's GPG keys
userListGPGKeys3 params→ 200404
GET
/users/{username}/heatmap
Get a user's heatmap
userGetHeatmapData1 param→ 200404
GET
/users/{username}/keys
List the given user's public keys
userListKeys4 params→ 200404
GET
/users/{username}/repos
List the repos owned by the given user
userListRepos3 params→ 200404
GET
/users/{username}/starred
The repos that the given user has starred
userListStarred3 params→ 200403404
GET
/users/{username}/subscriptions
List the repositories watched by a user
userListSubscriptions3 params→ 200404
GET
/users/{username}/tokens
List the authenticated user's access tokens
userGetTokens3 params→ 200403
POST
/users/{username}/tokens
Create an access token
userCreateToken2 params→ 201400403
DELETE
/users/{username}/tokens/{token}
delete an access token
userDeleteAccessToken2 params→ 204403404422
Schemas 54
The contract defines 54 schemas that model the data the API accepts and returns. The most detailed are Repository (67 properties), Issue (27 properties), User (22 properties), ActionWorkflowRun (19 properties). Each schema is shown below with its type and property counts.
RepositoryMeta
object
RepositoryMeta basic repository information
4 properties
User
object
User represents a user
22 properties
CreateOAuth2ApplicationOptions
object
CreateOAuth2ApplicationOptions holds options to create an oauth2 application
4 properties
Issue
object
Issue represents an issue in a repository
27 properties
ActionWorkflowStep
object
ActionWorkflowStep represents a step of a WorkflowJob
6 properties
ActionWorkflowJob
object
ActionWorkflowJob represents a WorkflowJob
18 properties
InternalTracker
object
InternalTracker represents settings for internal tracker
3 properties
TimeStamp
integer
TimeStamp defines a timestamp
Attachment
object
Attachment a generic attachment
7 properties
CreateRepoOption
object
CreateRepoOption options when creating repository
12 properties1 required
EditActionRunnerOption
object
1 property1 required
ActionRunnersResponse
object
ActionRunnersResponse returns Runners
2 properties
PublicKey
object
PublicKey publickey is a user key to push code to repository
10 properties
CreateVariableOption
object
CreateVariableOption the option when creating variable
2 properties1 required
Email
object
Email an email address belonging to a user
5 properties
ActionRunnerLabel
object
ActionRunnerLabel represents a Runner Label
3 properties
UserSettings
object
UserSettings represents user settings
9 properties
TrackedTime
object
TrackedTime worked time for an issue / pr
7 properties
Milestone
object
Milestone milestone is a collection of issues on one repository
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of Gitea user 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.