Forgejo user API

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

OpenAPI Specification

forgejo-user-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: This documentation describes the Forgejo API.
  title: Forgejo activitypub 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
basePath: /api/v1
schemes:
- https
- http
consumes:
- application/json
- text/plain
produces:
- application/json
- text/html
security:
- BasicAuth: []
- AuthorizationHeaderToken: []
- SudoParam: []
- SudoHeader: []
- TOTPHeader: []
tags:
- name: user
paths:
  /user:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get the authenticated user
      operationId: userGetCurrent
      responses:
        '200':
          $ref: '#/responses/User'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/actions/runners:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get the user's runners
      operationId: getUserRunners
      parameters:
      - type: boolean
        description: whether to include all visible runners (true) or only those that are directly owned by the user (false)
        name: visible
        in: query
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/ActionRunnerList'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '404':
          $ref: '#/responses/notFound'
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Register a new user-level runner
      operationId: registerUserRunner
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/RegisterRunnerOptions'
      responses:
        '201':
          $ref: '#/responses/RegisterRunnerResponse'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '404':
          $ref: '#/responses/notFound'
  /user/actions/runners/jobs:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Search for user's action jobs according filter conditions
      operationId: userSearchRunJobs
      parameters:
      - type: string
        description: a comma separated list of run job labels to search for
        name: labels
        in: query
      responses:
        '200':
          $ref: '#/responses/RunJobList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/actions/runners/registration-token:
    get:
      description: 'This operation has been deprecated in Forgejo 15. Use the web UI or [`/user/actions/runners`](#/user/registerUserRunner) instead.

        '
      produces:
      - application/json
      tags:
      - user
      summary: Get the user's runner registration token
      operationId: userGetRunnerRegistrationToken
      deprecated: true
      responses:
        '200':
          $ref: '#/responses/RegistrationToken'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/actions/runners/{runner_id}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get a particular runner that belongs to the user
      operationId: getUserRunner
      parameters:
      - type: string
        description: ID of the runner
        name: runner_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/ActionRunner'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '404':
          $ref: '#/responses/notFound'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete a particular user-level runner
      operationId: deleteUserRunner
      parameters:
      - type: string
        description: ID of the runner
        name: runner_id
        in: path
        required: true
      responses:
        '204':
          description: runner has been deleted
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '404':
          $ref: '#/responses/notFound'
  /user/actions/secrets/{secretname}:
    put:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Create or Update a secret value in a user scope
      operationId: updateUserSecret
      parameters:
      - type: string
        description: name of the secret
        name: secretname
        in: path
        required: true
      - name: body
        in: body
        schema:
          $ref: '#/definitions/CreateOrUpdateSecretOption'
      responses:
        '201':
          description: response when creating a secret
        '204':
          description: response when updating a secret
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Delete a secret in a user scope
      operationId: deleteUserSecret
      parameters:
      - type: string
        description: name of the secret
        name: secretname
        in: path
        required: true
      responses:
        '204':
          description: delete one secret of the user
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/actions/variables:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get the user-level list of variables which is created by current doer
      operationId: getUserVariablesList
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/VariableList'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/actions/variables/{variablename}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get a user-level variable which is created by current doer
      operationId: getUserVariable
      parameters:
      - type: string
        description: name of the variable
        name: variablename
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/ActionVariable'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    put:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Update a user-level variable which is created by current doer
      operationId: updateUserVariable
      parameters:
      - type: string
        description: name of the variable
        name: variablename
        in: path
        required: true
      - name: body
        in: body
        schema:
          $ref: '#/definitions/UpdateVariableOption'
      responses:
        '201':
          description: response when updating a variable
        '204':
          description: response when updating a variable
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Create a user-level variable
      operationId: createUserVariable
      parameters:
      - type: string
        description: name of the variable
        name: variablename
        in: path
        required: true
      - name: body
        in: body
        schema:
          $ref: '#/definitions/CreateVariableOption'
      responses:
        '201':
          description: response when creating a variable
        '204':
          description: response when creating a variable
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete a user-level variable which is created by current doer
      operationId: deleteUserVariable
      parameters:
      - type: string
        description: name of the variable
        name: variablename
        in: path
        required: true
      responses:
        '201':
          description: response when deleting a variable
        '204':
          description: response when deleting a variable
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/activitypub/follow:
    post:
      tags:
      - user
      summary: Follow a remote activitypub account
      operationId: userCurrentActivityPubFollow
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/APRemoteFollowOption'
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/applications/oauth2:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's oauth2 applications
      operationId: userGetOAuth2Applications
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/OAuth2ApplicationList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    post:
      produces:
      - application/json
      tags:
      - user
      summary: Creates a new OAuth2 application
      operationId: userCreateOAuth2Application
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CreateOAuth2ApplicationOptions'
      responses:
        '201':
          $ref: '#/responses/OAuth2Application'
        '400':
          $ref: '#/responses/error'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/applications/oauth2/{id}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get an OAuth2 application
      operationId: userGetOAuth2Application
      parameters:
      - type: integer
        format: int64
        description: Application ID to be found
        name: id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/OAuth2Application'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete an OAuth2 application
      operationId: userDeleteOAuth2Application
      parameters:
      - type: integer
        format: int64
        description: token to be deleted
        name: id
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    patch:
      produces:
      - application/json
      tags:
      - user
      summary: Update an OAuth2 application, this includes regenerating the client secret
      operationId: userUpdateOAuth2Application
      parameters:
      - type: integer
        format: int64
        description: application to be updated
        name: id
        in: path
        required: true
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CreateOAuth2ApplicationOptions'
      responses:
        '200':
          $ref: '#/responses/OAuth2Application'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/avatar:
    post:
      produces:
      - application/json
      tags:
      - user
      summary: Update avatar of the current user
      operationId: userUpdateAvatar
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/UpdateUserAvatarOption'
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete avatar of the current user. It will be replaced by a default one
      operationId: userDeleteAvatar
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/block/{username}:
    put:
      produces:
      - application/json
      tags:
      - user
      summary: Blocks a user from the doer
      operationId: userBlockUser
      parameters:
      - type: string
        description: username of the user
        name: username
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
        '422':
          $ref: '#/responses/validationError'
  /user/emails:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List all email addresses of the current user
      operationId: userListEmails
      responses:
        '200':
          $ref: '#/responses/EmailList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    post:
      produces:
      - application/json
      tags:
      - user
      summary: Add an email addresses to the current user's account
      operationId: userAddEmail
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/CreateEmailOption'
      responses:
        '201':
          $ref: '#/responses/EmailList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '422':
          $ref: '#/responses/validationError'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete email addresses from the current user's account
      operationId: userDeleteEmail
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/DeleteEmailOption'
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/followers:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's followers
      operationId: userCurrentListFollowers
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/UserList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/following:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the users that the authenticated user is following
      operationId: userCurrentListFollowing
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/UserList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/following/{username}:
    get:
      tags:
      - user
      summary: Check whether a user is followed by the authenticated user
      operationId: userCurrentCheckFollowing
      parameters:
      - type: string
        description: username of followed user
        name: username
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    put:
      tags:
      - user
      summary: Follow a user
      operationId: userCurrentPutFollow
      parameters:
      - type: string
        description: username of user to follow
        name: username
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      tags:
      - user
      summary: Unfollow a user
      operationId: userCurrentDeleteFollow
      parameters:
      - type: string
        description: username of user to unfollow
        name: username
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/gpg_key_token:
    get:
      produces:
      - text/plain
      tags:
      - user
      summary: Get a Token to verify
      operationId: getVerificationToken
      responses:
        '200':
          $ref: '#/responses/string'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/gpg_key_verify:
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Verify a GPG key
      operationId: userVerifyGPGKey
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/VerifyGPGKeyOption'
      responses:
        '201':
          $ref: '#/responses/GPGKey'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
        '422':
          $ref: '#/responses/validationError'
  /user/gpg_keys:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's GPG keys
      operationId: userCurrentListGPGKeys
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/GPGKeyList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Add a GPG public key to current user's account
      operationId: userCurrentPostGPGKey
      parameters:
      - name: Form
        in: body
        schema:
          $ref: '#/definitions/CreateGPGKeyOption'
      responses:
        '201':
          $ref: '#/responses/GPGKey'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
        '422':
          $ref: '#/responses/validationError'
  /user/gpg_keys/{id}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get a GPG key
      operationId: userCurrentGetGPGKey
      parameters:
      - type: integer
        format: int64
        description: id of key to get
        name: id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/GPGKey'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Remove a GPG public key from current user's account
      operationId: userCurrentDeleteGPGKey
      parameters:
      - type: integer
        format: int64
        description: id of key to delete
        name: id
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/hooks:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's webhooks
      operationId: userListHooks
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/HookListWithoutPagination'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Create a hook
      operationId: userCreateHook
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CreateHookOption'
      responses:
        '201':
          $ref: '#/responses/Hook'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/hooks/{id}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get a hook
      operationId: userGetHook
      parameters:
      - type: integer
        format: int64
        description: id of the hook to get
        name: id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/Hook'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete a hook
      operationId: userDeleteHook
      parameters:
      - type: integer
        format: int64
        description: id of the hook to delete
        name: id
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    patch:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Update a hook
      operationId: userEditHook
      parameters:
      - type: integer
        format: int64
        description: id of the hook to update
        name: id
        in: path
        required: true
      - name: body
        in: body
        schema:
          $ref: '#/definitions/EditHookOption'
      responses:
        '200':
          $ref: '#/responses/Hook'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/keys:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's public keys
      operationId: userCurrentListKeys
      parameters:
      - type: string
        description: fingerprint of the key
        name: fingerprint
        in: query
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/PublicKeyList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - user
      summary: Create a public key
      operationId: userCurrentPostKey
      parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/CreateKeyOption'
      responses:
        '201':
          $ref: '#/responses/PublicKey'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '422':
          $ref: '#/responses/validationError'
  /user/keys/{id}:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get a public key
      operationId: userCurrentGetKey
      parameters:
      - type: integer
        format: int64
        description: id of key to get
        name: id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/PublicKey'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
    delete:
      produces:
      - application/json
      tags:
      - user
      summary: Delete a public key
      operationId: userCurrentDeleteKey
      parameters:
      - type: integer
        format: int64
        description: id of key to delete
        name: id
        in: path
        required: true
      responses:
        '204':
          $ref: '#/responses/empty'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '404':
          $ref: '#/responses/notFound'
  /user/list_blocked:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the authenticated user's blocked users
      operationId: userListBlockedUsers
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/BlockedUserList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/quota:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Get quota information for the authenticated user
      operationId: userGetQuota
      responses:
        '200':
          $ref: '#/responses/QuotaInfo'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/quota/artifacts:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the artifacts affecting the authenticated user's quota
      operationId: userListQuotaArtifacts
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/QuotaUsedArtifactList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/quota/attachments:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the attachments affecting the authenticated user's quota
      operationId: userListQuotaAttachments
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/QuotaUsedAttachmentList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/quota/check:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: Check if the authenticated user is over quota for a given subject
      operationId: userCheckQuota
      parameters:
      - type: string
        description: subject of the quota
        name: subject
        in: query
        required: true
      responses:
        '200':
          description: Returns true if the action is accepted.
          schema:
            type: boolean
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '422':
          $ref: '#/responses/validationError'
  /user/quota/packages:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the packages affecting the authenticated user's quota
      operationId: userListQuotaPackages
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      responses:
        '200':
          $ref: '#/responses/QuotaUsedPackageList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
  /user/repos:
    get:
      produces:
      - application/json
      tags:
      - user
      summary: List the repos that the authenticated user owns
      operationId: userCurrentListRepos
      parameters:
      - type: integer
        description: page number of results to return (1-based)
        name: page
        in: query
      - type: integer
        description: page size of results
        name: limit
        in: query
      - enum:
        - name
        - id
        - newest
        - oldest
        - recentupdate
        - leastupdate
        - reversealphabetically
        - alphabetically
        - reversesize
        - size
        - reversegitsize
        - gitsize
        - reverselfssize
        - lfssize
        - moststars
        - feweststars
        - mostforks
        - fewestforks
        type: string
        description: order the repositories
        name: order_by
        in: query
      responses:
        '200':
          $ref: '#/responses/RepositoryList'
        '401':
          $ref: '#/responses/unauthorized'
        '403':
          $ref: '#/responses/forbidden'
        '422':
          $ref: 

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