Forgejo User API

The user API from Forgejo — 54 operation(s) for user.

Operations 80

GET /user Get the authenticated user #
GET /user/actions/runners Get the user's runners #
POST /user/actions/runners Register a new user-level runner #
GET /user/actions/runners/jobs Search for user's action jobs according filter conditions #
GET /user/actions/runners/registration-token Get the user's runner registration token #
GET /user/actions/runners/{runner_id} Get a particular runner that belongs to the user #
DELETE /user/actions/runners/{runner_id} Delete a particular user-level runner #
PUT /user/actions/secrets/{secretname} Create or Update a secret value in a user scope #
DELETE /user/actions/secrets/{secretname} Delete a secret in a user scope #
GET /user/actions/variables Get the user-level list of variables which is created by current doer #
GET /user/actions/variables/{variablename} Get a user-level variable which is created by current doer #
PUT /user/actions/variables/{variablename} Update a user-level variable which is created by current doer #
POST /user/actions/variables/{variablename} Create a user-level variable #
DELETE /user/actions/variables/{variablename} Delete a user-level variable which is created by current doer #
POST /user/activitypub/follow Follow a remote activitypub account #
GET /user/applications/oauth2 List the authenticated user's oauth2 applications #
POST /user/applications/oauth2 Creates a new OAuth2 application #
GET /user/applications/oauth2/{id} Get an OAuth2 application #
DELETE /user/applications/oauth2/{id} Delete an OAuth2 application #
PATCH /user/applications/oauth2/{id} Update an OAuth2 application, this includes regenerating the client secret #
POST /user/avatar Update avatar of the current user #
DELETE /user/avatar Delete avatar of the current user. It will be replaced by a default one #
PUT /user/block/{username} Blocks a user from the doer #
GET /user/emails List all email addresses of the current user #
POST /user/emails Add an email addresses to the current user's account #
DELETE /user/emails Delete email addresses from the current user's account #
GET /user/followers List the authenticated user's followers #
GET /user/following List the users that the authenticated user is following #
GET /user/following/{username} Check whether a user is followed by the authenticated user #
PUT /user/following/{username} Follow a user #
DELETE /user/following/{username} Unfollow a user #
GET /user/gpg_key_token Get a Token to verify #
POST /user/gpg_key_verify Verify a GPG key #
GET /user/gpg_keys List the authenticated user's GPG keys #
POST /user/gpg_keys Add a GPG public key to current user's account #
GET /user/gpg_keys/{id} Get a GPG key #
DELETE /user/gpg_keys/{id} Remove a GPG public key from current user's account #
GET /user/hooks List the authenticated user's webhooks #
POST /user/hooks Create a hook #
GET /user/hooks/{id} Get a hook #
DELETE /user/hooks/{id} Delete a hook #
PATCH /user/hooks/{id} Update a hook #
GET /user/keys List the authenticated user's public keys #
POST /user/keys Create a public key #
GET /user/keys/{id} Get a public key #
DELETE /user/keys/{id} Delete a public key #
GET /user/list_blocked List the authenticated user's blocked users #
GET /user/quota Get quota information for the authenticated user #
GET /user/quota/artifacts List the artifacts affecting the authenticated user's quota #
GET /user/quota/attachments List the attachments affecting the authenticated user's quota #
GET /user/quota/check Check if the authenticated user is over quota for a given subject #
GET /user/quota/packages List the packages affecting the authenticated user's quota #
GET /user/repos List the repos that the authenticated user owns #
POST /user/repos Create a repository #
GET /user/settings Get current user's account settings #
PATCH /user/settings Update settings in current user's account #
GET /user/starred The repos that the authenticated user has starred #
GET /user/starred/{owner}/{repo} Whether the authenticated is starring the repo #
PUT /user/starred/{owner}/{repo} Star the given repo #
DELETE /user/starred/{owner}/{repo} Unstar the given repo #
GET /user/stopwatches Get list of all existing stopwatches #
GET /user/subscriptions List repositories watched by the authenticated user #
GET /user/teams List all the teams a user belongs to #
GET /user/times List the current user's tracked times #
PUT /user/unblock/{username} Unblocks a user from the doer #
GET /users/search Search for users #
GET /users/{username} Get a user #
GET /users/{username}/activities/feeds List a user's activity feeds #
GET /users/{username}/followers List the given user's followers #
GET /users/{username}/following List the users that the given user is following #
GET /users/{username}/following/{target} Check if one user is following another user #
GET /users/{username}/gpg_keys List the given user's GPG keys #
GET /users/{username}/heatmap Get a user's heatmap #
GET /users/{username}/keys List the given user's public keys #
GET /users/{username}/repos List the repos owned by the given user #
GET /users/{username}/starred The repos that the given user has starred #
GET /users/{username}/subscriptions List the repositories watched by a user #
GET /users/{username}/tokens List the specified user's access tokens #
POST /users/{username}/tokens Generate an access token for the specified user #
DELETE /users/{username}/tokens/{token} Delete an access token from the specified user's account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/forgejo-user-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

forgejo-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This documentation describes the Forgejo API.
  title: Forgejo User API
  license:
    name: This file is distributed under the MIT license for the purpose of interoperability
    url: http://opensource.org/licenses/MIT
  version: 16.0.0-dev-465-4b83448b7d+gitea-1.22.0
servers:
- url: /api/v1
security:
- BasicAuth: []
- AuthorizationHeaderToken: []
- SudoParam: []
- SudoHeader: []
- TOTPHeader: []
tags:


# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/forgejo/refs/heads/main/openapi/forgejo-user-api-openapi.yml