openapi: 3.0.0
servers:
  - url: /api/v1
info:
  contact:
    x-twitter: giteaio
  description: This documentation describes the Gitea API.
  license:
    name: MIT
    url: http://opensource.org/licenses/MIT
  title: Gitea API.
  version: 1.20.0+dev-539-g5e389228f
  x-apisguru-categories:
    - developer_tools
  x-logo:
    url: https://twitter.com/giteaio/profile_image?size=original
  x-origin:
    - format: openapi
      url: https://try.gitea.io/swagger.v1.json
      version: "3.0"
  x-providerName: gitea.io
security:
  - BasicAuth: []
  - Token: []
  - AccessToken: []
  - AuthorizationHeaderToken: []
  - SudoParam: []
  - SudoHeader: []
  - TOTPHeader: []
paths:
  "/activitypub/user-id/{user-id}":
    get:
      operationId: activitypubPerson
      parameters:
        - description: user ID of the user
          in: path
          name: user-id
          required: true
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ActivityPub"
      summary: Returns the Person actor for a user
      tags:
        - activitypub
  "/activitypub/user-id/{user-id}/inbox":
    post:
      operationId: activitypubPersonInbox
      parameters:
        - description: user ID of the user
          in: path
          name: user-id
          required: true
          schema:
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Send to the inbox
      tags:
        - activitypub
  /admin/cron:
    get:
      operationId: adminCronList
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CronList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List cron tasks
      tags:
        - admin
  "/admin/cron/{task}":
    post:
      operationId: adminCronRun
      parameters:
        - description: task to run
          in: path
          name: task
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Run cron task
      tags:
        - admin
  /admin/emails:
    get:
      operationId: adminGetAllEmails
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/EmailList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List all emails
      tags:
        - admin
  /admin/emails/search:
    get:
      operationId: adminSearchEmails
      parameters:
        - description: keyword
          in: query
          name: q
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/EmailList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Search all emails
      tags:
        - admin
  /admin/hooks:
    get:
      operationId: adminListHooks
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/HookList"
      summary: List system's webhooks
      tags:
        - admin
    post:
      operationId: adminCreateHook
      requestBody:
        $ref: "#/components/requestBodies/CreateHookOption"
      responses:
        "201":
          $ref: "#/components/responses/Hook"
      summary: Create a hook
      tags:
        - admin
  "/admin/hooks/{id}":
    get:
      operationId: adminGetHook
      parameters:
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Get a hook
      tags:
        - admin
    patch:
      operationId: adminEditHook
      parameters:
        - description: id of the hook to update
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditHookOption"
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Update a hook
      tags:
        - admin
  /admin/orgs:
    get:
      operationId: adminGetAllOrgs
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OrganizationList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List all organizations
      tags:
        - admin
  /admin/unadopted:
    get:
      operationId: adminUnadoptedList
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
        - description: pattern of repositories to search for
          in: query
          name: pattern
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/StringSlice"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List unadopted repositories
      tags:
        - admin
  "/admin/unadopted/{owner}/{repo}":
    delete:
      operationId: adminDeleteUnadoptedRepository
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Delete unadopted files
      tags:
        - admin
    post:
      operationId: adminAdoptRepository
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Adopt unadopted files as a repository
      tags:
        - admin
  /admin/users:
    get:
      operationId: adminSearchUsers
      parameters:
        - description: ID of the user's login source to search for
          in: query
          name: source_id
          schema:
            format: int64
            type: integer
        - description: user's login name to search for
          in: query
          name: login_name
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Search users according filter conditions
      tags:
        - admin
    post:
      operationId: adminCreateUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateUserOption"
      responses:
        "201":
          $ref: "#/components/responses/User"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a user
      tags:
        - admin
  "/admin/users/{username}":
    delete:
      operationId: adminDeleteUser
      parameters:
        - description: username of user to delete
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: purge the user from the system completely
          in: query
          name: purge
          schema:
            type: boolean
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Delete a user
      tags:
        - admin
    patch:
      operationId: adminEditUser
      parameters:
        - description: username of user to edit
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditUserOption"
      responses:
        "200":
          $ref: "#/components/responses/User"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Edit an existing user
      tags:
        - admin
  "/admin/users/{username}/keys":
    post:
      operationId: adminCreatePublicKey
      parameters:
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateKeyOption"
      responses:
        "201":
          $ref: "#/components/responses/PublicKey"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Add a public key on behalf of a user
      tags:
        - admin
  "/admin/users/{username}/keys/{id}":
    delete:
      operationId: adminDeleteUserPublicKey
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: id of the key to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a user's public key
      tags:
        - admin
  "/admin/users/{username}/orgs":
    post:
      operationId: adminCreateOrg
      parameters:
        - description: username of the user that will own the created organization
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateOrgOption"
      responses:
        "201":
          $ref: "#/components/responses/Organization"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create an organization
      tags:
        - admin
  "/admin/users/{username}/rename":
    post:
      operationId: adminRenameUser
      parameters:
        - description: existing username of user
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RenameUserOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/RenameUserOption"
        required: true
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Rename a user
      tags:
        - admin
  "/admin/users/{username}/repos":
    post:
      operationId: adminCreateRepo
      parameters:
        - description: username of the user. This user will own the created repository
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateRepoOption"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a repository on behalf of a user
      tags:
        - admin
  "/amdin/hooks/{id}":
    delete:
      operationId: adminDeleteHook
      parameters:
        - description: id of the hook to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a hook
      tags:
        - admin
  /markdown:
    post:
      operationId: renderMarkdown
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MarkdownOption"
      responses:
        "200":
          $ref: "#/components/responses/MarkdownRender"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Render a markdown document as HTML
      tags:
        - miscellaneous
  /markdown/raw:
    post:
      operationId: renderMarkdownRaw
      requestBody:
        content:
          text/plain:
            schema:
              type: string
        description: Request body to render
        required: true
      responses:
        "200":
          $ref: "#/components/responses/MarkdownRender"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Render raw markdown as HTML
      tags:
        - miscellaneous
  /markup:
    post:
      operationId: renderMarkup
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MarkupOption"
      responses:
        "200":
          $ref: "#/components/responses/MarkupRender"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Render a markup document as HTML
      tags:
        - miscellaneous
  /nodeinfo:
    get:
      operationId: getNodeInfo
      responses:
        "200":
          $ref: "#/components/responses/NodeInfo"
      summary: Returns the nodeinfo of the Gitea application
      tags:
        - miscellaneous
  /notifications:
    get:
      operationId: notifyGetList
      parameters:
        - description: If true, show notifications marked as read. Default value is false
          in: query
          name: all
          schema:
            type: boolean
        - description: "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread & pinned."
          explode: true
          in: query
          name: status-types
          schema:
            items:
              type: string
            type: array
        - description: filter notifications by subject type
          explode: true
          in: query
          name: subject-type
          schema:
            items:
              enum:
                - issue
                - pull
                - commit
                - repository
              type: string
            type: array
        - description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/NotificationThreadList"
      summary: List users's notification threads
      tags:
        - notification
    put:
      operationId: notifyReadList
      parameters:
        - description: Describes the last point that notifications were checked. Anything updated since this time will not be updated.
          in: query
          name: last_read_at
          schema:
            format: date-time
            type: string
        - description: If true, mark all notifications on this repo. Default value is false
          in: query
          name: all
          schema:
            type: string
        - description: "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread."
          explode: true
          in: query
          name: status-types
          schema:
            items:
              type: string
            type: array
        - description: Status to mark notifications as, Defaults to read.
          in: query
          name: to-status
          schema:
            type: string
      responses:
        "205":
          $ref: "#/components/responses/NotificationThreadList"
      summary: Mark notification threads as read, pinned or unread
      tags:
        - notification
  /notifications/new:
    get:
      operationId: notifyNewAvailable
      responses:
        "200":
          $ref: "#/components/responses/NotificationCount"
      summary: Check if unread notifications exist
      tags:
        - notification
  "/notifications/threads/{id}":
    get:
      operationId: notifyGetThread
      parameters:
        - description: id of notification thread
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/NotificationThread"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get notification thread by ID
      tags:
        - notification
    patch:
      operationId: notifyReadThread
      parameters:
        - description: id of notification thread
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Status to mark notifications as
          in: query
          name: to-status
          schema:
            default: read
            type: string
      responses:
        "205":
          $ref: "#/components/responses/NotificationThread"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Mark notification thread as read by ID
      tags:
        - notification
  "/org/{org}/repos":
    post:
      deprecated: true
      operationId: createOrgRepoDeprecated
      parameters:
        - description: name of organization
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateRepoOption"
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a repository in an organization
      tags:
        - organization
  /orgs:
    get:
      operationId: orgGetAll
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OrganizationList"
      summary: Get list of organizations
      tags:
        - organization
    post:
      operationId: orgCreate
      requestBody:
        $ref: "#/components/requestBodies/CreateOrgOption"
      responses:
        "201":
          $ref: "#/components/responses/Organization"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create an organization
      tags:
        - organization
  "/orgs/{org}":
    delete:
      operationId: orgDelete
      parameters:
        - description: organization that is to be deleted
          in: path
          name: org
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete an organization
      tags:
        - organization
    get:
      operationId: orgGet
      parameters:
        - description: name of the organization to get
          in: path
          name: org
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Organization"
      summary: Get an organization
      tags:
        - organization
    patch:
      operationId: orgEdit
      parameters:
        - description: name of the organization to edit
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditOrgOption"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/Organization"
      summary: Edit an organization
      tags:
        - organization
  "/orgs/{org}/activities/feeds":
    get:
      operationId: orgListActivityFeeds
      parameters:
        - description: name of the org
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: the date of the activities to be found
          in: query
          name: date
          schema:
            format: date
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ActivityFeedsList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List an organization's activity feeds
      tags:
        - organization
  "/orgs/{org}/hooks":
    get:
      operationId: orgListHooks
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/HookList"
      summary: List an organization's webhooks
      tags:
        - organization
    post:
      operationId: orgCreateHook
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateHookOption"
      responses:
        "201":
          $ref: "#/components/responses/Hook"
      summary: Create a hook
      tags:
        - organization
  "/orgs/{org}/hooks/{id}":
    delete:
      operationId: orgDeleteHook
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the hook to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a hook
      tags:
        - organization
    get:
      operationId: orgGetHook
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Get a hook
      tags:
        - organization
    patch:
      operationId: orgEditHook
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the hook to update
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditHookOption"
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Update a hook
      tags:
        - organization
  "/orgs/{org}/labels":
    get:
      operationId: orgListLabels
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/LabelList"
      summary: List an organization's labels
      tags:
        - organization
    post:
      operationId: orgCreateLabel
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateLabelOption"
      responses:
        "201":
          $ref: "#/components/responses/Label"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a label for an organization
      tags:
        - organization
  "/orgs/{org}/labels/{id}":
    delete:
      operationId: orgDeleteLabel
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the label to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a label
      tags:
        - organization
    get:
      operationId: orgGetLabel
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the label to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Label"
      summary: Get a single label
      tags:
        - organization
    patch:
      operationId: orgEditLabel
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: id of the label to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditLabelOption"
      responses:
        "200":
          $ref: "#/components/responses/Label"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Update a label
      tags:
        - organization
  "/orgs/{org}/members":
    get:
      operationId: orgListMembers
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List an organization's members
      tags:
        - organization
  "/orgs/{org}/members/{username}":
    delete:
      operationId: orgDeleteMember
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          description: member removed
      summary: Remove a member from an organization
      tags:
        - organization
    get:
      operationId: orgIsMember
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          description: user is a member
        "303":
          description: redirection to /orgs/{org}/public_members/{username}
        "404":
          description: user is not a member
      summary: Check if a user is a member of an organization
      tags:
        - organization
  "/orgs/{org}/public_members":
    get:
      operationId: orgListPublicMembers
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List an organization's public members
      tags:
        - organization
  "/orgs/{org}/public_members/{username}":
    delete:
      operationId: orgConcealMember
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Conceal a user's membership
      tags:
        - organization
    get:
      operationId: orgIsPublicMember
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          description: user is a public member
        "404":
          description: user is not a public member
      summary: Check if a user is a public member of an organization
      tags:
        - organization
    put:
      operationId: orgPublicizeMember
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          description: membership publicized
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Publicize a user's membership
      tags:
        - organization
  "/orgs/{org}/repos":
    get:
      operationId: orgListRepos
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List an organization's repos
      tags:
        - organization
    post:
      operationId: createOrgRepo
      parameters:
        - description: name of organization
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateRepoOption"
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Create a repository in an organization
      tags:
        - organization
  "/orgs/{org}/teams":
    get:
      operationId: orgListTeams
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TeamList"
      summary: List an organization's teams
      tags:
        - organization
    post:
      operationId: orgCreateTeam
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateTeamOption"
      responses:
        "201":
          $ref: "#/components/responses/Team"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a team
      tags:
        - organization
  "/orgs/{org}/teams/search":
    get:
      operationId: teamSearch
      parameters:
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: keywords to search
          in: query
          name: q
          schema:
            type: string
        - description: include search within team description (defaults to true)
          in: query
          name: include_desc
          schema:
            type: boolean
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: "#/components/schemas/Team"
                    type: array
                  ok:
                    type: boolean
                type: object
          description: SearchResults of a successful search
      summary: Search for teams within an organization
      tags:
        - organization
  "/packages/{owner}":
    get:
      operationId: listPackages
      parameters:
        - description: owner of the packages
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
        - description: package type filter
          in: query
          name: type
          schema:
            enum:
              - cargo
              - chef
              - composer
              - conan
              - conda
              - container
              - generic
              - helm
              - maven
              - npm
              - nuget
              - pub
              - pypi
              - rubygems
              - swift
              - vagrant
            type: string
        - description: name filter
          in: query
          name: q
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/PackageList"
      summary: Gets all packages of an owner
      tags:
        - package
  "/packages/{owner}/{type}/{name}/{version}":
    delete:
      operationId: deletePackage
      parameters:
        - description: owner of the package
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: type of the package
          in: path
          name: type
          required: true
          schema:
            type: string
        - description: name of the package
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: version of the package
          in: path
          name: version
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a package
      tags:
        - package
    get:
      operationId: getPackage
      parameters:
        - description: owner of the package
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: type of the package
          in: path
          name: type
          required: true
          schema:
            type: string
        - description: name of the package
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: version of the package
          in: path
          name: version
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Package"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Gets a package
      tags:
        - package
  "/packages/{owner}/{type}/{name}/{version}/files":
    get:
      operationId: listPackageFiles
      parameters:
        - description: owner of the package
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: type of the package
          in: path
          name: type
          required: true
          schema:
            type: string
        - description: name of the package
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: version of the package
          in: path
          name: version
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/PackageFileList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Gets all files of a package
      tags:
        - package
  /repos/issues/search:
    get:
      operationId: issueSearchIssues
      parameters:
        - description: whether issue is open or closed
          in: query
          name: state
          schema:
            type: string
        - description: comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded
          in: query
          name: labels
          schema:
            type: string
        - description: comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded
          in: query
          name: milestones
          schema:
            type: string
        - description: search string
          in: query
          name: q
          schema:
            type: string
        - description: repository to prioritize in the results
          in: query
          name: priority_repo_id
          schema:
            format: int64
            type: integer
        - description: filter by type (issues / pulls) if set
          in: query
          name: type
          schema:
            type: string
        - description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: filter (issues / pulls) assigned to you, default is false
          in: query
          name: assigned
          schema:
            type: boolean
        - description: filter (issues / pulls) created by you, default is false
          in: query
          name: created
          schema:
            type: boolean
        - description: filter (issues / pulls) mentioning you, default is false
          in: query
          name: mentioned
          schema:
            type: boolean
        - description: filter pulls requesting your review, default is false
          in: query
          name: review_requested
          schema:
            type: boolean
        - description: filter pulls reviewed by you, default is false
          in: query
          name: reviewed
          schema:
            type: boolean
        - description: filter by owner
          in: query
          name: owner
          schema:
            type: string
        - description: filter by team (requires organization owner parameter to be provided)
          in: query
          name: team
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/IssueList"
      summary: Search for issues across the repositories that the user has access to
      tags:
        - issue
  /repos/migrate:
    post:
      operationId: repoMigrate
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MigrateRepoOptions"
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "409":
          description: The repository with the same name already exists.
        "422":
          $ref: "#/components/responses/validationError"
      summary: Migrate a remote git repository
      tags:
        - repository
  /repos/search:
    get:
      operationId: repoSearch
      parameters:
        - description: keyword
          in: query
          name: q
          schema:
            type: string
        - description: Limit search to repositories with keyword as topic
          in: query
          name: topic
          schema:
            type: boolean
        - description: include search of keyword within repository description
          in: query
          name: includeDesc
          schema:
            type: boolean
        - description: search only for repos that the user with the given id owns or contributes to
          in: query
          name: uid
          schema:
            format: int64
            type: integer
        - description: repo owner to prioritize in the results
          in: query
          name: priority_owner_id
          schema:
            format: int64
            type: integer
        - description: search only for repos that belong to the given team id
          in: query
          name: team_id
          schema:
            format: int64
            type: integer
        - description: search only for repos that the user with the given id has starred
          in: query
          name: starredBy
          schema:
            format: int64
            type: integer
        - description: include private repositories this user has access to (defaults to true)
          in: query
          name: private
          schema:
            type: boolean
        - description: show only pubic, private or all repositories (defaults to all)
          in: query
          name: is_private
          schema:
            type: boolean
        - description: include template repositories this user has access to (defaults to true)
          in: query
          name: template
          schema:
            type: boolean
        - description: show only archived, non-archived or all repositories (defaults to all)
          in: query
          name: archived
          schema:
            type: boolean
        - description: type of repository to search for. Supported values are "fork", "source", "mirror" and "collaborative"
          in: query
          name: mode
          schema:
            type: string
        - description: if `uid` is given, search only for repos that the user owns
          in: query
          name: exclusive
          schema:
            type: boolean
        - description: sort repos by attribute. Supported values are "alpha", "created", "updated", "size", and "id". Default is "alpha"
          in: query
          name: sort
          schema:
            type: string
        - description: sort order, either "asc" (ascending) or "desc" (descending). Default is "asc", ignored if "sort" is not specified.
          in: query
          name: order
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/SearchResults"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Search for repositories
      tags:
        - repository
  "/repos/{owner}/{repo}":
    delete:
      operationId: repoDelete
      parameters:
        - description: owner of the repo to delete
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to delete
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Delete a repository
      tags:
        - repository
    get:
      operationId: repoGet
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Repository"
      summary: Get a repository
      tags:
        - repository
    patch:
      operationId: repoEdit
      parameters:
        - description: owner of the repo to edit
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to edit
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditRepoOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/EditRepoOption"
        description: Properties of a repo that you can edit
      responses:
        "200":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Edit a repository's properties. Only fields that are set will be changed.
      tags:
        - repository
  "/repos/{owner}/{repo}/activities/feeds":
    get:
      operationId: repoListActivityFeeds
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the date of the activities to be found
          in: query
          name: date
          schema:
            format: date
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ActivityFeedsList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List a repository's activity feeds
      tags:
        - repository
  "/repos/{owner}/{repo}/archive/{archive}":
    get:
      operationId: repoGetArchive
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the git reference for download with attached archive format (e.g. master.zip)
          in: path
          name: archive
          required: true
          schema:
            type: string
      responses:
        "200":
          description: success
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get an archive of a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/assignees":
    get:
      operationId: repoGetAssignees
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: Return all users that have write access and can be assigned to issues
      tags:
        - repository
  "/repos/{owner}/{repo}/branch_protections":
    get:
      operationId: repoListBranchProtection
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/BranchProtectionList"
      summary: List branch protections for a repository
      tags:
        - repository
    post:
      operationId: repoCreateBranchProtection
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateBranchProtectionOption"
      responses:
        "201":
          $ref: "#/components/responses/BranchProtection"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a branch protections for a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/branch_protections/{name}":
    delete:
      operationId: repoDeleteBranchProtection
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of protected branch
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a specific branch protection for the repository
      tags:
        - repository
    get:
      operationId: repoGetBranchProtection
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of protected branch
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/BranchProtection"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a specific branch protection for the repository
      tags:
        - repository
    patch:
      operationId: repoEditBranchProtection
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of protected branch
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditBranchProtectionOption"
      responses:
        "200":
          $ref: "#/components/responses/BranchProtection"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Edit a branch protections for a repository. Only fields that are set will be changed
      tags:
        - repository
  "/repos/{owner}/{repo}/branches":
    get:
      operationId: repoListBranches
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/BranchList"
      summary: List a repository's branches
      tags:
        - repository
    post:
      operationId: repoCreateBranch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateBranchRepoOption"
      responses:
        "201":
          $ref: "#/components/responses/Branch"
        "404":
          description: The old branch does not exist.
        "409":
          description: The branch with the same name already exists.
      summary: Create a branch
      tags:
        - repository
  "/repos/{owner}/{repo}/branches/{branch}":
    delete:
      operationId: repoDeleteBranch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: branch to delete
          in: path
          name: branch
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a specific branch from a repository
      tags:
        - repository
    get:
      operationId: repoGetBranch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: branch to get
          in: path
          name: branch
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Branch"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Retrieve a specific branch from a repository, including its effective branch protection
      tags:
        - repository
  "/repos/{owner}/{repo}/collaborators":
    get:
      operationId: repoListCollaborators
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List a repository's collaborators
      tags:
        - repository
  "/repos/{owner}/{repo}/collaborators/{collaborator}":
    delete:
      operationId: repoDeleteCollaborator
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: username of the collaborator to delete
          in: path
          name: collaborator
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Delete a collaborator from a repository
      tags:
        - repository
    get:
      operationId: repoCheckCollaborator
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: username of the collaborator
          in: path
          name: collaborator
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Check if a user is a collaborator of a repository
      tags:
        - repository
    put:
      operationId: repoAddCollaborator
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: username of the collaborator to add
          in: path
          name: collaborator
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddCollaboratorOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/AddCollaboratorOption"
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Add a collaborator to a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/collaborators/{collaborator}/permission":
    get:
      operationId: repoGetRepoPermissions
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: username of the collaborator
          in: path
          name: collaborator
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/RepoCollaboratorPermission"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get repository permissions for a user
      tags:
        - repository
  "/repos/{owner}/{repo}/commits":
    get:
      operationId: repoGetAllCommits
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: SHA or branch to start listing commits from (usually 'master')
          in: query
          name: sha
          schema:
            type: string
        - description: filepath of a file/dir
          in: query
          name: path
          schema:
            type: string
        - description: include diff stats for every commit (disable for speedup, default 'true')
          in: query
          name: stat
          schema:
            type: boolean
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results (ignored if used with 'path')
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CommitList"
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          $ref: "#/components/responses/EmptyRepository"
      summary: Get a list of all commits from a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/commits/{ref}/status":
    get:
      operationId: repoGetCombinedStatusByRef
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of branch/tag/commit
          in: path
          name: ref
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CombinedStatus"
        "400":
          $ref: "#/components/responses/error"
      summary: Get a commit's combined status, by branch/tag/commit reference
      tags:
        - repository
  "/repos/{owner}/{repo}/commits/{ref}/statuses":
    get:
      operationId: repoListStatusesByRef
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of branch/tag/commit
          in: path
          name: ref
          required: true
          schema:
            type: string
        - description: type of sort
          in: query
          name: sort
          schema:
            enum:
              - oldest
              - recentupdate
              - leastupdate
              - leastindex
              - highestindex
            type: string
        - description: type of state
          in: query
          name: state
          schema:
            enum:
              - pending
              - success
              - error
              - failure
              - warning
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CommitStatusList"
        "400":
          $ref: "#/components/responses/error"
      summary: Get a commit's statuses, by branch/tag/commit reference
      tags:
        - repository
  "/repos/{owner}/{repo}/contents":
    get:
      operationId: repoGetContentsList
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: The name of the commit/branch/tag. Default the repository’s default branch (usually master)
          in: query
          name: ref
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/ContentsListResponse"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Gets the metadata of all the entries of the root dir
      tags:
        - repository
  "/repos/{owner}/{repo}/contents/{filepath}":
    delete:
      operationId: repoDeleteFile
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: path of the file to delete
          in: path
          name: filepath
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DeleteFileOptions"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/FileDeleteResponse"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/error"
      summary: Delete a file in a repository
      tags:
        - repository
    get:
      operationId: repoGetContents
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: path of the dir, file, symlink or submodule in the repo
          in: path
          name: filepath
          required: true
          schema:
            type: string
        - description: The name of the commit/branch/tag. Default the repository’s default branch (usually master)
          in: query
          name: ref
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/ContentsResponse"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir
      tags:
        - repository
    post:
      operationId: repoCreateFile
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: path of the file to create
          in: path
          name: filepath
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateFileOptions"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/FileResponse"
        "403":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/error"
      summary: Create a file in a repository
      tags:
        - repository
    put:
      operationId: repoUpdateFile
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: path of the file to update
          in: path
          name: filepath
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/UpdateFileOptions"
      responses:
        "200":
          $ref: "#/components/responses/FileResponse"
        "403":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/error"
      summary: Update a file in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/diffpatch":
    post:
      operationId: repoApplyDiffPatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/UpdateFileOptions"
      responses:
        "200":
          $ref: "#/components/responses/FileResponse"
      summary: Apply diff patch to repository
      tags:
        - repository
  "/repos/{owner}/{repo}/editorconfig/{filepath}":
    get:
      operationId: repoGetEditorConfig
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: filepath of file to get
          in: path
          name: filepath
          required: true
          schema:
            type: string
        - description: The name of the commit/branch/tag. Default the repository’s default branch (usually master)
          in: query
          name: ref
          schema:
            type: string
      responses:
        "200":
          description: success
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get the EditorConfig definitions of a file in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/forks":
    get:
      operationId: listForks
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List a repository's forks
      tags:
        - repository
    post:
      operationId: createFork
      parameters:
        - description: owner of the repo to fork
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to fork
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateForkOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/CreateForkOption"
      responses:
        "202":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "409":
          description: The repository with the same name already exists.
        "422":
          $ref: "#/components/responses/validationError"
      summary: Fork a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/git/blobs/{sha}":
    get:
      operationId: GetBlob
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: sha of the commit
          in: path
          name: sha
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/GitBlobResponse"
        "400":
          $ref: "#/components/responses/error"
      summary: Gets the blob of a repository.
      tags:
        - repository
  "/repos/{owner}/{repo}/git/commits/{sha}":
    get:
      operationId: repoGetSingleCommit
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: a git ref or commit sha
          in: path
          name: sha
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Commit"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Get a single commit from a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/git/commits/{sha}.{diffType}":
    get:
      operationId: repoDownloadCommitDiffOrPatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: SHA of the commit to get
          in: path
          name: sha
          required: true
          schema:
            type: string
        - description: whether the output is diff or patch
          in: path
          name: diffType
          required: true
          schema:
            enum:
              - diff
              - patch
            type: string
      responses:
        "200":
          $ref: "#/components/responses/string"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a commit's diff or patch
      tags:
        - repository
  "/repos/{owner}/{repo}/git/notes/{sha}":
    get:
      operationId: repoGetNote
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: a git ref or commit sha
          in: path
          name: sha
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Note"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Get a note corresponding to a single commit from a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/git/refs":
    get:
      operationId: repoListAllGitRefs
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/ReferenceList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get specified ref or filtered repository's refs
      tags:
        - repository
  "/repos/{owner}/{repo}/git/refs/{ref}":
    get:
      operationId: repoListGitRefs
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: part or full name of the ref
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/ReferenceList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get specified ref or filtered repository's refs
      tags:
        - repository
  "/repos/{owner}/{repo}/git/tags/{sha}":
    get:
      operationId: GetAnnotatedTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: sha of the tag. The Git tags API only supports annotated tag objects, not lightweight tags.
          in: path
          name: sha
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/AnnotatedTag"
        "400":
          $ref: "#/components/responses/error"
      summary: Gets the tag object of an annotated tag (not lightweight tags)
      tags:
        - repository
  "/repos/{owner}/{repo}/git/trees/{sha}":
    get:
      operationId: GetTree
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: sha of the commit
          in: path
          name: sha
          required: true
          schema:
            type: string
        - description: show all directories and files
          in: query
          name: recursive
          schema:
            type: boolean
        - description: page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page
          in: query
          name: page
          schema:
            type: integer
        - description: number of items per page
          in: query
          name: per_page
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/GitTreeResponse"
        "400":
          $ref: "#/components/responses/error"
      summary: Gets the tree of a repository.
      tags:
        - repository
  "/repos/{owner}/{repo}/hooks":
    get:
      operationId: repoListHooks
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/HookList"
      summary: List the hooks in a repository
      tags:
        - repository
    post:
      operationId: repoCreateHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateHookOption"
      responses:
        "201":
          $ref: "#/components/responses/Hook"
      summary: Create a hook
      tags:
        - repository
  "/repos/{owner}/{repo}/hooks/git":
    get:
      operationId: repoListGitHooks
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/GitHookList"
      summary: List the Git hooks in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/hooks/git/{id}":
    delete:
      operationId: repoDeleteGitHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a Git hook in a repository
      tags:
        - repository
    get:
      operationId: repoGetGitHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/GitHook"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a Git hook
      tags:
        - repository
    patch:
      operationId: repoEditGitHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditGitHookOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/EditGitHookOption"
      responses:
        "200":
          $ref: "#/components/responses/GitHook"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Edit a Git hook in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/hooks/{id}":
    delete:
      operationId: repoDeleteHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a hook in a repository
      tags:
        - repository
    get:
      operationId: repoGetHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Hook"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a hook
      tags:
        - repository
    patch:
      operationId: repoEditHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the hook
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditHookOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/EditHookOption"
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Edit a hook in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/hooks/{id}/tests":
    post:
      operationId: repoTestHook
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the hook to test
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the commit/branch/tag, indicates which commit will be loaded to the webhook payload.
          in: query
          name: ref
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Test a push webhook
      tags:
        - repository
  "/repos/{owner}/{repo}/issue_config":
    get:
      operationId: repoGetIssueConfig
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/RepoIssueConfig"
      summary: Returns the issue config for a repo
      tags:
        - repository
  "/repos/{owner}/{repo}/issue_config/validate":
    get:
      operationId: repoValidateIssueConfig
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/RepoIssueConfigValidation"
      summary: Returns the validation information for a issue config
      tags:
        - repository
  "/repos/{owner}/{repo}/issue_templates":
    get:
      operationId: repoGetIssueTemplates
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/IssueTemplates"
      summary: Get available issue templates for a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/issues":
    get:
      operationId: issueListIssues
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: whether issue is open or closed
          in: query
          name: state
          schema:
            enum:
              - closed
              - open
              - all
            type: string
        - description: comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded
          in: query
          name: labels
          schema:
            type: string
        - description: search string
          in: query
          name: q
          schema:
            type: string
        - description: filter by type (issues / pulls) if set
          in: query
          name: type
          schema:
            enum:
              - issues
              - pulls
            type: string
        - description: comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded
          in: query
          name: milestones
          schema:
            type: string
        - description: Only show items updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show items updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: Only show items which were created by the the given user
          in: query
          name: created_by
          schema:
            type: string
        - description: Only show items for which the given user is assigned
          in: query
          name: assigned_by
          schema:
            type: string
        - description: Only show items in which the given user was mentioned
          in: query
          name: mentioned_by
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/IssueList"
      summary: List a repository's issues
      tags:
        - issue
    post:
      operationId: issueCreateIssue
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateIssueOption"
      responses:
        "201":
          $ref: "#/components/responses/Issue"
        "403":
          $ref: "#/components/responses/forbidden"
        "412":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create an issue. If using deadline only the date will be taken into account, and time of day ignored.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/comments":
    get:
      operationId: issueGetRepoComments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: if provided, only comments updated since the provided time are returned.
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: if provided, only comments updated before the provided time are returned.
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CommentList"
      summary: List all comments in a repository
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/comments/{id}":
    delete:
      operationId: issueDeleteComment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of comment to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a comment
      tags:
        - issue
    get:
      operationId: issueGetComment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Comment"
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a comment
      tags:
        - issue
    patch:
      operationId: issueEditComment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditIssueCommentOption"
      responses:
        "200":
          $ref: "#/components/responses/Comment"
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Edit a comment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/comments/{id}/assets":
    get:
      operationId: issueListIssueCommentAttachments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/AttachmentList"
        "404":
          $ref: "#/components/responses/error"
      summary: List comment's attachments
      tags:
        - issue
    post:
      operationId: issueCreateIssueCommentAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: name of the attachment
          in: query
          name: name
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/issueCreateIssueCommentAttachment"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
        "400":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/error"
      summary: Create a comment attachment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}":
    delete:
      operationId: issueDeleteIssueCommentAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to delete
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/error"
      summary: Delete a comment attachment
      tags:
        - issue
    get:
      operationId: issueGetIssueCommentAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to get
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Attachment"
        "404":
          $ref: "#/components/responses/error"
      summary: Get a comment attachment
      tags:
        - issue
    patch:
      operationId: issueEditIssueCommentAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to edit
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditAttachmentOptions"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
        "404":
          $ref: "#/components/responses/error"
      summary: Edit a comment attachment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/comments/{id}/reactions":
    delete:
      operationId: issueDeleteCommentReaction
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditReactionOption"
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Remove a reaction from a comment of an issue
      tags:
        - issue
    get:
      operationId: issueGetCommentReactions
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ReactionList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Get a list of reactions from a comment of an issue
      tags:
        - issue
    post:
      operationId: issuePostCommentReaction
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the comment to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditReactionOption"
      responses:
        "200":
          $ref: "#/components/responses/Reaction"
        "201":
          $ref: "#/components/responses/Reaction"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add a reaction to a comment of an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}":
    delete:
      operationId: issueDelete
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of issue to delete
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete an issue
      tags:
        - issue
    get:
      operationId: issueGetIssue
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Issue"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get an issue
      tags:
        - issue
    patch:
      operationId: issueEditIssue
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to edit
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditIssueOption"
      responses:
        "201":
          $ref: "#/components/responses/Issue"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "412":
          $ref: "#/components/responses/error"
      summary: Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/assets":
    get:
      operationId: issueListIssueAttachments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/AttachmentList"
        "404":
          $ref: "#/components/responses/error"
      summary: List issue's attachments
      tags:
        - issue
    post:
      operationId: issueCreateIssueAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: name of the attachment
          in: query
          name: name
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/issueCreateIssueCommentAttachment"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
        "400":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/error"
      summary: Create an issue attachment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}":
    delete:
      operationId: issueDeleteIssueAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to delete
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/error"
      summary: Delete an issue attachment
      tags:
        - issue
    get:
      operationId: issueGetIssueAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to get
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Attachment"
        "404":
          $ref: "#/components/responses/error"
      summary: Get an issue attachment
      tags:
        - issue
    patch:
      operationId: issueEditIssueAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to edit
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditAttachmentOptions"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
        "404":
          $ref: "#/components/responses/error"
      summary: Edit an issue attachment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/blocks":
    delete:
      operationId: issueRemoveIssueBlocking
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/IssueMeta"
      responses:
        "200":
          $ref: "#/components/responses/Issue"
      summary: Unblock the issue given in the body by the issue in path
      tags:
        - issue
    get:
      operationId: issueListBlocks
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/IssueList"
      summary: List issues that are blocked by this issue
      tags:
        - issue
    post:
      operationId: issueCreateIssueBlocking
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/IssueMeta"
      responses:
        "201":
          $ref: "#/components/responses/Issue"
        "404":
          description: the issue does not exist
      summary: Block the issue given in the body by the issue in path
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/comments":
    get:
      operationId: issueGetComments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: if provided, only comments updated since the specified time are returned.
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: if provided, only comments updated before the provided time are returned.
          in: query
          name: before
          schema:
            format: date-time
            type: string
      responses:
        "200":
          $ref: "#/components/responses/CommentList"
      summary: List all comments on an issue
      tags:
        - issue
    post:
      operationId: issueCreateComment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateIssueCommentOption"
      responses:
        "201":
          $ref: "#/components/responses/Comment"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add a comment to an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/comments/{id}":
    delete:
      deprecated: true
      operationId: issueDeleteCommentDeprecated
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: this parameter is ignored
          in: path
          name: index
          required: true
          schema:
            type: integer
        - description: id of comment to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a comment
      tags:
        - issue
    patch:
      deprecated: true
      operationId: issueEditCommentDeprecated
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: this parameter is ignored
          in: path
          name: index
          required: true
          schema:
            type: integer
        - description: id of the comment to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditIssueCommentOption"
      responses:
        "200":
          $ref: "#/components/responses/Comment"
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Edit a comment
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/deadline":
    post:
      operationId: issueEditIssueDeadline
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to create or update a deadline on
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditDeadlineOption"
      responses:
        "201":
          $ref: "#/components/responses/IssueDeadline"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: 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.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/dependencies":
    delete:
      operationId: issueRemoveIssueDependencies
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/IssueMeta"
      responses:
        "200":
          $ref: "#/components/responses/Issue"
      summary: Remove an issue dependency
      tags:
        - issue
    get:
      operationId: issueListIssueDependencies
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/IssueList"
      summary: List an issue's dependencies, i.e all issues that block this issue.
      tags:
        - issue
    post:
      operationId: issueCreateIssueDependencies
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/IssueMeta"
      responses:
        "201":
          $ref: "#/components/responses/Issue"
        "404":
          description: the issue does not exist
      summary: Make the issue in the url depend on the issue in the form.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/labels":
    delete:
      operationId: issueClearLabels
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Remove all labels from an issue
      tags:
        - issue
    get:
      operationId: issueGetLabels
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/LabelList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get an issue's labels
      tags:
        - issue
    post:
      operationId: issueAddLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/IssueLabelsOption"
      responses:
        "200":
          $ref: "#/components/responses/LabelList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add a label to an issue
      tags:
        - issue
    put:
      operationId: issueReplaceLabels
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/IssueLabelsOption"
      responses:
        "200":
          $ref: "#/components/responses/LabelList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Replace an issue's labels
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/labels/{id}":
    delete:
      operationId: issueRemoveLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the label to remove
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Remove a label from an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/reactions":
    delete:
      operationId: issueDeleteIssueReaction
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditReactionOption"
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Remove a reaction from an issue
      tags:
        - issue
    get:
      operationId: issueGetIssueReactions
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ReactionList"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Get a list reactions of an issue
      tags:
        - issue
    post:
      operationId: issuePostIssueReaction
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditReactionOption"
      responses:
        "200":
          $ref: "#/components/responses/Reaction"
        "201":
          $ref: "#/components/responses/Reaction"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add a reaction to an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/stopwatch/delete":
    delete:
      operationId: issueDeleteStopWatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to stop the stopwatch on
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          description: Not repo writer, user does not have rights to toggle stopwatch
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          description: Cannot cancel a non existent stopwatch
      summary: Delete an issue's existing stopwatch.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/stopwatch/start":
    post:
      operationId: issueStartStopWatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to create the stopwatch on
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "201":
          $ref: "#/components/responses/empty"
        "403":
          description: Not repo writer, user does not have rights to toggle stopwatch
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          description: Cannot start a stopwatch again if it already exists
      summary: Start stopwatch on an issue.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/stopwatch/stop":
    post:
      operationId: issueStopStopWatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to stop the stopwatch on
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "201":
          $ref: "#/components/responses/empty"
        "403":
          description: Not repo writer, user does not have rights to toggle stopwatch
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          description: Cannot stop a non existent stopwatch
      summary: Stop an issue's existing stopwatch.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/subscriptions":
    get:
      operationId: issueSubscriptions
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get users who subscribed on an issue.
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/subscriptions/check":
    get:
      operationId: issueCheckSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/WatchInfo"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Check if user is subscribed to an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}":
    delete:
      operationId: issueDeleteSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: user witch unsubscribe
          in: path
          name: user
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Already unsubscribed
        "201":
          description: Successfully Unsubscribed
        "304":
          description: User can only subscribe itself if he is no admin
        "404":
          $ref: "#/components/responses/notFound"
      summary: Unsubscribe user from issue
      tags:
        - issue
    put:
      operationId: issueAddSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: user to subscribe
          in: path
          name: user
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Already subscribed
        "201":
          description: Successfully Subscribed
        "304":
          description: User can only subscribe itself if he is no admin
        "404":
          $ref: "#/components/responses/notFound"
      summary: Subscribe user to issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/timeline":
    get:
      operationId: issueGetCommentsAndTimeline
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: if provided, only comments updated since the specified time are returned.
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
        - description: if provided, only comments updated before the provided time are returned.
          in: query
          name: before
          schema:
            format: date-time
            type: string
      responses:
        "200":
          $ref: "#/components/responses/TimelineList"
      summary: List all comments and events on an issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/times":
    delete:
      operationId: issueResetTime
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue to add tracked time to
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Reset a tracked time of an issue
      tags:
        - issue
    get:
      operationId: issueTrackedTimes
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: optional filter by user (available for issue managers)
          in: query
          name: user
          schema:
            type: string
        - description: Only show times updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show times updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TrackedTimeList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List an issue's tracked times
      tags:
        - issue
    post:
      operationId: issueAddTime
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddTimeOption"
      responses:
        "200":
          $ref: "#/components/responses/TrackedTime"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add tracked time to a issue
      tags:
        - issue
  "/repos/{owner}/{repo}/issues/{index}/times/{id}":
    delete:
      operationId: issueDeleteTime
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the issue
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of time to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Delete specific tracked time
      tags:
        - issue
  "/repos/{owner}/{repo}/keys":
    get:
      operationId: repoListKeys
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the key_id to search for
          in: query
          name: key_id
          schema:
            type: integer
        - description: fingerprint of the key
          in: query
          name: fingerprint
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/DeployKeyList"
      summary: List a repository's keys
      tags:
        - repository
    post:
      operationId: repoCreateKey
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateKeyOption"
      responses:
        "201":
          $ref: "#/components/responses/DeployKey"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Add a key to a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/keys/{id}":
    delete:
      operationId: repoDeleteKey
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the key to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Delete a key from a repository
      tags:
        - repository
    get:
      operationId: repoGetKey
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the key to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/DeployKey"
      summary: Get a repository's key by id
      tags:
        - repository
  "/repos/{owner}/{repo}/labels":
    get:
      operationId: issueListLabels
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/LabelList"
      summary: Get all of a repository's labels
      tags:
        - issue
    post:
      operationId: issueCreateLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateLabelOption"
      responses:
        "201":
          $ref: "#/components/responses/Label"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a label
      tags:
        - issue
  "/repos/{owner}/{repo}/labels/{id}":
    delete:
      operationId: issueDeleteLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the label to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a label
      tags:
        - issue
    get:
      operationId: issueGetLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the label to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Label"
      summary: Get a single label
      tags:
        - issue
    patch:
      operationId: issueEditLabel
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the label to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditLabelOption"
      responses:
        "200":
          $ref: "#/components/responses/Label"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Update a label
      tags:
        - issue
  "/repos/{owner}/{repo}/languages":
    get:
      operationId: repoGetLanguages
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/LanguageStatistics"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get languages and number of bytes of code written
      tags:
        - repository
  "/repos/{owner}/{repo}/media/{filepath}":
    get:
      operationId: repoGetRawFileOrLFS
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: filepath of the file to get
          in: path
          name: filepath
          required: true
          schema:
            type: string
        - description: The name of the commit/branch/tag. Default the repository’s default branch (usually master)
          in: query
          name: ref
          schema:
            type: string
      responses:
        "200":
          description: Returns raw file content.
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a file or it's LFS object from a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/milestones":
    get:
      operationId: issueGetMilestonesList
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: Milestone state, Recognized values are open, closed and all. Defaults to "open"
          in: query
          name: state
          schema:
            type: string
        - description: filter by milestone name
          in: query
          name: name
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/MilestoneList"
      summary: Get all of a repository's opened milestones
      tags:
        - issue
    post:
      operationId: issueCreateMilestone
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateMilestoneOption"
      responses:
        "201":
          $ref: "#/components/responses/Milestone"
      summary: Create a milestone
      tags:
        - issue
  "/repos/{owner}/{repo}/milestones/{id}":
    delete:
      operationId: issueDeleteMilestone
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the milestone to delete, identified by ID and if not available by name
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a milestone
      tags:
        - issue
    get:
      operationId: issueGetMilestone
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the milestone to get, identified by ID and if not available by name
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Milestone"
      summary: Get a milestone
      tags:
        - issue
    patch:
      operationId: issueEditMilestone
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: the milestone to edit, identified by ID and if not available by name
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditMilestoneOption"
      responses:
        "200":
          $ref: "#/components/responses/Milestone"
      summary: Update a milestone
      tags:
        - issue
  "/repos/{owner}/{repo}/mirror-sync":
    post:
      operationId: repoMirrorSync
      parameters:
        - description: owner of the repo to sync
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to sync
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Sync a mirrored repository
      tags:
        - repository
  "/repos/{owner}/{repo}/notifications":
    get:
      operationId: notifyGetRepoList
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: If true, show notifications marked as read. Default value is false
          in: query
          name: all
          schema:
            type: boolean
        - description: "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread & pinned"
          explode: true
          in: query
          name: status-types
          schema:
            items:
              type: string
            type: array
        - description: filter notifications by subject type
          explode: true
          in: query
          name: subject-type
          schema:
            items:
              enum:
                - issue
                - pull
                - commit
                - repository
              type: string
            type: array
        - description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/NotificationThreadList"
      summary: List users's notification threads on a specific repo
      tags:
        - notification
    put:
      operationId: notifyReadRepoList
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: If true, mark all notifications on this repo. Default value is false
          in: query
          name: all
          schema:
            type: string
        - description: "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread."
          explode: true
          in: query
          name: status-types
          schema:
            items:
              type: string
            type: array
        - description: Status to mark notifications as. Defaults to read.
          in: query
          name: to-status
          schema:
            type: string
        - description: Describes the last point that notifications were checked. Anything updated since this time will not be updated.
          in: query
          name: last_read_at
          schema:
            format: date-time
            type: string
      responses:
        "205":
          $ref: "#/components/responses/NotificationThreadList"
      summary: Mark notification threads as read, pinned or unread on a specific repo
      tags:
        - notification
  "/repos/{owner}/{repo}/pulls":
    get:
      operationId: repoListPullRequests
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: "State of pull request: open or closed (optional)"
          in: query
          name: state
          schema:
            enum:
              - closed
              - open
              - all
            type: string
        - description: Type of sort
          in: query
          name: sort
          schema:
            enum:
              - oldest
              - recentupdate
              - leastupdate
              - mostcomment
              - leastcomment
              - priority
            type: string
        - description: ID of the milestone
          in: query
          name: milestone
          schema:
            format: int64
            type: integer
        - description: Label IDs
          explode: true
          in: query
          name: labels
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullRequestList"
      summary: List a repo's pull requests
      tags:
        - repository
    post:
      operationId: repoCreatePullRequest
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePullRequestOption"
      responses:
        "201":
          $ref: "#/components/responses/PullRequest"
        "409":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}":
    get:
      operationId: repoGetPullRequest
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullRequest"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a pull request
      tags:
        - repository
    patch:
      operationId: repoEditPullRequest
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to edit
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditPullRequestOption"
      responses:
        "201":
          $ref: "#/components/responses/PullRequest"
        "403":
          $ref: "#/components/responses/forbidden"
        "409":
          $ref: "#/components/responses/error"
        "412":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Update a pull request. If using deadline only the date will be taken into account, and time of day ignored.
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}.{diffType}":
    get:
      operationId: repoDownloadPullDiffOrPatch
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: whether the output is diff or patch
          in: path
          name: diffType
          required: true
          schema:
            enum:
              - diff
              - patch
            type: string
        - description: whether to include binary file changes. if true, the diff is applicable with `git apply`
          in: query
          name: binary
          schema:
            type: boolean
      responses:
        "200":
          $ref: "#/components/responses/string"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a pull request diff or patch
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/commits":
    get:
      operationId: repoGetPullRequestCommits
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CommitList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get commits for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/files":
    get:
      operationId: repoGetPullRequestFiles
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: skip to given file
          in: query
          name: skip-to
          schema:
            type: string
        - description: whitespace behavior
          in: query
          name: whitespace
          schema:
            enum:
              - ignore-all
              - ignore-change
              - ignore-eol
              - show-all
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ChangedFileList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get changed files for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/merge":
    delete:
      operationId: repoCancelScheduledAutoMerge
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to merge
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Cancel the scheduled auto merge for the given pull request
      tags:
        - repository
    get:
      operationId: repoPullRequestIsMerged
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: pull request has been merged
        "404":
          description: pull request has not been merged
      summary: Check if a pull request has been merged
      tags:
        - repository
    post:
      operationId: repoMergePullRequest
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to merge
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MergePullRequestOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/MergePullRequestOption"
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "405":
          $ref: "#/components/responses/empty"
        "409":
          $ref: "#/components/responses/error"
      summary: Merge a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/requested_reviewers":
    delete:
      operationId: repoDeletePullReviewRequests
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/PullReviewRequestOptions"
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: cancel review requests for a pull request
      tags:
        - repository
    post:
      operationId: repoCreatePullReviewRequests
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/PullReviewRequestOptions"
      responses:
        "201":
          $ref: "#/components/responses/PullReviewList"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: create review requests for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/reviews":
    get:
      operationId: repoListPullReviews
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullReviewList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List all reviews for a pull request
      tags:
        - repository
    post:
      operationId: repoCreatePullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePullReviewOptions"
          text/plain:
            schema:
              $ref: "#/components/schemas/CreatePullReviewOptions"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/PullReview"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a review to an pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}":
    delete:
      operationId: repoDeletePullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a specific review from a pull request
      tags:
        - repository
    get:
      operationId: repoGetPullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullReview"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a specific review for a pull request
      tags:
        - repository
    post:
      operationId: repoSubmitPullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SubmitPullReviewOptions"
          text/plain:
            schema:
              $ref: "#/components/schemas/SubmitPullReviewOptions"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/PullReview"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Submit a pending review to an pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments":
    get:
      operationId: repoGetPullReviewComments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullReviewCommentList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a specific review for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals":
    post:
      operationId: repoDismissPullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DismissPullReviewOptions"
          text/plain:
            schema:
              $ref: "#/components/schemas/DismissPullReviewOptions"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/PullReview"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Dismiss a review for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals":
    post:
      operationId: repoUnDismissPullReview
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the review
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PullReview"
        "403":
          $ref: "#/components/responses/forbidden"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Cancel to dismiss a review for a pull request
      tags:
        - repository
  "/repos/{owner}/{repo}/pulls/{index}/update":
    post:
      operationId: repoUpdatePullRequest
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: index of the pull request to get
          in: path
          name: index
          required: true
          schema:
            format: int64
            type: integer
        - description: how to update pull request
          in: query
          name: style
          schema:
            enum:
              - merge
              - rebase
            type: string
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Merge PR's baseBranch into headBranch
      tags:
        - repository
  "/repos/{owner}/{repo}/push_mirrors":
    get:
      operationId: repoListPushMirrors
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PushMirrorList"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Get all push mirrors of the repository
      tags:
        - repository
    post:
      operationId: repoAddPushMirror
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePushMirrorOption"
      responses:
        "201":
          $ref: "#/components/responses/PushMirror"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: add a push mirror to the repository
      tags:
        - repository
  "/repos/{owner}/{repo}/push_mirrors-sync":
    post:
      operationId: repoPushMirrorSync
      parameters:
        - description: owner of the repo to sync
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to sync
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/empty"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Sync all push mirrored repository
      tags:
        - repository
  "/repos/{owner}/{repo}/push_mirrors/{name}":
    delete:
      operationId: repoDeletePushMirror
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: remote name of the pushMirror
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "400":
          $ref: "#/components/responses/error"
        "404":
          $ref: "#/components/responses/notFound"
      summary: deletes a push mirror from a repository by remoteName
      tags:
        - repository
    get:
      operationId: repoGetPushMirrorByRemoteName
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: remote name of push mirror
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/PushMirror"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Get push mirror of the repository by remoteName
      tags:
        - repository
  "/repos/{owner}/{repo}/raw/{filepath}":
    get:
      operationId: repoGetRawFile
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: filepath of the file to get
          in: path
          name: filepath
          required: true
          schema:
            type: string
        - description: The name of the commit/branch/tag. Default the repository’s default branch (usually master)
          in: query
          name: ref
          schema:
            type: string
      responses:
        "200":
          description: Returns raw file content.
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a file from a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/releases":
    get:
      operationId: repoListReleases
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: filter (exclude / include) drafts, if you dont have repo write access none will show
          in: query
          name: draft
          schema:
            type: boolean
        - description: filter (exclude / include) pre-releases
          in: query
          name: pre-release
          schema:
            type: boolean
        - description: page size of results, deprecated - use limit
          in: query
          name: per_page
          schema:
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ReleaseList"
      summary: List a repo's releases
      tags:
        - repository
    post:
      operationId: repoCreateRelease
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateReleaseOption"
      responses:
        "201":
          $ref: "#/components/responses/Release"
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          $ref: "#/components/responses/error"
      summary: Create a release
      tags:
        - repository
  "/repos/{owner}/{repo}/releases/latest":
    get:
      operationId: repoGetLatestRelease
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Release"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Gets the most recent non-prerelease, non-draft release of a repository, sorted by created_at
      tags:
        - repository
  "/repos/{owner}/{repo}/releases/tags/{tag}":
    delete:
      operationId: repoDeleteReleaseByTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: tag name of the release to delete
          in: path
          name: tag
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "405":
          $ref: "#/components/responses/empty"
      summary: Delete a release by tag name
      tags:
        - repository
    get:
      operationId: repoGetReleaseByTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: tag name of the release to get
          in: path
          name: tag
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Release"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a release by tag name
      tags:
        - repository
  "/repos/{owner}/{repo}/releases/{id}":
    delete:
      operationId: repoDeleteRelease
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "405":
          $ref: "#/components/responses/empty"
      summary: Delete a release
      tags:
        - repository
    get:
      operationId: repoGetRelease
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Release"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a release
      tags:
        - repository
    patch:
      operationId: repoEditRelease
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release to edit
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditReleaseOption"
      responses:
        "200":
          $ref: "#/components/responses/Release"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Update a release
      tags:
        - repository
  "/repos/{owner}/{repo}/releases/{id}/assets":
    get:
      operationId: repoListReleaseAttachments
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/AttachmentList"
      summary: List release's attachments
      tags:
        - repository
    post:
      operationId: repoCreateReleaseAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: name of the attachment
          in: query
          name: name
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/issueCreateIssueCommentAttachment"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
        "400":
          $ref: "#/components/responses/error"
      summary: Create a release attachment
      tags:
        - repository
  "/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}":
    delete:
      operationId: repoDeleteReleaseAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to delete
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a release attachment
      tags:
        - repository
    get:
      operationId: repoGetReleaseAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to get
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Attachment"
      summary: Get a release attachment
      tags:
        - repository
    patch:
      operationId: repoEditReleaseAttachment
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: id of the release
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: id of the attachment to edit
          in: path
          name: attachment_id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditAttachmentOptions"
      responses:
        "201":
          $ref: "#/components/responses/Attachment"
      summary: Edit a release attachment
      tags:
        - repository
  "/repos/{owner}/{repo}/reviewers":
    get:
      operationId: repoGetReviewers
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: Return all users that can be requested to review in this repo
      tags:
        - repository
  "/repos/{owner}/{repo}/signing-key.gpg":
    get:
      operationId: repoSigningKey
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            text/plain:
              schema:
                type: string
          description: GPG armored public key
      summary: Get signing-key.gpg for given repository
      tags:
        - repository
  "/repos/{owner}/{repo}/stargazers":
    get:
      operationId: repoListStargazers
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List a repo's stargazers
      tags:
        - repository
  "/repos/{owner}/{repo}/statuses/{sha}":
    get:
      operationId: repoListStatuses
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: sha of the commit
          in: path
          name: sha
          required: true
          schema:
            type: string
        - description: type of sort
          in: query
          name: sort
          schema:
            enum:
              - oldest
              - recentupdate
              - leastupdate
              - leastindex
              - highestindex
            type: string
        - description: type of state
          in: query
          name: state
          schema:
            enum:
              - pending
              - success
              - error
              - failure
              - warning
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/CommitStatusList"
        "400":
          $ref: "#/components/responses/error"
      summary: Get a commit's statuses
      tags:
        - repository
    post:
      operationId: repoCreateStatus
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: sha of the commit
          in: path
          name: sha
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateStatusOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/CreateStatusOption"
      responses:
        "201":
          $ref: "#/components/responses/CommitStatus"
        "400":
          $ref: "#/components/responses/error"
      summary: Create a commit status
      tags:
        - repository
  "/repos/{owner}/{repo}/subscribers":
    get:
      operationId: repoListSubscribers
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List a repo's watchers
      tags:
        - repository
  "/repos/{owner}/{repo}/subscription":
    delete:
      operationId: userCurrentDeleteSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Unwatch a repo
      tags:
        - repository
    get:
      operationId: userCurrentCheckSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/WatchInfo"
        "404":
          description: User is not watching this repo or repo do not exist
      summary: Check if the current user is watching a repo
      tags:
        - repository
    put:
      operationId: userCurrentPutSubscription
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/WatchInfo"
      summary: Watch a repo
      tags:
        - repository
  "/repos/{owner}/{repo}/tags":
    get:
      operationId: repoListTags
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results, default maximum page size is 50
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TagList"
      summary: List a repository's tags
      tags:
        - repository
    post:
      operationId: repoCreateTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateTagOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/CreateTagOption"
      responses:
        "200":
          $ref: "#/components/responses/Tag"
        "404":
          $ref: "#/components/responses/notFound"
        "405":
          $ref: "#/components/responses/empty"
        "409":
          $ref: "#/components/responses/conflict"
      summary: Create a new git tag in a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/tags/{tag}":
    delete:
      operationId: repoDeleteTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of tag to delete
          in: path
          name: tag
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "405":
          $ref: "#/components/responses/empty"
        "409":
          $ref: "#/components/responses/conflict"
      summary: Delete a repository's tag by name
      tags:
        - repository
    get:
      operationId: repoGetTag
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of tag
          in: path
          name: tag
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Tag"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get the tag of a repository by tag name
      tags:
        - repository
  "/repos/{owner}/{repo}/teams":
    get:
      operationId: repoListTeams
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/TeamList"
      summary: List a repository's teams
      tags:
        - repository
  "/repos/{owner}/{repo}/teams/{team}":
    delete:
      operationId: repoDeleteTeam
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: team name
          in: path
          name: team
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "405":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Delete a team from a repository
      tags:
        - repository
    get:
      operationId: repoCheckTeam
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: team name
          in: path
          name: team
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Team"
        "404":
          $ref: "#/components/responses/notFound"
        "405":
          $ref: "#/components/responses/error"
      summary: Check if a team is assigned to a repository
      tags:
        - repository
    put:
      operationId: repoAddTeam
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: team name
          in: path
          name: team
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "405":
          $ref: "#/components/responses/error"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Add a team to a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/times":
    get:
      operationId: repoTrackedTimes
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: optional filter by user (available for issue managers)
          in: query
          name: user
          schema:
            type: string
        - description: Only show times updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show times updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TrackedTimeList"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List a repo's tracked times
      tags:
        - repository
  "/repos/{owner}/{repo}/times/{user}":
    get:
      deprecated: true
      operationId: userTrackedTimes
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: username of user
          in: path
          name: user
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/TrackedTimeList"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: List a user's tracked times in a repo
      tags:
        - repository
  "/repos/{owner}/{repo}/topics":
    get:
      operationId: repoListTopics
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TopicNames"
      summary: Get list of topics that a repository has
      tags:
        - repository
    put:
      operationId: repoUpdateTopics
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RepoTopicOptions"
          text/plain:
            schema:
              $ref: "#/components/schemas/RepoTopicOptions"
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "422":
          $ref: "#/components/responses/invalidTopicsError"
      summary: Replace list of topics for a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/topics/{topic}":
    delete:
      operationId: repoDeleteTopic
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the topic to delete
          in: path
          name: topic
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "422":
          $ref: "#/components/responses/invalidTopicsError"
      summary: Delete a topic from a repository
      tags:
        - repository
    put:
      operationId: repoAddTopic
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the topic to add
          in: path
          name: topic
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "422":
          $ref: "#/components/responses/invalidTopicsError"
      summary: Add a topic to a repository
      tags:
        - repository
  "/repos/{owner}/{repo}/transfer":
    post:
      operationId: repoTransfer
      parameters:
        - description: owner of the repo to transfer
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to transfer
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransferRepoOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/TransferRepoOption"
        description: Transfer Options
        required: true
      responses:
        "202":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Transfer a repo ownership
      tags:
        - repository
  "/repos/{owner}/{repo}/transfer/accept":
    post:
      operationId: acceptRepoTransfer
      parameters:
        - description: owner of the repo to transfer
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to transfer
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "202":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Accept a repo transfer
      tags:
        - repository
  "/repos/{owner}/{repo}/transfer/reject":
    post:
      operationId: rejectRepoTransfer
      parameters:
        - description: owner of the repo to transfer
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to transfer
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Reject a repo transfer
      tags:
        - repository
  "/repos/{owner}/{repo}/wiki/new":
    post:
      operationId: repoCreateWikiPage
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateWikiPageOptions"
      responses:
        "201":
          $ref: "#/components/responses/WikiPage"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Create a wiki page
      tags:
        - repository
  "/repos/{owner}/{repo}/wiki/page/{pageName}":
    delete:
      operationId: repoDeleteWikiPage
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the page
          in: path
          name: pageName
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a wiki page
      tags:
        - repository
    get:
      operationId: repoGetWikiPage
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the page
          in: path
          name: pageName
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/WikiPage"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a wiki page
      tags:
        - repository
    patch:
      operationId: repoEditWikiPage
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the page
          in: path
          name: pageName
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/CreateWikiPageOptions"
      responses:
        "200":
          $ref: "#/components/responses/WikiPage"
        "400":
          $ref: "#/components/responses/error"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Edit a wiki page
      tags:
        - repository
  "/repos/{owner}/{repo}/wiki/pages":
    get:
      operationId: repoGetWikiPages
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/WikiPageList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get all wiki pages
      tags:
        - repository
  "/repos/{owner}/{repo}/wiki/revisions/{pageName}":
    get:
      operationId: repoGetWikiPageRevisions
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
        - description: name of the page
          in: path
          name: pageName
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/WikiCommitList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get revisions of a wiki page
      tags:
        - repository
  "/repos/{template_owner}/{template_repo}/generate":
    post:
      operationId: generateRepo
      parameters:
        - description: name of the template repository owner
          in: path
          name: template_owner
          required: true
          schema:
            type: string
        - description: name of the template repository
          in: path
          name: template_repo
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GenerateRepoOption"
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
        "409":
          description: The repository with the same name already exists.
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a repository using a template
      tags:
        - repository
  "/repositories/{id}":
    get:
      operationId: repoGetByID
      parameters:
        - description: id of the repo to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Repository"
      summary: Get a repository by id
      tags:
        - repository
  /settings/api:
    get:
      operationId: getGeneralAPISettings
      responses:
        "200":
          $ref: "#/components/responses/GeneralAPISettings"
      summary: Get instance's global settings for api
      tags:
        - settings
  /settings/attachment:
    get:
      operationId: getGeneralAttachmentSettings
      responses:
        "200":
          $ref: "#/components/responses/GeneralAttachmentSettings"
      summary: Get instance's global settings for Attachment
      tags:
        - settings
  /settings/repository:
    get:
      operationId: getGeneralRepositorySettings
      responses:
        "200":
          $ref: "#/components/responses/GeneralRepoSettings"
      summary: Get instance's global settings for repositories
      tags:
        - settings
  /settings/ui:
    get:
      operationId: getGeneralUISettings
      responses:
        "200":
          $ref: "#/components/responses/GeneralUISettings"
      summary: Get instance's global settings for ui
      tags:
        - settings
  /signing-key.gpg:
    get:
      operationId: getSigningKey
      responses:
        "200":
          content:
            text/plain:
              schema:
                type: string
          description: GPG armored public key
      summary: Get default signing-key.gpg
      tags:
        - miscellaneous
  "/teams/{id}":
    delete:
      operationId: orgDeleteTeam
      parameters:
        - description: id of the team to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: team deleted
      summary: Delete a team
      tags:
        - organization
    get:
      operationId: orgGetTeam
      parameters:
        - description: id of the team to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Team"
      summary: Get a team
      tags:
        - organization
    patch:
      operationId: orgEditTeam
      parameters:
        - description: id of the team to edit
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EditTeamOption"
      responses:
        "200":
          $ref: "#/components/responses/Team"
      summary: Edit a team
      tags:
        - organization
  "/teams/{id}/activities/feeds":
    get:
      operationId: orgListTeamActivityFeeds
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: the date of the activities to be found
          in: query
          name: date
          schema:
            format: date
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ActivityFeedsList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List a team's activity feeds
      tags:
        - organization
  "/teams/{id}/members":
    get:
      operationId: orgListTeamMembers
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List a team's members
      tags:
        - organization
  "/teams/{id}/members/{username}":
    delete:
      operationId: orgRemoveTeamMember
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: username of the user to remove
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Remove a team member
      tags:
        - organization
    get:
      operationId: orgListTeamMember
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: username of the member to list
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/User"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List a particular member of team
      tags:
        - organization
    put:
      operationId: orgAddTeamMember
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: username of the user to add
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Add a team member
      tags:
        - organization
  "/teams/{id}/repos":
    get:
      operationId: orgListTeamRepos
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List a team's repos
      tags:
        - organization
  "/teams/{id}/repos/{org}/{repo}":
    delete:
      description: This does not delete the repository, it only removes the repository from the team.
      operationId: orgRemoveTeamRepository
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: organization that owns the repo to remove
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: name of the repo to remove
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Remove a repository from a team
      tags:
        - organization
    get:
      operationId: orgListTeamRepo
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: organization that owns the repo to list
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: name of the repo to list
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/Repository"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List a particular repo of team
      tags:
        - organization
    put:
      operationId: orgAddTeamRepository
      parameters:
        - description: id of the team
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: organization that owns the repo to add
          in: path
          name: org
          required: true
          schema:
            type: string
        - description: name of the repo to add
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: Add a repository to a team
      tags:
        - organization
  /topics/search:
    get:
      operationId: topicSearch
      parameters:
        - description: keywords to search
          in: query
          name: q
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TopicListResponse"
        "403":
          $ref: "#/components/responses/forbidden"
      summary: search topics via keyword
      tags:
        - repository
  /user:
    get:
      operationId: userGetCurrent
      responses:
        "200":
          $ref: "#/components/responses/User"
      summary: Get the authenticated user
      tags:
        - user
  /user/applications/oauth2:
    get:
      operationId: userGetOauth2Application
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OAuth2ApplicationList"
      summary: List the authenticated user's oauth2 applications
      tags:
        - user
    post:
      operationId: userCreateOAuth2Application
      requestBody:
        $ref: "#/components/requestBodies/CreateOAuth2ApplicationOptions"
      responses:
        "201":
          $ref: "#/components/responses/OAuth2Application"
        "400":
          $ref: "#/components/responses/error"
      summary: creates a new OAuth2 application
      tags:
        - user
  "/user/applications/oauth2/{id}":
    delete:
      operationId: userDeleteOAuth2Application
      parameters:
        - description: token to be deleted
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: delete an OAuth2 Application
      tags:
        - user
    get:
      operationId: userGetOAuth2Application
      parameters:
        - description: Application ID to be found
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OAuth2Application"
        "404":
          $ref: "#/components/responses/notFound"
      summary: get an OAuth2 Application
      tags:
        - user
    patch:
      operationId: userUpdateOAuth2Application
      parameters:
        - description: application to be updated
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/CreateOAuth2ApplicationOptions"
      responses:
        "200":
          $ref: "#/components/responses/OAuth2Application"
        "404":
          $ref: "#/components/responses/notFound"
      summary: update an OAuth2 Application, this includes regenerating the client secret
      tags:
        - user
  /user/emails:
    delete:
      operationId: userDeleteEmail
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DeleteEmailOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/DeleteEmailOption"
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete email addresses
      tags:
        - user
    get:
      operationId: userListEmails
      responses:
        "200":
          $ref: "#/components/responses/EmailList"
      summary: List the authenticated user's email addresses
      tags:
        - user
    post:
      operationId: userAddEmail
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateEmailOption"
          text/plain:
            schema:
              $ref: "#/components/schemas/CreateEmailOption"
      responses:
        "201":
          $ref: "#/components/responses/EmailList"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Add email addresses
      tags:
        - user
  /user/followers:
    get:
      operationId: userCurrentListFollowers
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List the authenticated user's followers
      tags:
        - user
  /user/following:
    get:
      operationId: userCurrentListFollowing
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List the users that the authenticated user is following
      tags:
        - user
  "/user/following/{username}":
    delete:
      operationId: userCurrentDeleteFollow
      parameters:
        - description: username of user to unfollow
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Unfollow a user
      tags:
        - user
    get:
      operationId: userCurrentCheckFollowing
      parameters:
        - description: username of followed user
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Check whether a user is followed by the authenticated user
      tags:
        - user
    put:
      operationId: userCurrentPutFollow
      parameters:
        - description: username of user to follow
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Follow a user
      tags:
        - user
  /user/gpg_key_token:
    get:
      operationId: getVerificationToken
      responses:
        "200":
          $ref: "#/components/responses/string"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a Token to verify
      tags:
        - user
  /user/gpg_key_verify:
    post:
      operationId: userVerifyGPGKey
      responses:
        "201":
          $ref: "#/components/responses/GPGKey"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Verify a GPG key
      tags:
        - user
  /user/gpg_keys:
    get:
      operationId: userCurrentListGPGKeys
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/GPGKeyList"
      summary: List the authenticated user's GPG keys
      tags:
        - user
    post:
      operationId: userCurrentPostGPGKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateGPGKeyOption"
      responses:
        "201":
          $ref: "#/components/responses/GPGKey"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a GPG key
      tags:
        - user
  "/user/gpg_keys/{id}":
    delete:
      operationId: userCurrentDeleteGPGKey
      parameters:
        - description: id of key to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Remove a GPG key
      tags:
        - user
    get:
      operationId: userCurrentGetGPGKey
      parameters:
        - description: id of key to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/GPGKey"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a GPG key
      tags:
        - user
  /user/hooks:
    get:
      operationId: userListHooks
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/HookList"
      summary: List the authenticated user's webhooks
      tags:
        - user
    post:
      operationId: userCreateHook
      requestBody:
        $ref: "#/components/requestBodies/CreateHookOption"
      responses:
        "201":
          $ref: "#/components/responses/Hook"
      summary: Create a hook
      tags:
        - user
  "/user/hooks/{id}":
    delete:
      operationId: userDeleteHook
      parameters:
        - description: id of the hook to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Delete a hook
      tags:
        - user
    get:
      operationId: userGetHook
      parameters:
        - description: id of the hook to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Get a hook
      tags:
        - user
    patch:
      operationId: userEditHook
      parameters:
        - description: id of the hook to update
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/EditHookOption"
      responses:
        "200":
          $ref: "#/components/responses/Hook"
      summary: Update a hook
      tags:
        - user
  /user/keys:
    get:
      operationId: userCurrentListKeys
      parameters:
        - description: fingerprint of the key
          in: query
          name: fingerprint
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PublicKeyList"
      summary: List the authenticated user's public keys
      tags:
        - user
    post:
      operationId: userCurrentPostKey
      requestBody:
        $ref: "#/components/requestBodies/CreateKeyOption"
      responses:
        "201":
          $ref: "#/components/responses/PublicKey"
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a public key
      tags:
        - user
  "/user/keys/{id}":
    delete:
      operationId: userCurrentDeleteKey
      parameters:
        - description: id of key to delete
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Delete a public key
      tags:
        - user
    get:
      operationId: userCurrentGetKey
      parameters:
        - description: id of key to get
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PublicKey"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a public key
      tags:
        - user
  /user/orgs:
    get:
      operationId: orgListCurrentUserOrgs
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OrganizationList"
      summary: List the current user's organizations
      tags:
        - organization
  /user/repos:
    get:
      operationId: userCurrentListRepos
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List the repos that the authenticated user owns
      tags:
        - user
    post:
      operationId: createCurrentUserRepo
      requestBody:
        $ref: "#/components/requestBodies/CreateRepoOption"
      responses:
        "201":
          $ref: "#/components/responses/Repository"
        "400":
          $ref: "#/components/responses/error"
        "409":
          description: The repository with the same name already exists.
        "422":
          $ref: "#/components/responses/validationError"
      summary: Create a repository
      tags:
        - repository
        - user
  /user/settings:
    get:
      operationId: getUserSettings
      responses:
        "200":
          $ref: "#/components/responses/UserSettings"
      summary: Get user settings
      tags:
        - user
    patch:
      operationId: updateUserSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserSettingsOptions"
          text/plain:
            schema:
              $ref: "#/components/schemas/UserSettingsOptions"
      responses:
        "200":
          $ref: "#/components/responses/UserSettings"
      summary: Update user settings
      tags:
        - user
  /user/starred:
    get:
      operationId: userCurrentListStarred
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: The repos that the authenticated user has starred
      tags:
        - user
  "/user/starred/{owner}/{repo}":
    delete:
      operationId: userCurrentDeleteStar
      parameters:
        - description: owner of the repo to unstar
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to unstar
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Unstar the given repo
      tags:
        - user
    get:
      operationId: userCurrentCheckStarring
      parameters:
        - description: owner of the repo
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Whether the authenticated is starring the repo
      tags:
        - user
    put:
      operationId: userCurrentPutStar
      parameters:
        - description: owner of the repo to star
          in: path
          name: owner
          required: true
          schema:
            type: string
        - description: name of the repo to star
          in: path
          name: repo
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
      summary: Star the given repo
      tags:
        - user
  /user/stopwatches:
    get:
      operationId: userGetStopWatches
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/StopWatchList"
      summary: Get list of all existing stopwatches
      tags:
        - user
  /user/subscriptions:
    get:
      operationId: userCurrentListSubscriptions
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List repositories watched by the authenticated user
      tags:
        - user
  /user/teams:
    get:
      operationId: userListTeams
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/TeamList"
      summary: List all the teams a user belongs to
      tags:
        - user
  /user/times:
    get:
      operationId: userCurrentTrackedTimes
      parameters:
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
        - description: Only show times updated after the given time. This is a timestamp in RFC 3339 format
          in: query
          name: since
          schema:
            format: date-time
            type: string
        - description: Only show times updated before the given time. This is a timestamp in RFC 3339 format
          in: query
          name: before
          schema:
            format: date-time
            type: string
      responses:
        "200":
          $ref: "#/components/responses/TrackedTimeList"
      summary: List the current user's tracked times
      tags:
        - user
  /users/search:
    get:
      operationId: userSearch
      parameters:
        - description: keyword
          in: query
          name: q
          schema:
            type: string
        - description: ID of the user to search for
          in: query
          name: uid
          schema:
            format: int64
            type: integer
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: "#/components/schemas/User"
                    type: array
                  ok:
                    type: boolean
                type: object
          description: SearchResults of a successful search
      summary: Search for users
      tags:
        - user
  "/users/{username}":
    get:
      operationId: userGet
      parameters:
        - description: username of user to get
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/User"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a user
      tags:
        - user
  "/users/{username}/activities/feeds":
    get:
      operationId: userListActivityFeeds
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: if true, only show actions performed by the requested user
          in: query
          name: only-performed-by
          schema:
            type: boolean
        - description: the date of the activities to be found
          in: query
          name: date
          schema:
            format: date
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/ActivityFeedsList"
        "404":
          $ref: "#/components/responses/notFound"
      summary: List a user's activity feeds
      tags:
        - user
  "/users/{username}/followers":
    get:
      operationId: userListFollowers
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List the given user's followers
      tags:
        - user
  "/users/{username}/following":
    get:
      operationId: userListFollowing
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/UserList"
      summary: List the users that the given user is following
      tags:
        - user
  "/users/{username}/following/{target}":
    get:
      operationId: userCheckFollowing
      parameters:
        - description: username of following user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: username of followed user
          in: path
          name: target
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Check if one user is following another user
      tags:
        - user
  "/users/{username}/gpg_keys":
    get:
      operationId: userListGPGKeys
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/GPGKeyList"
      summary: List the given user's GPG keys
      tags:
        - user
  "/users/{username}/heatmap":
    get:
      operationId: userGetHeatmapData
      parameters:
        - description: username of user to get
          in: path
          name: username
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/UserHeatmapData"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get a user's heatmap
      tags:
        - user
  "/users/{username}/keys":
    get:
      operationId: userListKeys
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: fingerprint of the key
          in: query
          name: fingerprint
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/PublicKeyList"
      summary: List the given user's public keys
      tags:
        - user
  "/users/{username}/orgs":
    get:
      operationId: orgListUserOrgs
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/OrganizationList"
      summary: List a user's organizations
      tags:
        - organization
  "/users/{username}/orgs/{org}/permissions":
    get:
      operationId: orgGetUserPermissions
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: name of the organization
          in: path
          name: org
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/OrganizationPermissions"
        "403":
          $ref: "#/components/responses/forbidden"
        "404":
          $ref: "#/components/responses/notFound"
      summary: Get user permissions in organization
      tags:
        - organization
  "/users/{username}/repos":
    get:
      operationId: userListRepos
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List the repos owned by the given user
      tags:
        - user
  "/users/{username}/starred":
    get:
      operationId: userListStarred
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: The repos that the given user has starred
      tags:
        - user
  "/users/{username}/subscriptions":
    get:
      operationId: userListSubscriptions
      parameters:
        - description: username of the user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/RepositoryList"
      summary: List the repositories watched by a user
      tags:
        - user
  "/users/{username}/tokens":
    get:
      operationId: userGetTokens
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: page number of results to return (1-based)
          in: query
          name: page
          schema:
            type: integer
        - description: page size of results
          in: query
          name: limit
          schema:
            type: integer
      responses:
        "200":
          $ref: "#/components/responses/AccessTokenList"
      summary: List the authenticated user's access tokens
      tags:
        - user
    post:
      operationId: userCreateToken
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateAccessTokenOption"
      responses:
        "201":
          $ref: "#/components/responses/AccessToken"
        "400":
          $ref: "#/components/responses/error"
      summary: Create an access token
      tags:
        - user
  "/users/{username}/tokens/{token}":
    delete:
      operationId: userDeleteAccessToken
      parameters:
        - description: username of user
          in: path
          name: username
          required: true
          schema:
            type: string
        - description: token to be deleted, identified by ID and if not available by name
          in: path
          name: token
          required: true
          schema:
            type: string
      responses:
        "204":
          $ref: "#/components/responses/empty"
        "404":
          $ref: "#/components/responses/notFound"
        "422":
          $ref: "#/components/responses/error"
      summary: delete an access token
      tags:
        - user
  /version:
    get:
      operationId: getVersion
      responses:
        "200":
          $ref: "#/components/responses/ServerVersion"
      summary: Returns the version of the Gitea application
      tags:
        - miscellaneous
components:
  requestBodies:
    CreateHookOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateHookOption"
      required: true
    CreateKeyOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateKeyOption"
    CreateLabelOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateLabelOption"
    CreateOAuth2ApplicationOptions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateOAuth2ApplicationOptions"
        text/plain:
          schema:
            $ref: "#/components/schemas/CreateOAuth2ApplicationOptions"
      required: true
    CreateOrgOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateOrgOption"
      required: true
    CreateRepoOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateRepoOption"
    CreateWikiPageOptions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateWikiPageOptions"
    EditAttachmentOptions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/EditAttachmentOptions"
    EditHookOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/EditHookOption"
    EditIssueCommentOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/EditIssueCommentOption"
    EditLabelOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/EditLabelOption"
    EditReactionOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/EditReactionOption"
    IssueLabelsOption:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/IssueLabelsOption"
    IssueMeta:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/IssueMeta"
        text/plain:
          schema:
            $ref: "#/components/schemas/IssueMeta"
    PullReviewRequestOptions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PullReviewRequestOptions"
        text/plain:
          schema:
            $ref: "#/components/schemas/PullReviewRequestOptions"
      required: true
    UpdateFileOptions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateFileOptions"
      required: true
    issueCreateIssueCommentAttachment:
      content:
        multipart/form-data:
          schema:
            properties:
              attachment:
                description: attachment to upload
                format: binary
                type: string
            required:
              - attachment
            type: object
      required: true
  responses:
    AccessToken:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AccessToken"
        text/html:
          schema:
            $ref: "#/components/schemas/AccessToken"
      description: AccessToken represents an API access token.
    AccessTokenList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/AccessToken"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/AccessToken"
            type: array
      description: AccessTokenList represents a list of API access token.
    ActivityFeedsList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Activity"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Activity"
            type: array
      description: ActivityFeedsList
    ActivityPub:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ActivityPub"
        text/html:
          schema:
            $ref: "#/components/schemas/ActivityPub"
      description: ActivityPub
    AnnotatedTag:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AnnotatedTag"
        text/html:
          schema:
            $ref: "#/components/schemas/AnnotatedTag"
      description: AnnotatedTag
    Attachment:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Attachment"
        text/html:
          schema:
            $ref: "#/components/schemas/Attachment"
      description: Attachment
    AttachmentList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Attachment"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Attachment"
            type: array
      description: AttachmentList
    Branch:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Branch"
        text/html:
          schema:
            $ref: "#/components/schemas/Branch"
      description: Branch
    BranchList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Branch"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Branch"
            type: array
      description: BranchList
    BranchProtection:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/BranchProtection"
        text/html:
          schema:
            $ref: "#/components/schemas/BranchProtection"
      description: BranchProtection
    BranchProtectionList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/BranchProtection"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/BranchProtection"
            type: array
      description: BranchProtectionList
    ChangedFileList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/ChangedFile"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/ChangedFile"
            type: array
      description: ChangedFileList
      headers:
        X-HasMore:
          description: True if there is another page
          schema:
            type: boolean
        X-Page:
          description: The current page
          schema:
            format: int64
            type: integer
        X-PageCount:
          description: Total number of pages
          schema:
            format: int64
            type: integer
        X-PerPage:
          description: Commits per page
          schema:
            format: int64
            type: integer
        X-Total:
          description: Total commit count
          schema:
            format: int64
            type: integer
    CombinedStatus:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CombinedStatus"
        text/html:
          schema:
            $ref: "#/components/schemas/CombinedStatus"
      description: CombinedStatus
    Comment:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Comment"
        text/html:
          schema:
            $ref: "#/components/schemas/Comment"
      description: Comment
    CommentList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Comment"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Comment"
            type: array
      description: CommentList
    Commit:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Commit"
        text/html:
          schema:
            $ref: "#/components/schemas/Commit"
      description: Commit
    CommitList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Commit"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Commit"
            type: array
      description: CommitList
      headers:
        X-HasMore:
          description: True if there is another page
          schema:
            type: boolean
        X-Page:
          description: The current page
          schema:
            format: int64
            type: integer
        X-PageCount:
          description: Total number of pages
          schema:
            format: int64
            type: integer
        X-PerPage:
          description: Commits per page
          schema:
            format: int64
            type: integer
        X-Total:
          description: Total commit count
          schema:
            format: int64
            type: integer
    CommitStatus:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CommitStatus"
        text/html:
          schema:
            $ref: "#/components/schemas/CommitStatus"
      description: CommitStatus
    CommitStatusList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/CommitStatus"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/CommitStatus"
            type: array
      description: CommitStatusList
    ContentsListResponse:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/ContentsResponse"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/ContentsResponse"
            type: array
      description: ContentsListResponse
    ContentsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ContentsResponse"
        text/html:
          schema:
            $ref: "#/components/schemas/ContentsResponse"
      description: ContentsResponse
    CronList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Cron"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Cron"
            type: array
      description: CronList
    DeployKey:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeployKey"
        text/html:
          schema:
            $ref: "#/components/schemas/DeployKey"
      description: DeployKey
    DeployKeyList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/DeployKey"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/DeployKey"
            type: array
      description: DeployKeyList
    EmailList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Email"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Email"
            type: array
      description: EmailList
    EmptyRepository:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/APIError"
        text/html:
          schema:
            $ref: "#/components/schemas/APIError"
      description: EmptyRepository
    FileDeleteResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/FileDeleteResponse"
        text/html:
          schema:
            $ref: "#/components/schemas/FileDeleteResponse"
      description: FileDeleteResponse
    FileResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/FileResponse"
        text/html:
          schema:
            $ref: "#/components/schemas/FileResponse"
      description: FileResponse
    GPGKey:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GPGKey"
        text/html:
          schema:
            $ref: "#/components/schemas/GPGKey"
      description: GPGKey
    GPGKeyList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/GPGKey"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/GPGKey"
            type: array
      description: GPGKeyList
    GeneralAPISettings:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GeneralAPISettings"
        text/html:
          schema:
            $ref: "#/components/schemas/GeneralAPISettings"
      description: GeneralAPISettings
    GeneralAttachmentSettings:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GeneralAttachmentSettings"
        text/html:
          schema:
            $ref: "#/components/schemas/GeneralAttachmentSettings"
      description: GeneralAttachmentSettings
    GeneralRepoSettings:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GeneralRepoSettings"
        text/html:
          schema:
            $ref: "#/components/schemas/GeneralRepoSettings"
      description: GeneralRepoSettings
    GeneralUISettings:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GeneralUISettings"
        text/html:
          schema:
            $ref: "#/components/schemas/GeneralUISettings"
      description: GeneralUISettings
    GitBlobResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GitBlobResponse"
        text/html:
          schema:
            $ref: "#/components/schemas/GitBlobResponse"
      description: GitBlobResponse
    GitHook:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GitHook"
        text/html:
          schema:
            $ref: "#/components/schemas/GitHook"
      description: GitHook
    GitHookList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/GitHook"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/GitHook"
            type: array
      description: GitHookList
    GitTreeResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GitTreeResponse"
        text/html:
          schema:
            $ref: "#/components/schemas/GitTreeResponse"
      description: GitTreeResponse
    Hook:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Hook"
        text/html:
          schema:
            $ref: "#/components/schemas/Hook"
      description: Hook
    HookList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Hook"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Hook"
            type: array
      description: HookList
    Issue:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Issue"
        text/html:
          schema:
            $ref: "#/components/schemas/Issue"
      description: Issue
    IssueDeadline:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/IssueDeadline"
        text/html:
          schema:
            $ref: "#/components/schemas/IssueDeadline"
      description: IssueDeadline
    IssueList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Issue"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Issue"
            type: array
      description: IssueList
    IssueTemplates:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/IssueTemplate"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/IssueTemplate"
            type: array
      description: IssueTemplates
    Label:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Label"
        text/html:
          schema:
            $ref: "#/components/schemas/Label"
      description: Label
    LabelList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Label"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Label"
            type: array
      description: LabelList
    LanguageStatistics:
      content:
        application/json:
          schema:
            additionalProperties:
              format: int64
              type: integer
            type: object
        text/html:
          schema:
            additionalProperties:
              format: int64
              type: integer
            type: object
      description: LanguageStatistics
    MarkdownRender:
      content:
        application/json:
          schema:
            type: string
        text/html:
          schema:
            type: string
      description: MarkdownRender is a rendered markdown document
    MarkupRender:
      content:
        application/json:
          schema:
            type: string
        text/html:
          schema:
            type: string
      description: MarkupRender is a rendered markup document
    Milestone:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Milestone"
        text/html:
          schema:
            $ref: "#/components/schemas/Milestone"
      description: Milestone
    MilestoneList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Milestone"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Milestone"
            type: array
      description: MilestoneList
    NodeInfo:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NodeInfo"
        text/html:
          schema:
            $ref: "#/components/schemas/NodeInfo"
      description: NodeInfo
    Note:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Note"
        text/html:
          schema:
            $ref: "#/components/schemas/Note"
      description: Note
    NotificationCount:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NotificationCount"
        text/html:
          schema:
            $ref: "#/components/schemas/NotificationCount"
      description: Number of unread notifications
    NotificationThread:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NotificationThread"
        text/html:
          schema:
            $ref: "#/components/schemas/NotificationThread"
      description: NotificationThread
    NotificationThreadList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/NotificationThread"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/NotificationThread"
            type: array
      description: NotificationThreadList
    OAuth2Application:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OAuth2Application"
        text/html:
          schema:
            $ref: "#/components/schemas/OAuth2Application"
      description: OAuth2Application
    OAuth2ApplicationList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/OAuth2Application"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/OAuth2Application"
            type: array
      description: OAuth2ApplicationList represents a list of OAuth2 applications.
    Organization:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Organization"
        text/html:
          schema:
            $ref: "#/components/schemas/Organization"
      description: Organization
    OrganizationList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Organization"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Organization"
            type: array
      description: OrganizationList
    OrganizationPermissions:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OrganizationPermissions"
        text/html:
          schema:
            $ref: "#/components/schemas/OrganizationPermissions"
      description: OrganizationPermissions
    Package:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Package"
        text/html:
          schema:
            $ref: "#/components/schemas/Package"
      description: Package
    PackageFileList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PackageFile"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PackageFile"
            type: array
      description: PackageFileList
    PackageList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Package"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Package"
            type: array
      description: PackageList
    PublicKey:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PublicKey"
        text/html:
          schema:
            $ref: "#/components/schemas/PublicKey"
      description: PublicKey
    PublicKeyList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PublicKey"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PublicKey"
            type: array
      description: PublicKeyList
    PullRequest:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PullRequest"
        text/html:
          schema:
            $ref: "#/components/schemas/PullRequest"
      description: PullRequest
    PullRequestList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PullRequest"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PullRequest"
            type: array
      description: PullRequestList
    PullReview:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PullReview"
        text/html:
          schema:
            $ref: "#/components/schemas/PullReview"
      description: PullReview
    PullReviewComment:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PullReviewComment"
        text/html:
          schema:
            $ref: "#/components/schemas/PullReviewComment"
      description: PullComment
    PullReviewCommentList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PullReviewComment"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PullReviewComment"
            type: array
      description: PullCommentList
    PullReviewList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PullReview"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PullReview"
            type: array
      description: PullReviewList
    PushMirror:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PushMirror"
        text/html:
          schema:
            $ref: "#/components/schemas/PushMirror"
      description: PushMirror
    PushMirrorList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/PushMirror"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/PushMirror"
            type: array
      description: PushMirrorList
    Reaction:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Reaction"
        text/html:
          schema:
            $ref: "#/components/schemas/Reaction"
      description: Reaction
    ReactionList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Reaction"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Reaction"
            type: array
      description: ReactionList
    Reference:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Reference"
        text/html:
          schema:
            $ref: "#/components/schemas/Reference"
      description: Reference
    ReferenceList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Reference"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Reference"
            type: array
      description: ReferenceList
    Release:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Release"
        text/html:
          schema:
            $ref: "#/components/schemas/Release"
      description: Release
    ReleaseList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Release"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Release"
            type: array
      description: ReleaseList
    RepoCollaboratorPermission:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/RepoCollaboratorPermission"
        text/html:
          schema:
            $ref: "#/components/schemas/RepoCollaboratorPermission"
      description: RepoCollaboratorPermission
    RepoIssueConfig:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/IssueConfig"
        text/html:
          schema:
            $ref: "#/components/schemas/IssueConfig"
      description: RepoIssueConfig
    RepoIssueConfigValidation:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/IssueConfigValidation"
        text/html:
          schema:
            $ref: "#/components/schemas/IssueConfigValidation"
      description: RepoIssueConfigValidation
    Repository:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Repository"
        text/html:
          schema:
            $ref: "#/components/schemas/Repository"
      description: Repository
    RepositoryList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Repository"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Repository"
            type: array
      description: RepositoryList
    SearchResults:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/SearchResults"
        text/html:
          schema:
            $ref: "#/components/schemas/SearchResults"
      description: SearchResults
    ServerVersion:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ServerVersion"
        text/html:
          schema:
            $ref: "#/components/schemas/ServerVersion"
      description: ServerVersion
    StopWatch:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/StopWatch"
        text/html:
          schema:
            $ref: "#/components/schemas/StopWatch"
      description: StopWatch
    StopWatchList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/StopWatch"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/StopWatch"
            type: array
      description: StopWatchList
    StringSlice:
      content:
        application/json:
          schema:
            items:
              type: string
            type: array
        text/html:
          schema:
            items:
              type: string
            type: array
      description: StringSlice
    Tag:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Tag"
        text/html:
          schema:
            $ref: "#/components/schemas/Tag"
      description: Tag
    TagList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Tag"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Tag"
            type: array
      description: TagList
    Team:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Team"
        text/html:
          schema:
            $ref: "#/components/schemas/Team"
      description: Team
    TeamList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Team"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/Team"
            type: array
      description: TeamList
    TimelineList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/TimelineComment"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/TimelineComment"
            type: array
      description: TimelineList
    TopicListResponse:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/TopicResponse"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/TopicResponse"
            type: array
      description: TopicListResponse
    TopicNames:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/TopicName"
        text/html:
          schema:
            $ref: "#/components/schemas/TopicName"
      description: TopicNames
    TrackedTime:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/TrackedTime"
        text/html:
          schema:
            $ref: "#/components/schemas/TrackedTime"
      description: TrackedTime
    TrackedTimeList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/TrackedTime"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/TrackedTime"
            type: array
      description: TrackedTimeList
    User:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/User"
        text/html:
          schema:
            $ref: "#/components/schemas/User"
      description: User
    UserHeatmapData:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/UserHeatmapData"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/UserHeatmapData"
            type: array
      description: UserHeatmapData
    UserList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/User"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/User"
            type: array
      description: UserList
    UserSettings:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/UserSettings"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/UserSettings"
            type: array
      description: UserSettings
    WatchInfo:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WatchInfo"
        text/html:
          schema:
            $ref: "#/components/schemas/WatchInfo"
      description: WatchInfo
    WikiCommitList:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WikiCommitList"
        text/html:
          schema:
            $ref: "#/components/schemas/WikiCommitList"
      description: WikiCommitList
    WikiPage:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WikiPage"
        text/html:
          schema:
            $ref: "#/components/schemas/WikiPage"
      description: WikiPage
    WikiPageList:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/WikiPageMetaData"
            type: array
        text/html:
          schema:
            items:
              $ref: "#/components/schemas/WikiPageMetaData"
            type: array
      description: WikiPageList
    conflict:
      description: APIConflict is a conflict empty response
    empty:
      description: APIEmpty is an empty response
    error:
      description: APIError is error format response
      headers:
        message:
          schema:
            type: string
        url:
          schema:
            type: string
    forbidden:
      description: APIForbiddenError is a forbidden error response
      headers:
        message:
          schema:
            type: string
        url:
          schema:
            type: string
    invalidTopicsError:
      description: APIInvalidTopicsError is error format response to invalid topics
      headers:
        invalidTopics:
          schema:
            items:
              type: string
            type: array
          style: simple
        message:
          schema:
            type: string
    notFound:
      description: APINotFound is a not found empty response
    parameterBodies:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreatePushMirrorOption"
        text/html:
          schema:
            $ref: "#/components/schemas/CreatePushMirrorOption"
      description: parameterBodies
    redirect:
      description: APIRedirect is a redirect response
    string:
      content:
        application/json:
          schema:
            type: string
        text/html:
          schema:
            type: string
      description: APIString is a string response
    validationError:
      description: APIValidationError is error format response related to input validation
      headers:
        message:
          schema:
            type: string
        url:
          schema:
            type: string
  schemas:
    APIError:
      description: APIError is an api error with a message
      properties:
        message:
          type: string
          x-go-name: Message
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    AccessToken:
      properties:
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        scopes:
          items:
            type: string
          type: array
          x-go-name: Scopes
        sha1:
          type: string
          x-go-name: Token
        token_last_eight:
          type: string
          x-go-name: TokenLastEight
      title: AccessToken represents an API access token.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Activity:
      properties:
        act_user:
          $ref: "#/components/schemas/User"
        act_user_id:
          format: int64
          type: integer
          x-go-name: ActUserID
        comment:
          $ref: "#/components/schemas/Comment"
        comment_id:
          format: int64
          type: integer
          x-go-name: CommentID
        content:
          type: string
          x-go-name: Content
        created:
          format: date-time
          type: string
          x-go-name: Created
        id:
          format: int64
          type: integer
          x-go-name: ID
        is_private:
          type: boolean
          x-go-name: IsPrivate
        op_type:
          type: string
          x-go-name: OpType
        ref_name:
          type: string
          x-go-name: RefName
        repo:
          $ref: "#/components/schemas/Repository"
        repo_id:
          format: int64
          type: integer
          x-go-name: RepoID
        user_id:
          format: int64
          type: integer
          x-go-name: UserID
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ActivityPub:
      description: ActivityPub type
      properties:
        "@context":
          type: string
          x-go-name: Context
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    AddCollaboratorOption:
      description: AddCollaboratorOption options when adding a user as a collaborator of a repository
      properties:
        permission:
          type: string
          x-go-name: Permission
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    AddTimeOption:
      description: AddTimeOption options for adding time to an issue
      properties:
        created:
          format: date-time
          type: string
          x-go-name: Created
        time:
          description: time in seconds
          format: int64
          type: integer
          x-go-name: Time
        user_name:
          description: User who spent the time (optional)
          type: string
          x-go-name: User
      required:
        - time
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    AnnotatedTag:
      description: AnnotatedTag represents an annotated tag
      properties:
        message:
          type: string
          x-go-name: Message
        object:
          $ref: "#/components/schemas/AnnotatedTagObject"
        sha:
          type: string
          x-go-name: SHA
        tag:
          type: string
          x-go-name: Tag
        tagger:
          $ref: "#/components/schemas/CommitUser"
        url:
          type: string
          x-go-name: URL
        verification:
          $ref: "#/components/schemas/PayloadCommitVerification"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    AnnotatedTagObject:
      description: AnnotatedTagObject contains meta information of the tag object
      properties:
        sha:
          type: string
          x-go-name: SHA
        type:
          type: string
          x-go-name: Type
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Attachment:
      description: Attachment a generic attachment
      properties:
        browser_download_url:
          type: string
          x-go-name: DownloadURL
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        download_count:
          format: int64
          type: integer
          x-go-name: DownloadCount
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        size:
          format: int64
          type: integer
          x-go-name: Size
        uuid:
          type: string
          x-go-name: UUID
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Branch:
      description: Branch represents a repository branch
      properties:
        commit:
          $ref: "#/components/schemas/PayloadCommit"
        effective_branch_protection_name:
          type: string
          x-go-name: EffectiveBranchProtectionName
        enable_status_check:
          type: boolean
          x-go-name: EnableStatusCheck
        name:
          type: string
          x-go-name: Name
        protected:
          type: boolean
          x-go-name: Protected
        required_approvals:
          format: int64
          type: integer
          x-go-name: RequiredApprovals
        status_check_contexts:
          items:
            type: string
          type: array
          x-go-name: StatusCheckContexts
        user_can_merge:
          type: boolean
          x-go-name: UserCanMerge
        user_can_push:
          type: boolean
          x-go-name: UserCanPush
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    BranchProtection:
      description: BranchProtection represents a branch protection for a repository
      properties:
        approvals_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistTeams
        approvals_whitelist_username:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistUsernames
        block_on_official_review_requests:
          type: boolean
          x-go-name: BlockOnOfficialReviewRequests
        block_on_outdated_branch:
          type: boolean
          x-go-name: BlockOnOutdatedBranch
        block_on_rejected_reviews:
          type: boolean
          x-go-name: BlockOnRejectedReviews
        branch_name:
          description: "Deprecated: true"
          type: string
          x-go-name: BranchName
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        dismiss_stale_approvals:
          type: boolean
          x-go-name: DismissStaleApprovals
        enable_approvals_whitelist:
          type: boolean
          x-go-name: EnableApprovalsWhitelist
        enable_merge_whitelist:
          type: boolean
          x-go-name: EnableMergeWhitelist
        enable_push:
          type: boolean
          x-go-name: EnablePush
        enable_push_whitelist:
          type: boolean
          x-go-name: EnablePushWhitelist
        enable_status_check:
          type: boolean
          x-go-name: EnableStatusCheck
        merge_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistTeams
        merge_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistUsernames
        protected_file_patterns:
          type: string
          x-go-name: ProtectedFilePatterns
        push_whitelist_deploy_keys:
          type: boolean
          x-go-name: PushWhitelistDeployKeys
        push_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistTeams
        push_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistUsernames
        require_signed_commits:
          type: boolean
          x-go-name: RequireSignedCommits
        required_approvals:
          format: int64
          type: integer
          x-go-name: RequiredApprovals
        rule_name:
          type: string
          x-go-name: RuleName
        status_check_contexts:
          items:
            type: string
          type: array
          x-go-name: StatusCheckContexts
        unprotected_file_patterns:
          type: string
          x-go-name: UnprotectedFilePatterns
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ChangedFile:
      description: ChangedFile store information about files affected by the pull request
      properties:
        additions:
          format: int64
          type: integer
          x-go-name: Additions
        changes:
          format: int64
          type: integer
          x-go-name: Changes
        contents_url:
          type: string
          x-go-name: ContentsURL
        deletions:
          format: int64
          type: integer
          x-go-name: Deletions
        filename:
          type: string
          x-go-name: Filename
        html_url:
          type: string
          x-go-name: HTMLURL
        previous_filename:
          type: string
          x-go-name: PreviousFilename
        raw_url:
          type: string
          x-go-name: RawURL
        status:
          type: string
          x-go-name: Status
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CombinedStatus:
      description: CombinedStatus holds the combined state of several statuses for a single commit
      properties:
        commit_url:
          type: string
          x-go-name: CommitURL
        repository:
          $ref: "#/components/schemas/Repository"
        sha:
          type: string
          x-go-name: SHA
        state:
          $ref: "#/components/schemas/CommitStatusState"
        statuses:
          items:
            $ref: "#/components/schemas/CommitStatus"
          type: array
          x-go-name: Statuses
        total_count:
          format: int64
          type: integer
          x-go-name: TotalCount
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Comment:
      description: Comment represents a comment on a commit or issue
      properties:
        assets:
          items:
            $ref: "#/components/schemas/Attachment"
          type: array
          x-go-name: Attachments
        body:
          type: string
          x-go-name: Body
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        issue_url:
          type: string
          x-go-name: IssueURL
        original_author:
          type: string
          x-go-name: OriginalAuthor
        original_author_id:
          format: int64
          type: integer
          x-go-name: OriginalAuthorID
        pull_request_url:
          type: string
          x-go-name: PRURL
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Commit:
      properties:
        author:
          $ref: "#/components/schemas/User"
        commit:
          $ref: "#/components/schemas/RepoCommit"
        committer:
          $ref: "#/components/schemas/User"
        created:
          format: date-time
          type: string
          x-go-name: Created
        files:
          items:
            $ref: "#/components/schemas/CommitAffectedFiles"
          type: array
          x-go-name: Files
        html_url:
          type: string
          x-go-name: HTMLURL
        parents:
          items:
            $ref: "#/components/schemas/CommitMeta"
          type: array
          x-go-name: Parents
        sha:
          type: string
          x-go-name: SHA
        stats:
          $ref: "#/components/schemas/CommitStats"
        url:
          type: string
          x-go-name: URL
      title: Commit contains information generated from a Git commit.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitAffectedFiles:
      description: CommitAffectedFiles store information about files affected by the commit
      properties:
        filename:
          type: string
          x-go-name: Filename
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitDateOptions:
      description: CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
      properties:
        author:
          format: date-time
          type: string
          x-go-name: Author
        committer:
          format: date-time
          type: string
          x-go-name: Committer
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitMeta:
      properties:
        created:
          format: date-time
          type: string
          x-go-name: Created
        sha:
          type: string
          x-go-name: SHA
        url:
          type: string
          x-go-name: URL
      title: CommitMeta contains meta information of a commit in terms of API.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitStats:
      description: CommitStats is statistics for a RepoCommit
      properties:
        additions:
          format: int64
          type: integer
          x-go-name: Additions
        deletions:
          format: int64
          type: integer
          x-go-name: Deletions
        total:
          format: int64
          type: integer
          x-go-name: Total
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitStatus:
      description: CommitStatus holds a single status of a single Commit
      properties:
        context:
          type: string
          x-go-name: Context
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        creator:
          $ref: "#/components/schemas/User"
        description:
          type: string
          x-go-name: Description
        id:
          format: int64
          type: integer
          x-go-name: ID
        status:
          $ref: "#/components/schemas/CommitStatusState"
        target_url:
          type: string
          x-go-name: TargetURL
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitStatusState:
      description: |-
        CommitStatusState holds the state of a CommitStatus
        It can be "pending", "success", "error", "failure", and "warning"
      type: string
      x-go-package: code.gitea.io/gitea/modules/structs
    CommitUser:
      properties:
        date:
          type: string
          x-go-name: Date
        email:
          format: email
          type: string
          x-go-name: Email
        name:
          type: string
          x-go-name: Name
      title: CommitUser contains information of a user in the context of a commit.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ContentsResponse:
      description: ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content
      properties:
        _links:
          $ref: "#/components/schemas/FileLinksResponse"
        content:
          description: "`content` is populated when `type` is `file`, otherwise null"
          type: string
          x-go-name: Content
        download_url:
          type: string
          x-go-name: DownloadURL
        encoding:
          description: "`encoding` is populated when `type` is `file`, otherwise null"
          type: string
          x-go-name: Encoding
        git_url:
          type: string
          x-go-name: GitURL
        html_url:
          type: string
          x-go-name: HTMLURL
        last_commit_sha:
          type: string
          x-go-name: LastCommitSHA
        name:
          type: string
          x-go-name: Name
        path:
          type: string
          x-go-name: Path
        sha:
          type: string
          x-go-name: SHA
        size:
          format: int64
          type: integer
          x-go-name: Size
        submodule_git_url:
          description: "`submodule_git_url` is populated when `type` is `submodule`, otherwise null"
          type: string
          x-go-name: SubmoduleGitURL
        target:
          description: "`target` is populated when `type` is `symlink`, otherwise null"
          type: string
          x-go-name: Target
        type:
          description: "`type` will be `file`, `dir`, `symlink`, or `submodule`"
          type: string
          x-go-name: Type
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateAccessTokenOption:
      description: CreateAccessTokenOption options when create access token
      properties:
        name:
          type: string
          x-go-name: Name
        scopes:
          items:
            type: string
          type: array
          x-go-name: Scopes
      required:
        - name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateBranchProtectionOption:
      description: CreateBranchProtectionOption options for creating a branch protection
      properties:
        approvals_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistTeams
        approvals_whitelist_username:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistUsernames
        block_on_official_review_requests:
          type: boolean
          x-go-name: BlockOnOfficialReviewRequests
        block_on_outdated_branch:
          type: boolean
          x-go-name: BlockOnOutdatedBranch
        block_on_rejected_reviews:
          type: boolean
          x-go-name: BlockOnRejectedReviews
        branch_name:
          description: "Deprecated: true"
          type: string
          x-go-name: BranchName
        dismiss_stale_approvals:
          type: boolean
          x-go-name: DismissStaleApprovals
        enable_approvals_whitelist:
          type: boolean
          x-go-name: EnableApprovalsWhitelist
        enable_merge_whitelist:
          type: boolean
          x-go-name: EnableMergeWhitelist
        enable_push:
          type: boolean
          x-go-name: EnablePush
        enable_push_whitelist:
          type: boolean
          x-go-name: EnablePushWhitelist
        enable_status_check:
          type: boolean
          x-go-name: EnableStatusCheck
        merge_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistTeams
        merge_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistUsernames
        protected_file_patterns:
          type: string
          x-go-name: ProtectedFilePatterns
        push_whitelist_deploy_keys:
          type: boolean
          x-go-name: PushWhitelistDeployKeys
        push_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistTeams
        push_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistUsernames
        require_signed_commits:
          type: boolean
          x-go-name: RequireSignedCommits
        required_approvals:
          format: int64
          type: integer
          x-go-name: RequiredApprovals
        rule_name:
          type: string
          x-go-name: RuleName
        status_check_contexts:
          items:
            type: string
          type: array
          x-go-name: StatusCheckContexts
        unprotected_file_patterns:
          type: string
          x-go-name: UnprotectedFilePatterns
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateBranchRepoOption:
      description: CreateBranchRepoOption options when creating a branch in a repository
      properties:
        new_branch_name:
          description: Name of the branch to create
          type: string
          uniqueItems: true
          x-go-name: BranchName
        old_branch_name:
          description: Name of the old branch to create from
          type: string
          uniqueItems: true
          x-go-name: OldBranchName
      required:
        - new_branch_name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateEmailOption:
      description: CreateEmailOption options when creating email addresses
      properties:
        emails:
          description: email addresses to add
          items:
            type: string
          type: array
          x-go-name: Emails
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateFileOptions:
      description: |-
        CreateFileOptions options for creating files
        Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
      properties:
        author:
          $ref: "#/components/schemas/Identity"
        branch:
          description: branch (optional) to base this file from. if not given, the default branch is used
          type: string
          x-go-name: BranchName
        committer:
          $ref: "#/components/schemas/Identity"
        content:
          description: content must be base64 encoded
          type: string
          x-go-name: Content
        dates:
          $ref: "#/components/schemas/CommitDateOptions"
        message:
          description: message (optional) for the commit of this file. if not supplied, a default message will be used
          type: string
          x-go-name: Message
        new_branch:
          description: new_branch (optional) will make a new branch from `branch` before creating the file
          type: string
          x-go-name: NewBranchName
        signoff:
          description: Add a Signed-off-by trailer by the committer at the end of the commit log message.
          type: boolean
          x-go-name: Signoff
      required:
        - content
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateForkOption:
      description: CreateForkOption options for creating a fork
      properties:
        name:
          description: name of the forked repository
          type: string
          x-go-name: Name
        organization:
          description: organization name, if forking into an organization
          type: string
          x-go-name: Organization
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateGPGKeyOption:
      description: CreateGPGKeyOption options create user GPG key
      properties:
        armored_public_key:
          description: An armored GPG key to add
          type: string
          uniqueItems: true
          x-go-name: ArmoredKey
        armored_signature:
          type: string
          x-go-name: Signature
      required:
        - armored_public_key
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateHookOption:
      description: CreateHookOption options when create a hook
      properties:
        active:
          default: false
          type: boolean
          x-go-name: Active
        authorization_header:
          type: string
          x-go-name: AuthorizationHeader
        branch_filter:
          type: string
          x-go-name: BranchFilter
        config:
          $ref: "#/components/schemas/CreateHookOptionConfig"
        events:
          items:
            type: string
          type: array
          x-go-name: Events
        type:
          enum:
            - dingtalk
            - discord
            - gitea
            - gogs
            - msteams
            - slack
            - telegram
            - feishu
            - wechatwork
            - packagist
          type: string
          x-go-name: Type
      required:
        - type
        - config
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateHookOptionConfig:
      additionalProperties:
        type: string
      description: |-
        CreateHookOptionConfig has all config options in it
        required are "content_type" and "url" Required
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateIssueCommentOption:
      description: CreateIssueCommentOption options for creating a comment on an issue
      properties:
        body:
          type: string
          x-go-name: Body
      required:
        - body
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateIssueOption:
      description: CreateIssueOption options to create one issue
      properties:
        assignee:
          description: deprecated
          type: string
          x-go-name: Assignee
        assignees:
          items:
            type: string
          type: array
          x-go-name: Assignees
        body:
          type: string
          x-go-name: Body
        closed:
          type: boolean
          x-go-name: Closed
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        labels:
          description: list of label ids
          items:
            format: int64
            type: integer
          type: array
          x-go-name: Labels
        milestone:
          description: milestone id
          format: int64
          type: integer
          x-go-name: Milestone
        ref:
          type: string
          x-go-name: Ref
        title:
          type: string
          x-go-name: Title
      required:
        - title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateKeyOption:
      description: CreateKeyOption options when creating a key
      properties:
        key:
          description: An armored SSH key to add
          type: string
          uniqueItems: true
          x-go-name: Key
        read_only:
          description: Describe if the key has only read access or read/write
          type: boolean
          x-go-name: ReadOnly
        title:
          description: Title of the key to add
          type: string
          uniqueItems: true
          x-go-name: Title
      required:
        - title
        - key
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateLabelOption:
      description: CreateLabelOption options for creating a label
      properties:
        color:
          example: "#00aabb"
          type: string
          x-go-name: Color
        description:
          type: string
          x-go-name: Description
        exclusive:
          example: false
          type: boolean
          x-go-name: Exclusive
        name:
          type: string
          x-go-name: Name
      required:
        - name
        - color
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateMilestoneOption:
      description: CreateMilestoneOption options for creating a milestone
      properties:
        description:
          type: string
          x-go-name: Description
        due_on:
          format: date-time
          type: string
          x-go-name: Deadline
        state:
          enum:
            - open
            - closed
          type: string
          x-go-name: State
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateOAuth2ApplicationOptions:
      description: CreateOAuth2ApplicationOptions holds options to create an oauth2 application
      properties:
        confidential_client:
          type: boolean
          x-go-name: ConfidentialClient
        name:
          type: string
          x-go-name: Name
        redirect_uris:
          items:
            type: string
          type: array
          x-go-name: RedirectURIs
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateOrgOption:
      description: CreateOrgOption options for creating an organization
      properties:
        description:
          type: string
          x-go-name: Description
        full_name:
          type: string
          x-go-name: FullName
        location:
          type: string
          x-go-name: Location
        repo_admin_change_team_access:
          type: boolean
          x-go-name: RepoAdminChangeTeamAccess
        username:
          type: string
          x-go-name: UserName
        visibility:
          description: possible values are `public` (default), `limited` or `private`
          enum:
            - public
            - limited
            - private
          type: string
          x-go-name: Visibility
        website:
          type: string
          x-go-name: Website
      required:
        - username
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreatePullRequestOption:
      description: CreatePullRequestOption options when creating a pull request
      properties:
        assignee:
          type: string
          x-go-name: Assignee
        assignees:
          items:
            type: string
          type: array
          x-go-name: Assignees
        base:
          type: string
          x-go-name: Base
        body:
          type: string
          x-go-name: Body
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        head:
          type: string
          x-go-name: Head
        labels:
          items:
            format: int64
            type: integer
          type: array
          x-go-name: Labels
        milestone:
          format: int64
          type: integer
          x-go-name: Milestone
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreatePullReviewComment:
      description: CreatePullReviewComment represent a review comment for creation api
      properties:
        body:
          type: string
          x-go-name: Body
        new_position:
          description: if comment to new file line or 0
          format: int64
          type: integer
          x-go-name: NewLineNum
        old_position:
          description: if comment to old file line or 0
          format: int64
          type: integer
          x-go-name: OldLineNum
        path:
          description: the tree path
          type: string
          x-go-name: Path
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreatePullReviewOptions:
      description: CreatePullReviewOptions are options to create a pull review
      properties:
        body:
          type: string
          x-go-name: Body
        comments:
          items:
            $ref: "#/components/schemas/CreatePullReviewComment"
          type: array
          x-go-name: Comments
        commit_id:
          type: string
          x-go-name: CommitID
        event:
          $ref: "#/components/schemas/ReviewStateType"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreatePushMirrorOption:
      properties:
        interval:
          type: string
          x-go-name: Interval
        remote_address:
          type: string
          x-go-name: RemoteAddress
        remote_password:
          type: string
          x-go-name: RemotePassword
        remote_username:
          type: string
          x-go-name: RemoteUsername
        sync_on_commit:
          type: boolean
          x-go-name: SyncOnCommit
      title: CreatePushMirrorOption represents need information to create a push mirror of a repository.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateReleaseOption:
      description: CreateReleaseOption options when creating a release
      properties:
        body:
          type: string
          x-go-name: Note
        draft:
          type: boolean
          x-go-name: IsDraft
        name:
          type: string
          x-go-name: Title
        prerelease:
          type: boolean
          x-go-name: IsPrerelease
        tag_name:
          type: string
          x-go-name: TagName
        target_commitish:
          type: string
          x-go-name: Target
      required:
        - tag_name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateRepoOption:
      description: CreateRepoOption options when creating repository
      properties:
        auto_init:
          description: Whether the repository should be auto-initialized?
          type: boolean
          x-go-name: AutoInit
        default_branch:
          description: DefaultBranch of the repository (used when initializes and in template)
          type: string
          x-go-name: DefaultBranch
        description:
          description: Description of the repository to create
          type: string
          x-go-name: Description
        gitignores:
          description: Gitignores to use
          type: string
          x-go-name: Gitignores
        issue_labels:
          description: Label-Set to use
          type: string
          x-go-name: IssueLabels
        license:
          description: License to use
          type: string
          x-go-name: License
        name:
          description: Name of the repository to create
          type: string
          uniqueItems: true
          x-go-name: Name
        private:
          description: Whether the repository is private
          type: boolean
          x-go-name: Private
        readme:
          description: Readme of the repository to create
          type: string
          x-go-name: Readme
        template:
          description: Whether the repository is template
          type: boolean
          x-go-name: Template
        trust_model:
          description: TrustModel of the repository
          enum:
            - default
            - collaborator
            - committer
            - collaboratorcommitter
          type: string
          x-go-name: TrustModel
      required:
        - name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateStatusOption:
      description: CreateStatusOption holds the information needed to create a new CommitStatus for a Commit
      properties:
        context:
          type: string
          x-go-name: Context
        description:
          type: string
          x-go-name: Description
        state:
          $ref: "#/components/schemas/CommitStatusState"
        target_url:
          type: string
          x-go-name: TargetURL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateTagOption:
      description: CreateTagOption options when creating a tag
      properties:
        message:
          type: string
          x-go-name: Message
        tag_name:
          type: string
          x-go-name: TagName
        target:
          type: string
          x-go-name: Target
      required:
        - tag_name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateTeamOption:
      description: CreateTeamOption options for creating a team
      properties:
        can_create_org_repo:
          type: boolean
          x-go-name: CanCreateOrgRepo
        description:
          type: string
          x-go-name: Description
        includes_all_repositories:
          type: boolean
          x-go-name: IncludesAllRepositories
        name:
          type: string
          x-go-name: Name
        permission:
          enum:
            - read
            - write
            - admin
          type: string
          x-go-name: Permission
        units:
          example:
            - repo.code
            - repo.issues
            - repo.ext_issues
            - repo.wiki
            - repo.pulls
            - repo.releases
            - repo.projects
            - repo.ext_wiki
          items:
            type: string
          type: array
          x-go-name: Units
        units_map:
          additionalProperties:
            type: string
          example:
            repo.code: read
            repo.ext_issues: none
            repo.ext_wiki: none
            repo.issues: write
            repo.projects: none
            repo.pulls: owner
            repo.releases: none
            repo.wiki: admin
          type: object
          x-go-name: UnitsMap
      required:
        - name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateUserOption:
      description: CreateUserOption create user options
      properties:
        created_at:
          description: |-
            For explicitly setting the user creation timestamp. Useful when users are
            migrated from other systems. When omitted, the user's creation timestamp
            will be set to "now".
          format: date-time
          type: string
          x-go-name: Created
        email:
          format: email
          type: string
          x-go-name: Email
        full_name:
          type: string
          x-go-name: FullName
        login_name:
          type: string
          x-go-name: LoginName
        must_change_password:
          type: boolean
          x-go-name: MustChangePassword
        password:
          type: string
          x-go-name: Password
        restricted:
          type: boolean
          x-go-name: Restricted
        send_notify:
          type: boolean
          x-go-name: SendNotify
        source_id:
          format: int64
          type: integer
          x-go-name: SourceID
        username:
          type: string
          x-go-name: Username
        visibility:
          type: string
          x-go-name: Visibility
      required:
        - username
        - email
        - password
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    CreateWikiPageOptions:
      description: CreateWikiPageOptions form for creating wiki
      properties:
        content_base64:
          description: content must be base64 encoded
          type: string
          x-go-name: ContentBase64
        message:
          description: optional commit message summarizing the change
          type: string
          x-go-name: Message
        title:
          description: page title. leave empty to keep unchanged
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Cron:
      description: Cron represents a Cron task
      properties:
        exec_times:
          format: int64
          type: integer
          x-go-name: ExecTimes
        name:
          type: string
          x-go-name: Name
        next:
          format: date-time
          type: string
          x-go-name: Next
        prev:
          format: date-time
          type: string
          x-go-name: Prev
        schedule:
          type: string
          x-go-name: Schedule
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    DeleteEmailOption:
      description: DeleteEmailOption options when deleting email addresses
      properties:
        emails:
          description: email addresses to delete
          items:
            type: string
          type: array
          x-go-name: Emails
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    DeleteFileOptions:
      description: |-
        DeleteFileOptions options for deleting files (used for other File structs below)
        Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
      properties:
        author:
          $ref: "#/components/schemas/Identity"
        branch:
          description: branch (optional) to base this file from. if not given, the default branch is used
          type: string
          x-go-name: BranchName
        committer:
          $ref: "#/components/schemas/Identity"
        dates:
          $ref: "#/components/schemas/CommitDateOptions"
        message:
          description: message (optional) for the commit of this file. if not supplied, a default message will be used
          type: string
          x-go-name: Message
        new_branch:
          description: new_branch (optional) will make a new branch from `branch` before creating the file
          type: string
          x-go-name: NewBranchName
        sha:
          description: sha is the SHA for the file that already exists
          type: string
          x-go-name: SHA
        signoff:
          description: Add a Signed-off-by trailer by the committer at the end of the commit log message.
          type: boolean
          x-go-name: Signoff
      required:
        - sha
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    DeployKey:
      description: DeployKey a deploy key
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        fingerprint:
          type: string
          x-go-name: Fingerprint
        id:
          format: int64
          type: integer
          x-go-name: ID
        key:
          type: string
          x-go-name: Key
        key_id:
          format: int64
          type: integer
          x-go-name: KeyID
        read_only:
          type: boolean
          x-go-name: ReadOnly
        repository:
          $ref: "#/components/schemas/Repository"
        title:
          type: string
          x-go-name: Title
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    DismissPullReviewOptions:
      description: DismissPullReviewOptions are options to dismiss a pull review
      properties:
        message:
          type: string
          x-go-name: Message
        priors:
          type: boolean
          x-go-name: Priors
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditAttachmentOptions:
      description: EditAttachmentOptions options for editing attachments
      properties:
        name:
          type: string
          x-go-name: Name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditBranchProtectionOption:
      description: EditBranchProtectionOption options for editing a branch protection
      properties:
        approvals_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistTeams
        approvals_whitelist_username:
          items:
            type: string
          type: array
          x-go-name: ApprovalsWhitelistUsernames
        block_on_official_review_requests:
          type: boolean
          x-go-name: BlockOnOfficialReviewRequests
        block_on_outdated_branch:
          type: boolean
          x-go-name: BlockOnOutdatedBranch
        block_on_rejected_reviews:
          type: boolean
          x-go-name: BlockOnRejectedReviews
        dismiss_stale_approvals:
          type: boolean
          x-go-name: DismissStaleApprovals
        enable_approvals_whitelist:
          type: boolean
          x-go-name: EnableApprovalsWhitelist
        enable_merge_whitelist:
          type: boolean
          x-go-name: EnableMergeWhitelist
        enable_push:
          type: boolean
          x-go-name: EnablePush
        enable_push_whitelist:
          type: boolean
          x-go-name: EnablePushWhitelist
        enable_status_check:
          type: boolean
          x-go-name: EnableStatusCheck
        merge_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistTeams
        merge_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: MergeWhitelistUsernames
        protected_file_patterns:
          type: string
          x-go-name: ProtectedFilePatterns
        push_whitelist_deploy_keys:
          type: boolean
          x-go-name: PushWhitelistDeployKeys
        push_whitelist_teams:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistTeams
        push_whitelist_usernames:
          items:
            type: string
          type: array
          x-go-name: PushWhitelistUsernames
        require_signed_commits:
          type: boolean
          x-go-name: RequireSignedCommits
        required_approvals:
          format: int64
          type: integer
          x-go-name: RequiredApprovals
        status_check_contexts:
          items:
            type: string
          type: array
          x-go-name: StatusCheckContexts
        unprotected_file_patterns:
          type: string
          x-go-name: UnprotectedFilePatterns
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditDeadlineOption:
      description: EditDeadlineOption options for creating a deadline
      properties:
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
      required:
        - due_date
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditGitHookOption:
      description: EditGitHookOption options when modifying one Git hook
      properties:
        content:
          type: string
          x-go-name: Content
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditHookOption:
      description: EditHookOption options when modify one hook
      properties:
        active:
          type: boolean
          x-go-name: Active
        authorization_header:
          type: string
          x-go-name: AuthorizationHeader
        branch_filter:
          type: string
          x-go-name: BranchFilter
        config:
          additionalProperties:
            type: string
          type: object
          x-go-name: Config
        events:
          items:
            type: string
          type: array
          x-go-name: Events
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditIssueCommentOption:
      description: EditIssueCommentOption options for editing a comment
      properties:
        body:
          type: string
          x-go-name: Body
      required:
        - body
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditIssueOption:
      description: EditIssueOption options for editing an issue
      properties:
        assignee:
          description: deprecated
          type: string
          x-go-name: Assignee
        assignees:
          items:
            type: string
          type: array
          x-go-name: Assignees
        body:
          type: string
          x-go-name: Body
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        milestone:
          format: int64
          type: integer
          x-go-name: Milestone
        ref:
          type: string
          x-go-name: Ref
        state:
          type: string
          x-go-name: State
        title:
          type: string
          x-go-name: Title
        unset_due_date:
          type: boolean
          x-go-name: RemoveDeadline
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditLabelOption:
      description: EditLabelOption options for editing a label
      properties:
        color:
          example: "#00aabb"
          type: string
          x-go-name: Color
        description:
          type: string
          x-go-name: Description
        exclusive:
          example: false
          type: boolean
          x-go-name: Exclusive
        name:
          type: string
          x-go-name: Name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditMilestoneOption:
      description: EditMilestoneOption options for editing a milestone
      properties:
        description:
          type: string
          x-go-name: Description
        due_on:
          format: date-time
          type: string
          x-go-name: Deadline
        state:
          type: string
          x-go-name: State
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditOrgOption:
      description: EditOrgOption options for editing an organization
      properties:
        description:
          type: string
          x-go-name: Description
        full_name:
          type: string
          x-go-name: FullName
        location:
          type: string
          x-go-name: Location
        repo_admin_change_team_access:
          type: boolean
          x-go-name: RepoAdminChangeTeamAccess
        visibility:
          description: possible values are `public`, `limited` or `private`
          enum:
            - public
            - limited
            - private
          type: string
          x-go-name: Visibility
        website:
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditPullRequestOption:
      description: EditPullRequestOption options when modify pull request
      properties:
        allow_maintainer_edit:
          type: boolean
          x-go-name: AllowMaintainerEdit
        assignee:
          type: string
          x-go-name: Assignee
        assignees:
          items:
            type: string
          type: array
          x-go-name: Assignees
        base:
          type: string
          x-go-name: Base
        body:
          type: string
          x-go-name: Body
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        labels:
          items:
            format: int64
            type: integer
          type: array
          x-go-name: Labels
        milestone:
          format: int64
          type: integer
          x-go-name: Milestone
        state:
          type: string
          x-go-name: State
        title:
          type: string
          x-go-name: Title
        unset_due_date:
          type: boolean
          x-go-name: RemoveDeadline
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditReactionOption:
      description: EditReactionOption contain the reaction type
      properties:
        content:
          type: string
          x-go-name: Reaction
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditReleaseOption:
      description: EditReleaseOption options when editing a release
      properties:
        body:
          type: string
          x-go-name: Note
        draft:
          type: boolean
          x-go-name: IsDraft
        name:
          type: string
          x-go-name: Title
        prerelease:
          type: boolean
          x-go-name: IsPrerelease
        tag_name:
          type: string
          x-go-name: TagName
        target_commitish:
          type: string
          x-go-name: Target
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditRepoOption:
      description: EditRepoOption options when editing a repository's properties
      properties:
        allow_manual_merge:
          description: either `true` to allow mark pr as merged manually, or `false` to prevent it.
          type: boolean
          x-go-name: AllowManualMerge
        allow_merge_commits:
          description: either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.
          type: boolean
          x-go-name: AllowMerge
        allow_rebase:
          description: either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.
          type: boolean
          x-go-name: AllowRebase
        allow_rebase_explicit:
          description: either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.
          type: boolean
          x-go-name: AllowRebaseMerge
        allow_rebase_update:
          description: either `true` to allow updating pull request branch by rebase, or `false` to prevent it.
          type: boolean
          x-go-name: AllowRebaseUpdate
        allow_squash_merge:
          description: either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.
          type: boolean
          x-go-name: AllowSquash
        archived:
          description: set to `true` to archive this repository.
          type: boolean
          x-go-name: Archived
        autodetect_manual_merge:
          description: "either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur."
          type: boolean
          x-go-name: AutodetectManualMerge
        default_allow_maintainer_edit:
          description: set to `true` to allow edits from maintainers by default
          type: boolean
          x-go-name: DefaultAllowMaintainerEdit
        default_branch:
          description: sets the default branch for this repository.
          type: string
          x-go-name: DefaultBranch
        default_delete_branch_after_merge:
          description: set to `true` to delete pr branch after merge by default
          type: boolean
          x-go-name: DefaultDeleteBranchAfterMerge
        default_merge_style:
          description: 'set to a merge style to be used by this repository: "merge", "rebase", "rebase-merge", or "squash".'
          type: string
          x-go-name: DefaultMergeStyle
        description:
          description: a short description of the repository.
          type: string
          x-go-name: Description
        enable_prune:
          description: enable prune - remove obsolete remote-tracking references
          type: boolean
          x-go-name: EnablePrune
        external_tracker:
          $ref: "#/components/schemas/ExternalTracker"
        external_wiki:
          $ref: "#/components/schemas/ExternalWiki"
        has_actions:
          description: either `true` to enable actions unit, or `false` to disable them.
          type: boolean
          x-go-name: HasActions
        has_issues:
          description: either `true` to enable issues for this repository or `false` to disable them.
          type: boolean
          x-go-name: HasIssues
        has_packages:
          description: either `true` to enable packages unit, or `false` to disable them.
          type: boolean
          x-go-name: HasPackages
        has_projects:
          description: either `true` to enable project unit, or `false` to disable them.
          type: boolean
          x-go-name: HasProjects
        has_pull_requests:
          description: either `true` to allow pull requests, or `false` to prevent pull request.
          type: boolean
          x-go-name: HasPullRequests
        has_releases:
          description: either `true` to enable releases unit, or `false` to disable them.
          type: boolean
          x-go-name: HasReleases
        has_wiki:
          description: either `true` to enable the wiki for this repository or `false` to disable it.
          type: boolean
          x-go-name: HasWiki
        ignore_whitespace_conflicts:
          description: either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.
          type: boolean
          x-go-name: IgnoreWhitespaceConflicts
        internal_tracker:
          $ref: "#/components/schemas/InternalTracker"
        mirror_interval:
          description: set to a string like `8h30m0s` to set the mirror interval time
          type: string
          x-go-name: MirrorInterval
        name:
          description: name of the repository
          type: string
          uniqueItems: true
          x-go-name: Name
        private:
          description: |-
            either `true` to make the repository private or `false` to make it public.
            Note: you will get a 422 error if the organization restricts changing repository visibility to organization
            owners and a non-owner tries to change the value of private.
          type: boolean
          x-go-name: Private
        template:
          description: either `true` to make this repository a template or `false` to make it a normal repository
          type: boolean
          x-go-name: Template
        website:
          description: a URL with more information about the repository.
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditTeamOption:
      description: EditTeamOption options for editing a team
      properties:
        can_create_org_repo:
          type: boolean
          x-go-name: CanCreateOrgRepo
        description:
          type: string
          x-go-name: Description
        includes_all_repositories:
          type: boolean
          x-go-name: IncludesAllRepositories
        name:
          type: string
          x-go-name: Name
        permission:
          enum:
            - read
            - write
            - admin
          type: string
          x-go-name: Permission
        units:
          example:
            - repo.code
            - repo.issues
            - repo.ext_issues
            - repo.wiki
            - repo.pulls
            - repo.releases
            - repo.projects
            - repo.ext_wiki
          items:
            type: string
          type: array
          x-go-name: Units
        units_map:
          additionalProperties:
            type: string
          example:
            repo.code: read
            repo.ext_issues: none
            repo.ext_wiki: none
            repo.issues: write
            repo.projects: none
            repo.pulls: owner
            repo.releases: none
            repo.wiki: admin
          type: object
          x-go-name: UnitsMap
      required:
        - name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    EditUserOption:
      description: EditUserOption edit user options
      properties:
        active:
          type: boolean
          x-go-name: Active
        admin:
          type: boolean
          x-go-name: Admin
        allow_create_organization:
          type: boolean
          x-go-name: AllowCreateOrganization
        allow_git_hook:
          type: boolean
          x-go-name: AllowGitHook
        allow_import_local:
          type: boolean
          x-go-name: AllowImportLocal
        description:
          type: string
          x-go-name: Description
        email:
          format: email
          type: string
          x-go-name: Email
        full_name:
          type: string
          x-go-name: FullName
        location:
          type: string
          x-go-name: Location
        login_name:
          type: string
          x-go-name: LoginName
        max_repo_creation:
          format: int64
          type: integer
          x-go-name: MaxRepoCreation
        must_change_password:
          type: boolean
          x-go-name: MustChangePassword
        password:
          type: string
          x-go-name: Password
        prohibit_login:
          type: boolean
          x-go-name: ProhibitLogin
        restricted:
          type: boolean
          x-go-name: Restricted
        source_id:
          format: int64
          type: integer
          x-go-name: SourceID
        visibility:
          type: string
          x-go-name: Visibility
        website:
          type: string
          x-go-name: Website
      required:
        - source_id
        - login_name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Email:
      description: Email an email address belonging to a user
      properties:
        email:
          format: email
          type: string
          x-go-name: Email
        primary:
          type: boolean
          x-go-name: Primary
        user_id:
          format: int64
          type: integer
          x-go-name: UserID
        username:
          type: string
          x-go-name: UserName
        verified:
          type: boolean
          x-go-name: Verified
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ExternalTracker:
      description: ExternalTracker represents settings for external tracker
      properties:
        external_tracker_format:
          description: External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.
          type: string
          x-go-name: ExternalTrackerFormat
        external_tracker_regexp_pattern:
          description: External Issue Tracker issue regular expression
          type: string
          x-go-name: ExternalTrackerRegexpPattern
        external_tracker_style:
          description: External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`
          type: string
          x-go-name: ExternalTrackerStyle
        external_tracker_url:
          description: URL of external issue tracker.
          type: string
          x-go-name: ExternalTrackerURL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ExternalWiki:
      description: ExternalWiki represents setting for external wiki
      properties:
        external_wiki_url:
          description: URL of external wiki.
          type: string
          x-go-name: ExternalWikiURL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    FileCommitResponse:
      properties:
        author:
          $ref: "#/components/schemas/CommitUser"
        committer:
          $ref: "#/components/schemas/CommitUser"
        created:
          format: date-time
          type: string
          x-go-name: Created
        html_url:
          type: string
          x-go-name: HTMLURL
        message:
          type: string
          x-go-name: Message
        parents:
          items:
            $ref: "#/components/schemas/CommitMeta"
          type: array
          x-go-name: Parents
        sha:
          type: string
          x-go-name: SHA
        tree:
          $ref: "#/components/schemas/CommitMeta"
        url:
          type: string
          x-go-name: URL
      title: FileCommitResponse contains information generated from a Git commit for a repo's file.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    FileDeleteResponse:
      description: FileDeleteResponse contains information about a repo's file that was deleted
      properties:
        commit:
          $ref: "#/components/schemas/FileCommitResponse"
        content:
          x-go-name: Content
        verification:
          $ref: "#/components/schemas/PayloadCommitVerification"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    FileLinksResponse:
      description: FileLinksResponse contains the links for a repo's file
      properties:
        git:
          type: string
          x-go-name: GitURL
        html:
          type: string
          x-go-name: HTMLURL
        self:
          type: string
          x-go-name: Self
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    FileResponse:
      description: FileResponse contains information about a repo's file
      properties:
        commit:
          $ref: "#/components/schemas/FileCommitResponse"
        content:
          $ref: "#/components/schemas/ContentsResponse"
        verification:
          $ref: "#/components/schemas/PayloadCommitVerification"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GPGKey:
      description: GPGKey a user GPG key to sign commit and tag in repository
      properties:
        can_certify:
          type: boolean
          x-go-name: CanCertify
        can_encrypt_comms:
          type: boolean
          x-go-name: CanEncryptComms
        can_encrypt_storage:
          type: boolean
          x-go-name: CanEncryptStorage
        can_sign:
          type: boolean
          x-go-name: CanSign
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        emails:
          items:
            $ref: "#/components/schemas/GPGKeyEmail"
          type: array
          x-go-name: Emails
        expires_at:
          format: date-time
          type: string
          x-go-name: Expires
        id:
          format: int64
          type: integer
          x-go-name: ID
        key_id:
          type: string
          x-go-name: KeyID
        primary_key_id:
          type: string
          x-go-name: PrimaryKeyID
        public_key:
          type: string
          x-go-name: PublicKey
        subkeys:
          items:
            $ref: "#/components/schemas/GPGKey"
          type: array
          x-go-name: SubsKey
        verified:
          type: boolean
          x-go-name: Verified
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GPGKeyEmail:
      description: GPGKeyEmail an email attached to a GPGKey
      properties:
        email:
          type: string
          x-go-name: Email
        verified:
          type: boolean
          x-go-name: Verified
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GeneralAPISettings:
      description: GeneralAPISettings contains global api settings exposed by it
      properties:
        default_git_trees_per_page:
          format: int64
          type: integer
          x-go-name: DefaultGitTreesPerPage
        default_max_blob_size:
          format: int64
          type: integer
          x-go-name: DefaultMaxBlobSize
        default_paging_num:
          format: int64
          type: integer
          x-go-name: DefaultPagingNum
        max_response_items:
          format: int64
          type: integer
          x-go-name: MaxResponseItems
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GeneralAttachmentSettings:
      description: GeneralAttachmentSettings contains global Attachment settings exposed by API
      properties:
        allowed_types:
          type: string
          x-go-name: AllowedTypes
        enabled:
          type: boolean
          x-go-name: Enabled
        max_files:
          format: int64
          type: integer
          x-go-name: MaxFiles
        max_size:
          format: int64
          type: integer
          x-go-name: MaxSize
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GeneralRepoSettings:
      description: GeneralRepoSettings contains global repository settings exposed by API
      properties:
        http_git_disabled:
          type: boolean
          x-go-name: HTTPGitDisabled
        lfs_disabled:
          type: boolean
          x-go-name: LFSDisabled
        migrations_disabled:
          type: boolean
          x-go-name: MigrationsDisabled
        mirrors_disabled:
          type: boolean
          x-go-name: MirrorsDisabled
        stars_disabled:
          type: boolean
          x-go-name: StarsDisabled
        time_tracking_disabled:
          type: boolean
          x-go-name: TimeTrackingDisabled
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GeneralUISettings:
      description: GeneralUISettings contains global ui settings exposed by API
      properties:
        allowed_reactions:
          items:
            type: string
          type: array
          x-go-name: AllowedReactions
        custom_emojis:
          items:
            type: string
          type: array
          x-go-name: CustomEmojis
        default_theme:
          type: string
          x-go-name: DefaultTheme
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GenerateRepoOption:
      description: GenerateRepoOption options when creating repository using a template
      properties:
        avatar:
          description: include avatar of the template repo
          type: boolean
          x-go-name: Avatar
        default_branch:
          description: Default branch of the new repository
          type: string
          x-go-name: DefaultBranch
        description:
          description: Description of the repository to create
          type: string
          x-go-name: Description
        git_content:
          description: include git content of default branch in template repo
          type: boolean
          x-go-name: GitContent
        git_hooks:
          description: include git hooks in template repo
          type: boolean
          x-go-name: GitHooks
        labels:
          description: include labels in template repo
          type: boolean
          x-go-name: Labels
        name:
          description: Name of the repository to create
          type: string
          uniqueItems: true
          x-go-name: Name
        owner:
          description: The organization or person who will own the new repository
          type: string
          x-go-name: Owner
        private:
          description: Whether the repository is private
          type: boolean
          x-go-name: Private
        topics:
          description: include topics in template repo
          type: boolean
          x-go-name: Topics
        webhooks:
          description: include webhooks in template repo
          type: boolean
          x-go-name: Webhooks
      required:
        - owner
        - name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GitBlobResponse:
      description: GitBlobResponse represents a git blob
      properties:
        content:
          type: string
          x-go-name: Content
        encoding:
          type: string
          x-go-name: Encoding
        sha:
          type: string
          x-go-name: SHA
        size:
          format: int64
          type: integer
          x-go-name: Size
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GitEntry:
      description: GitEntry represents a git tree
      properties:
        mode:
          type: string
          x-go-name: Mode
        path:
          type: string
          x-go-name: Path
        sha:
          type: string
          x-go-name: SHA
        size:
          format: int64
          type: integer
          x-go-name: Size
        type:
          type: string
          x-go-name: Type
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GitHook:
      description: GitHook represents a Git repository hook
      properties:
        content:
          type: string
          x-go-name: Content
        is_active:
          type: boolean
          x-go-name: IsActive
        name:
          type: string
          x-go-name: Name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GitObject:
      properties:
        sha:
          type: string
          x-go-name: SHA
        type:
          type: string
          x-go-name: Type
        url:
          type: string
          x-go-name: URL
      title: GitObject represents a Git object.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    GitTreeResponse:
      description: GitTreeResponse returns a git tree
      properties:
        page:
          format: int64
          type: integer
          x-go-name: Page
        sha:
          type: string
          x-go-name: SHA
        total_count:
          format: int64
          type: integer
          x-go-name: TotalCount
        tree:
          items:
            $ref: "#/components/schemas/GitEntry"
          type: array
          x-go-name: Entries
        truncated:
          type: boolean
          x-go-name: Truncated
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Hook:
      description: Hook a hook is a web hook when one repository changed
      properties:
        active:
          type: boolean
          x-go-name: Active
        authorization_header:
          type: string
          x-go-name: AuthorizationHeader
        config:
          additionalProperties:
            type: string
          type: object
          x-go-name: Config
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        events:
          items:
            type: string
          type: array
          x-go-name: Events
        id:
          format: int64
          type: integer
          x-go-name: ID
        type:
          type: string
          x-go-name: Type
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Identity:
      description: Identity for a person's identity like an author or committer
      properties:
        email:
          format: email
          type: string
          x-go-name: Email
        name:
          type: string
          x-go-name: Name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    InternalTracker:
      description: InternalTracker represents settings for internal tracker
      properties:
        allow_only_contributors_to_track_time:
          description: Let only contributors track time (Built-in issue tracker)
          type: boolean
          x-go-name: AllowOnlyContributorsToTrackTime
        enable_issue_dependencies:
          description: Enable dependencies for issues and pull requests (Built-in issue tracker)
          type: boolean
          x-go-name: EnableIssueDependencies
        enable_time_tracker:
          description: Enable time tracking (Built-in issue tracker)
          type: boolean
          x-go-name: EnableTimeTracker
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Issue:
      description: Issue represents an issue in a repository
      properties:
        assets:
          items:
            $ref: "#/components/schemas/Attachment"
          type: array
          x-go-name: Attachments
        assignee:
          $ref: "#/components/schemas/User"
        assignees:
          items:
            $ref: "#/components/schemas/User"
          type: array
          x-go-name: Assignees
        body:
          type: string
          x-go-name: Body
        closed_at:
          format: date-time
          type: string
          x-go-name: Closed
        comments:
          format: int64
          type: integer
          x-go-name: Comments
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        is_locked:
          type: boolean
          x-go-name: IsLocked
        labels:
          items:
            $ref: "#/components/schemas/Label"
          type: array
          x-go-name: Labels
        milestone:
          $ref: "#/components/schemas/Milestone"
        number:
          format: int64
          type: integer
          x-go-name: Index
        original_author:
          type: string
          x-go-name: OriginalAuthor
        original_author_id:
          format: int64
          type: integer
          x-go-name: OriginalAuthorID
        pull_request:
          $ref: "#/components/schemas/PullRequestMeta"
        ref:
          type: string
          x-go-name: Ref
        repository:
          $ref: "#/components/schemas/RepositoryMeta"
        state:
          $ref: "#/components/schemas/StateType"
        title:
          type: string
          x-go-name: Title
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        url:
          type: string
          x-go-name: URL
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueConfig:
      properties:
        blank_issues_enabled:
          type: boolean
          x-go-name: BlankIssuesEnabled
        contact_links:
          items:
            $ref: "#/components/schemas/IssueConfigContactLink"
          type: array
          x-go-name: ContactLinks
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueConfigContactLink:
      properties:
        about:
          type: string
          x-go-name: About
        name:
          type: string
          x-go-name: Name
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueConfigValidation:
      properties:
        message:
          type: string
          x-go-name: Message
        valid:
          type: boolean
          x-go-name: Valid
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueDeadline:
      description: IssueDeadline represents an issue deadline
      properties:
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueFormField:
      description: IssueFormField represents a form field
      properties:
        attributes:
          additionalProperties: {}
          type: object
          x-go-name: Attributes
        id:
          type: string
          x-go-name: ID
        type:
          $ref: "#/components/schemas/IssueFormFieldType"
        validations:
          additionalProperties: {}
          type: object
          x-go-name: Validations
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueFormFieldType:
      title: IssueFormFieldType defines issue form field type, can be "markdown", "textarea", "input", "dropdown" or "checkboxes"
      type: string
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueLabelsOption:
      description: IssueLabelsOption a collection of labels
      properties:
        labels:
          description: list of label IDs
          items:
            format: int64
            type: integer
          type: array
          x-go-name: Labels
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueMeta:
      description: IssueMeta basic issue information
      properties:
        index:
          format: int64
          type: integer
          x-go-name: Index
        owner:
          type: string
          x-go-name: Owner
        repo:
          type: string
          x-go-name: Name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueTemplate:
      description: IssueTemplate represents an issue template for a repository
      properties:
        about:
          type: string
          x-go-name: About
        body:
          items:
            $ref: "#/components/schemas/IssueFormField"
          type: array
          x-go-name: Fields
        content:
          type: string
          x-go-name: Content
        file_name:
          type: string
          x-go-name: FileName
        labels:
          $ref: "#/components/schemas/IssueTemplateLabels"
        name:
          type: string
          x-go-name: Name
        ref:
          type: string
          x-go-name: Ref
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    IssueTemplateLabels:
      items:
        type: string
      type: array
      x-go-package: code.gitea.io/gitea/modules/structs
    Label:
      description: Label a label to an issue or a pr
      properties:
        color:
          example: 00aabb
          type: string
          x-go-name: Color
        description:
          type: string
          x-go-name: Description
        exclusive:
          example: false
          type: boolean
          x-go-name: Exclusive
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    MarkdownOption:
      description: MarkdownOption markdown options
      properties:
        Context:
          description: |-
            Context to render

            in: body
          type: string
        Mode:
          description: |-
            Mode to render (comment, gfm, markdown)

            in: body
          type: string
        Text:
          description: |-
            Text markdown to render

            in: body
          type: string
        Wiki:
          description: |-
            Is it a wiki page ?

            in: body
          type: boolean
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    MarkupOption:
      description: MarkupOption markup options
      properties:
        Context:
          description: |-
            Context to render

            in: body
          type: string
        FilePath:
          description: |-
            File path for detecting extension in file mode

            in: body
          type: string
        Mode:
          description: |-
            Mode to render (comment, gfm, markdown, file)

            in: body
          type: string
        Text:
          description: |-
            Text markup to render

            in: body
          type: string
        Wiki:
          description: |-
            Is it a wiki page ?

            in: body
          type: boolean
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    MergePullRequestOption:
      description: MergePullRequestForm form for merging Pull Request
      properties:
        Do:
          enum:
            - merge
            - rebase
            - rebase-merge
            - squash
            - manually-merged
          type: string
        MergeCommitID:
          type: string
        MergeMessageField:
          type: string
        MergeTitleField:
          type: string
        delete_branch_after_merge:
          type: boolean
          x-go-name: DeleteBranchAfterMerge
        force_merge:
          type: boolean
          x-go-name: ForceMerge
        head_commit_id:
          type: string
          x-go-name: HeadCommitID
        merge_when_checks_succeed:
          type: boolean
          x-go-name: MergeWhenChecksSucceed
      required:
        - Do
      type: object
      x-go-name: MergePullRequestForm
      x-go-package: code.gitea.io/gitea/services/forms
    MigrateRepoOptions:
      description: |-
        MigrateRepoOptions options for migrating repository's
        this is used to interact with api v1
      properties:
        auth_password:
          type: string
          x-go-name: AuthPassword
        auth_token:
          type: string
          x-go-name: AuthToken
        auth_username:
          type: string
          x-go-name: AuthUsername
        clone_addr:
          type: string
          x-go-name: CloneAddr
        description:
          type: string
          x-go-name: Description
        issues:
          type: boolean
          x-go-name: Issues
        labels:
          type: boolean
          x-go-name: Labels
        lfs:
          type: boolean
          x-go-name: LFS
        lfs_endpoint:
          type: string
          x-go-name: LFSEndpoint
        milestones:
          type: boolean
          x-go-name: Milestones
        mirror:
          type: boolean
          x-go-name: Mirror
        mirror_interval:
          type: string
          x-go-name: MirrorInterval
        private:
          type: boolean
          x-go-name: Private
        pull_requests:
          type: boolean
          x-go-name: PullRequests
        releases:
          type: boolean
          x-go-name: Releases
        repo_name:
          type: string
          x-go-name: RepoName
        repo_owner:
          description: Name of User or Organisation who will own Repo after migration
          type: string
          x-go-name: RepoOwner
        service:
          enum:
            - git
            - github
            - gitea
            - gitlab
          type: string
          x-go-name: Service
        uid:
          description: deprecated (only for backwards compatibility)
          format: int64
          type: integer
          x-go-name: RepoOwnerID
        wiki:
          type: boolean
          x-go-name: Wiki
      required:
        - clone_addr
        - repo_name
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Milestone:
      description: Milestone milestone is a collection of issues on one repository
      properties:
        closed_at:
          format: date-time
          type: string
          x-go-name: Closed
        closed_issues:
          format: int64
          type: integer
          x-go-name: ClosedIssues
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        description:
          type: string
          x-go-name: Description
        due_on:
          format: date-time
          type: string
          x-go-name: Deadline
        id:
          format: int64
          type: integer
          x-go-name: ID
        open_issues:
          format: int64
          type: integer
          x-go-name: OpenIssues
        state:
          $ref: "#/components/schemas/StateType"
        title:
          type: string
          x-go-name: Title
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NodeInfo:
      description: NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks
      properties:
        metadata:
          type: object
          x-go-name: Metadata
        openRegistrations:
          type: boolean
          x-go-name: OpenRegistrations
        protocols:
          items:
            type: string
          type: array
          x-go-name: Protocols
        services:
          $ref: "#/components/schemas/NodeInfoServices"
        software:
          $ref: "#/components/schemas/NodeInfoSoftware"
        usage:
          $ref: "#/components/schemas/NodeInfoUsage"
        version:
          type: string
          x-go-name: Version
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NodeInfoServices:
      description: NodeInfoServices contains the third party sites this server can connect to via their application API
      properties:
        inbound:
          items:
            type: string
          type: array
          x-go-name: Inbound
        outbound:
          items:
            type: string
          type: array
          x-go-name: Outbound
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NodeInfoSoftware:
      description: NodeInfoSoftware contains Metadata about server software in use
      properties:
        homepage:
          type: string
          x-go-name: Homepage
        name:
          type: string
          x-go-name: Name
        repository:
          type: string
          x-go-name: Repository
        version:
          type: string
          x-go-name: Version
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NodeInfoUsage:
      description: NodeInfoUsage contains usage statistics for this server
      properties:
        localComments:
          format: int64
          type: integer
          x-go-name: LocalComments
        localPosts:
          format: int64
          type: integer
          x-go-name: LocalPosts
        users:
          $ref: "#/components/schemas/NodeInfoUsageUsers"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NodeInfoUsageUsers:
      description: NodeInfoUsageUsers contains statistics about the users of this server
      properties:
        activeHalfyear:
          format: int64
          type: integer
          x-go-name: ActiveHalfyear
        activeMonth:
          format: int64
          type: integer
          x-go-name: ActiveMonth
        total:
          format: int64
          type: integer
          x-go-name: Total
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Note:
      description: Note contains information related to a git note
      properties:
        commit:
          $ref: "#/components/schemas/Commit"
        message:
          type: string
          x-go-name: Message
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NotificationCount:
      description: NotificationCount number of unread notifications
      properties:
        new:
          format: int64
          type: integer
          x-go-name: New
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NotificationSubject:
      description: NotificationSubject contains the notification subject (Issue/Pull/Commit)
      properties:
        html_url:
          type: string
          x-go-name: HTMLURL
        latest_comment_html_url:
          type: string
          x-go-name: LatestCommentHTMLURL
        latest_comment_url:
          type: string
          x-go-name: LatestCommentURL
        state:
          $ref: "#/components/schemas/StateType"
        title:
          type: string
          x-go-name: Title
        type:
          $ref: "#/components/schemas/NotifySubjectType"
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NotificationThread:
      description: NotificationThread expose Notification on API
      properties:
        id:
          format: int64
          type: integer
          x-go-name: ID
        pinned:
          type: boolean
          x-go-name: Pinned
        repository:
          $ref: "#/components/schemas/Repository"
        subject:
          $ref: "#/components/schemas/NotificationSubject"
        unread:
          type: boolean
          x-go-name: Unread
        updated_at:
          format: date-time
          type: string
          x-go-name: UpdatedAt
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    NotifySubjectType:
      description: NotifySubjectType represent type of notification subject
      type: string
      x-go-package: code.gitea.io/gitea/modules/structs
    OAuth2Application:
      properties:
        client_id:
          type: string
          x-go-name: ClientID
        client_secret:
          type: string
          x-go-name: ClientSecret
        confidential_client:
          type: boolean
          x-go-name: ConfidentialClient
        created:
          format: date-time
          type: string
          x-go-name: Created
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        redirect_uris:
          items:
            type: string
          type: array
          x-go-name: RedirectURIs
      title: OAuth2Application represents an OAuth2 application.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Organization:
      description: Organization represents an organization
      properties:
        avatar_url:
          type: string
          x-go-name: AvatarURL
        description:
          type: string
          x-go-name: Description
        full_name:
          type: string
          x-go-name: FullName
        id:
          format: int64
          type: integer
          x-go-name: ID
        location:
          type: string
          x-go-name: Location
        name:
          type: string
          x-go-name: Name
        repo_admin_change_team_access:
          type: boolean
          x-go-name: RepoAdminChangeTeamAccess
        username:
          description: deprecated
          type: string
          x-go-name: UserName
        visibility:
          type: string
          x-go-name: Visibility
        website:
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    OrganizationPermissions:
      description: OrganizationPermissions list different users permissions on an organization
      properties:
        can_create_repository:
          type: boolean
          x-go-name: CanCreateRepository
        can_read:
          type: boolean
          x-go-name: CanRead
        can_write:
          type: boolean
          x-go-name: CanWrite
        is_admin:
          type: boolean
          x-go-name: IsAdmin
        is_owner:
          type: boolean
          x-go-name: IsOwner
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PRBranchInfo:
      description: PRBranchInfo information about a branch
      properties:
        label:
          type: string
          x-go-name: Name
        ref:
          type: string
          x-go-name: Ref
        repo:
          $ref: "#/components/schemas/Repository"
        repo_id:
          format: int64
          type: integer
          x-go-name: RepoID
        sha:
          type: string
          x-go-name: Sha
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Package:
      description: Package represents a package
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        creator:
          $ref: "#/components/schemas/User"
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        owner:
          $ref: "#/components/schemas/User"
        repository:
          $ref: "#/components/schemas/Repository"
        type:
          type: string
          x-go-name: Type
        version:
          type: string
          x-go-name: Version
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PackageFile:
      description: PackageFile represents a package file
      properties:
        Size:
          format: int64
          type: integer
        id:
          format: int64
          type: integer
          x-go-name: ID
        md5:
          type: string
          x-go-name: HashMD5
        name:
          type: string
          x-go-name: Name
        sha1:
          type: string
          x-go-name: HashSHA1
        sha256:
          type: string
          x-go-name: HashSHA256
        sha512:
          type: string
          x-go-name: HashSHA512
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PayloadCommit:
      description: PayloadCommit represents a commit
      properties:
        added:
          items:
            type: string
          type: array
          x-go-name: Added
        author:
          $ref: "#/components/schemas/PayloadUser"
        committer:
          $ref: "#/components/schemas/PayloadUser"
        id:
          description: sha1 hash of the commit
          type: string
          x-go-name: ID
        message:
          type: string
          x-go-name: Message
        modified:
          items:
            type: string
          type: array
          x-go-name: Modified
        removed:
          items:
            type: string
          type: array
          x-go-name: Removed
        timestamp:
          format: date-time
          type: string
          x-go-name: Timestamp
        url:
          type: string
          x-go-name: URL
        verification:
          $ref: "#/components/schemas/PayloadCommitVerification"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PayloadCommitVerification:
      description: PayloadCommitVerification represents the GPG verification of a commit
      properties:
        payload:
          type: string
          x-go-name: Payload
        reason:
          type: string
          x-go-name: Reason
        signature:
          type: string
          x-go-name: Signature
        signer:
          $ref: "#/components/schemas/PayloadUser"
        verified:
          type: boolean
          x-go-name: Verified
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PayloadUser:
      description: PayloadUser represents the author or committer of a commit
      properties:
        email:
          format: email
          type: string
          x-go-name: Email
        name:
          description: Full name of the commit author
          type: string
          x-go-name: Name
        username:
          type: string
          x-go-name: UserName
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Permission:
      description: Permission represents a set of permissions
      properties:
        admin:
          type: boolean
          x-go-name: Admin
        pull:
          type: boolean
          x-go-name: Pull
        push:
          type: boolean
          x-go-name: Push
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PublicKey:
      description: PublicKey publickey is a user key to push code to repository
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        fingerprint:
          type: string
          x-go-name: Fingerprint
        id:
          format: int64
          type: integer
          x-go-name: ID
        key:
          type: string
          x-go-name: Key
        key_type:
          type: string
          x-go-name: KeyType
        read_only:
          type: boolean
          x-go-name: ReadOnly
        title:
          type: string
          x-go-name: Title
        url:
          type: string
          x-go-name: URL
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PullRequest:
      description: PullRequest represents a pull request
      properties:
        allow_maintainer_edit:
          type: boolean
          x-go-name: AllowMaintainerEdit
        assignee:
          $ref: "#/components/schemas/User"
        assignees:
          items:
            $ref: "#/components/schemas/User"
          type: array
          x-go-name: Assignees
        base:
          $ref: "#/components/schemas/PRBranchInfo"
        body:
          type: string
          x-go-name: Body
        closed_at:
          format: date-time
          type: string
          x-go-name: Closed
        comments:
          format: int64
          type: integer
          x-go-name: Comments
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        diff_url:
          type: string
          x-go-name: DiffURL
        due_date:
          format: date-time
          type: string
          x-go-name: Deadline
        head:
          $ref: "#/components/schemas/PRBranchInfo"
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        is_locked:
          type: boolean
          x-go-name: IsLocked
        labels:
          items:
            $ref: "#/components/schemas/Label"
          type: array
          x-go-name: Labels
        merge_base:
          type: string
          x-go-name: MergeBase
        merge_commit_sha:
          type: string
          x-go-name: MergedCommitID
        mergeable:
          type: boolean
          x-go-name: Mergeable
        merged:
          type: boolean
          x-go-name: HasMerged
        merged_at:
          format: date-time
          type: string
          x-go-name: Merged
        merged_by:
          $ref: "#/components/schemas/User"
        milestone:
          $ref: "#/components/schemas/Milestone"
        number:
          format: int64
          type: integer
          x-go-name: Index
        patch_url:
          type: string
          x-go-name: PatchURL
        state:
          $ref: "#/components/schemas/StateType"
        title:
          type: string
          x-go-name: Title
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        url:
          type: string
          x-go-name: URL
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PullRequestMeta:
      description: PullRequestMeta PR info if an issue is a PR
      properties:
        merged:
          type: boolean
          x-go-name: HasMerged
        merged_at:
          format: date-time
          type: string
          x-go-name: Merged
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PullReview:
      description: PullReview represents a pull request review
      properties:
        body:
          type: string
          x-go-name: Body
        comments_count:
          format: int64
          type: integer
          x-go-name: CodeCommentsCount
        commit_id:
          type: string
          x-go-name: CommitID
        dismissed:
          type: boolean
          x-go-name: Dismissed
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        official:
          type: boolean
          x-go-name: Official
        pull_request_url:
          type: string
          x-go-name: HTMLPullURL
        stale:
          type: boolean
          x-go-name: Stale
        state:
          $ref: "#/components/schemas/ReviewStateType"
        submitted_at:
          format: date-time
          type: string
          x-go-name: Submitted
        team:
          $ref: "#/components/schemas/Team"
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PullReviewComment:
      description: PullReviewComment represents a comment on a pull request review
      properties:
        body:
          type: string
          x-go-name: Body
        commit_id:
          type: string
          x-go-name: CommitID
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        diff_hunk:
          type: string
          x-go-name: DiffHunk
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        original_commit_id:
          type: string
          x-go-name: OrigCommitID
        original_position:
          format: uint64
          type: integer
          x-go-name: OldLineNum
        path:
          type: string
          x-go-name: Path
        position:
          format: uint64
          type: integer
          x-go-name: LineNum
        pull_request_review_id:
          format: int64
          type: integer
          x-go-name: ReviewID
        pull_request_url:
          type: string
          x-go-name: HTMLPullURL
        resolver:
          $ref: "#/components/schemas/User"
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PullReviewRequestOptions:
      description: PullReviewRequestOptions are options to add or remove pull review requests
      properties:
        reviewers:
          items:
            type: string
          type: array
          x-go-name: Reviewers
        team_reviewers:
          items:
            type: string
          type: array
          x-go-name: TeamReviewers
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    PushMirror:
      description: PushMirror represents information of a push mirror
      properties:
        created:
          type: string
          x-go-name: CreatedUnix
        interval:
          type: string
          x-go-name: Interval
        last_error:
          type: string
          x-go-name: LastError
        last_update:
          type: string
          x-go-name: LastUpdateUnix
        remote_address:
          type: string
          x-go-name: RemoteAddress
        remote_name:
          type: string
          x-go-name: RemoteName
        repo_name:
          type: string
          x-go-name: RepoName
        sync_on_commit:
          type: boolean
          x-go-name: SyncOnCommit
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Reaction:
      description: Reaction contain one reaction
      properties:
        content:
          type: string
          x-go-name: Reaction
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Reference:
      properties:
        object:
          $ref: "#/components/schemas/GitObject"
        ref:
          type: string
          x-go-name: Ref
        url:
          type: string
          x-go-name: URL
      title: Reference represents a Git reference.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Release:
      description: Release represents a repository release
      properties:
        assets:
          items:
            $ref: "#/components/schemas/Attachment"
          type: array
          x-go-name: Attachments
        author:
          $ref: "#/components/schemas/User"
        body:
          type: string
          x-go-name: Note
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        draft:
          type: boolean
          x-go-name: IsDraft
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Title
        prerelease:
          type: boolean
          x-go-name: IsPrerelease
        published_at:
          format: date-time
          type: string
          x-go-name: PublishedAt
        tag_name:
          type: string
          x-go-name: TagName
        tarball_url:
          type: string
          x-go-name: TarURL
        target_commitish:
          type: string
          x-go-name: Target
        url:
          type: string
          x-go-name: URL
        zipball_url:
          type: string
          x-go-name: ZipURL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RenameUserOption:
      description: RenameUserOption options when renaming a user
      properties:
        new_username:
          description: New username for this user. This name cannot be in use yet by any other user.
          type: string
          uniqueItems: true
          x-go-name: NewName
      required:
        - new_username
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RepoCollaboratorPermission:
      description: RepoCollaboratorPermission to get repository permission for a collaborator
      properties:
        permission:
          type: string
          x-go-name: Permission
        role_name:
          type: string
          x-go-name: RoleName
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RepoCommit:
      properties:
        author:
          $ref: "#/components/schemas/CommitUser"
        committer:
          $ref: "#/components/schemas/CommitUser"
        message:
          type: string
          x-go-name: Message
        tree:
          $ref: "#/components/schemas/CommitMeta"
        url:
          type: string
          x-go-name: URL
        verification:
          $ref: "#/components/schemas/PayloadCommitVerification"
      title: RepoCommit contains information of a commit in the context of a repository.
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RepoTopicOptions:
      description: RepoTopicOptions a collection of repo topic names
      properties:
        topics:
          description: list of topic names
          items:
            type: string
          type: array
          x-go-name: Topics
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RepoTransfer:
      description: RepoTransfer represents a pending repo transfer
      properties:
        doer:
          $ref: "#/components/schemas/User"
        recipient:
          $ref: "#/components/schemas/User"
        teams:
          items:
            $ref: "#/components/schemas/Team"
          type: array
          x-go-name: Teams
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Repository:
      description: Repository represents a repository
      properties:
        allow_merge_commits:
          type: boolean
          x-go-name: AllowMerge
        allow_rebase:
          type: boolean
          x-go-name: AllowRebase
        allow_rebase_explicit:
          type: boolean
          x-go-name: AllowRebaseMerge
        allow_rebase_update:
          type: boolean
          x-go-name: AllowRebaseUpdate
        allow_squash_merge:
          type: boolean
          x-go-name: AllowSquash
        archived:
          type: boolean
          x-go-name: Archived
        avatar_url:
          type: string
          x-go-name: AvatarURL
        clone_url:
          type: string
          x-go-name: CloneURL
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        default_allow_maintainer_edit:
          type: boolean
          x-go-name: DefaultAllowMaintainerEdit
        default_branch:
          type: string
          x-go-name: DefaultBranch
        default_delete_branch_after_merge:
          type: boolean
          x-go-name: DefaultDeleteBranchAfterMerge
        default_merge_style:
          type: string
          x-go-name: DefaultMergeStyle
        description:
          type: string
          x-go-name: Description
        empty:
          type: boolean
          x-go-name: Empty
        external_tracker:
          $ref: "#/components/schemas/ExternalTracker"
        external_wiki:
          $ref: "#/components/schemas/ExternalWiki"
        fork:
          type: boolean
          x-go-name: Fork
        forks_count:
          format: int64
          type: integer
          x-go-name: Forks
        full_name:
          type: string
          x-go-name: FullName
        has_actions:
          type: boolean
          x-go-name: HasActions
        has_issues:
          type: boolean
          x-go-name: HasIssues
        has_packages:
          type: boolean
          x-go-name: HasPackages
        has_projects:
          type: boolean
          x-go-name: HasProjects
        has_pull_requests:
          type: boolean
          x-go-name: HasPullRequests
        has_releases:
          type: boolean
          x-go-name: HasReleases
        has_wiki:
          type: boolean
          x-go-name: HasWiki
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        ignore_whitespace_conflicts:
          type: boolean
          x-go-name: IgnoreWhitespaceConflicts
        internal:
          type: boolean
          x-go-name: Internal
        internal_tracker:
          $ref: "#/components/schemas/InternalTracker"
        language:
          type: string
          x-go-name: Language
        languages_url:
          type: string
          x-go-name: LanguagesURL
        link:
          type: string
          x-go-name: Link
        mirror:
          type: boolean
          x-go-name: Mirror
        mirror_interval:
          type: string
          x-go-name: MirrorInterval
        mirror_updated:
          format: date-time
          type: string
          x-go-name: MirrorUpdated
        name:
          type: string
          x-go-name: Name
        open_issues_count:
          format: int64
          type: integer
          x-go-name: OpenIssues
        open_pr_counter:
          format: int64
          type: integer
          x-go-name: OpenPulls
        original_url:
          type: string
          x-go-name: OriginalURL
        owner:
          $ref: "#/components/schemas/User"
        parent:
          $ref: "#/components/schemas/Repository"
        permissions:
          $ref: "#/components/schemas/Permission"
        private:
          type: boolean
          x-go-name: Private
        release_counter:
          format: int64
          type: integer
          x-go-name: Releases
        repo_transfer:
          $ref: "#/components/schemas/RepoTransfer"
        size:
          format: int64
          type: integer
          x-go-name: Size
        ssh_url:
          type: string
          x-go-name: SSHURL
        stars_count:
          format: int64
          type: integer
          x-go-name: Stars
        template:
          type: boolean
          x-go-name: Template
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        watchers_count:
          format: int64
          type: integer
          x-go-name: Watchers
        website:
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    RepositoryMeta:
      description: RepositoryMeta basic repository information
      properties:
        full_name:
          type: string
          x-go-name: FullName
        id:
          format: int64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        owner:
          type: string
          x-go-name: Owner
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ReviewStateType:
      description: ReviewStateType review state type
      type: string
      x-go-package: code.gitea.io/gitea/modules/structs
    SearchResults:
      description: SearchResults results of a successful search
      properties:
        data:
          items:
            $ref: "#/components/schemas/Repository"
          type: array
          x-go-name: Data
        ok:
          type: boolean
          x-go-name: OK
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    ServerVersion:
      description: ServerVersion wraps the version of the server
      properties:
        version:
          type: string
          x-go-name: Version
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    StateType:
      description: StateType issue state type
      type: string
      x-go-package: code.gitea.io/gitea/modules/structs
    StopWatch:
      description: StopWatch represent a running stopwatch
      properties:
        created:
          format: date-time
          type: string
          x-go-name: Created
        duration:
          type: string
          x-go-name: Duration
        issue_index:
          format: int64
          type: integer
          x-go-name: IssueIndex
        issue_title:
          type: string
          x-go-name: IssueTitle
        repo_name:
          type: string
          x-go-name: RepoName
        repo_owner_name:
          type: string
          x-go-name: RepoOwnerName
        seconds:
          format: int64
          type: integer
          x-go-name: Seconds
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    SubmitPullReviewOptions:
      description: SubmitPullReviewOptions are options to submit a pending pull review
      properties:
        body:
          type: string
          x-go-name: Body
        event:
          $ref: "#/components/schemas/ReviewStateType"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Tag:
      description: Tag represents a repository tag
      properties:
        commit:
          $ref: "#/components/schemas/CommitMeta"
        id:
          type: string
          x-go-name: ID
        message:
          type: string
          x-go-name: Message
        name:
          type: string
          x-go-name: Name
        tarball_url:
          type: string
          x-go-name: TarballURL
        zipball_url:
          type: string
          x-go-name: ZipballURL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    Team:
      description: Team represents a team in an organization
      properties:
        can_create_org_repo:
          type: boolean
          x-go-name: CanCreateOrgRepo
        description:
          type: string
          x-go-name: Description
        id:
          format: int64
          type: integer
          x-go-name: ID
        includes_all_repositories:
          type: boolean
          x-go-name: IncludesAllRepositories
        name:
          type: string
          x-go-name: Name
        organization:
          $ref: "#/components/schemas/Organization"
        permission:
          enum:
            - none
            - read
            - write
            - admin
            - owner
          type: string
          x-go-name: Permission
        units:
          example:
            - repo.code
            - repo.issues
            - repo.ext_issues
            - repo.wiki
            - repo.pulls
            - repo.releases
            - repo.projects
            - repo.ext_wiki
          items:
            type: string
          type: array
          x-go-name: Units
        units_map:
          additionalProperties:
            type: string
          example:
            repo.code: read
            repo.ext_issues: none
            repo.ext_wiki: none
            repo.issues: write
            repo.projects: none
            repo.pulls: owner
            repo.releases: none
            repo.wiki: admin
          type: object
          x-go-name: UnitsMap
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    TimeStamp:
      description: TimeStamp defines a timestamp
      format: int64
      type: integer
      x-go-package: code.gitea.io/gitea/modules/timeutil
    TimelineComment:
      description: TimelineComment represents a timeline comment (comment of any type) on a commit or issue
      properties:
        assignee:
          $ref: "#/components/schemas/User"
        assignee_team:
          $ref: "#/components/schemas/Team"
        body:
          type: string
          x-go-name: Body
        created_at:
          format: date-time
          type: string
          x-go-name: Created
        dependent_issue:
          $ref: "#/components/schemas/Issue"
        html_url:
          type: string
          x-go-name: HTMLURL
        id:
          format: int64
          type: integer
          x-go-name: ID
        issue_url:
          type: string
          x-go-name: IssueURL
        label:
          $ref: "#/components/schemas/Label"
        milestone:
          $ref: "#/components/schemas/Milestone"
        new_ref:
          type: string
          x-go-name: NewRef
        new_title:
          type: string
          x-go-name: NewTitle
        old_milestone:
          $ref: "#/components/schemas/Milestone"
        old_project_id:
          format: int64
          type: integer
          x-go-name: OldProjectID
        old_ref:
          type: string
          x-go-name: OldRef
        old_title:
          type: string
          x-go-name: OldTitle
        project_id:
          format: int64
          type: integer
          x-go-name: ProjectID
        pull_request_url:
          type: string
          x-go-name: PRURL
        ref_action:
          type: string
          x-go-name: RefAction
        ref_comment:
          $ref: "#/components/schemas/Comment"
        ref_commit_sha:
          description: commit SHA where issue/PR was referenced
          type: string
          x-go-name: RefCommitSHA
        ref_issue:
          $ref: "#/components/schemas/Issue"
        removed_assignee:
          description: whether the assignees were removed or added
          type: boolean
          x-go-name: RemovedAssignee
        resolve_doer:
          $ref: "#/components/schemas/User"
        review_id:
          format: int64
          type: integer
          x-go-name: ReviewID
        tracked_time:
          $ref: "#/components/schemas/TrackedTime"
        type:
          type: string
          x-go-name: Type
        updated_at:
          format: date-time
          type: string
          x-go-name: Updated
        user:
          $ref: "#/components/schemas/User"
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    TopicName:
      description: TopicName a list of repo topic names
      properties:
        topics:
          items:
            type: string
          type: array
          x-go-name: TopicNames
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    TopicResponse:
      description: TopicResponse for returning topics
      properties:
        created:
          format: date-time
          type: string
          x-go-name: Created
        id:
          format: int64
          type: integer
          x-go-name: ID
        repo_count:
          format: int64
          type: integer
          x-go-name: RepoCount
        topic_name:
          type: string
          x-go-name: Name
        updated:
          format: date-time
          type: string
          x-go-name: Updated
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    TrackedTime:
      description: TrackedTime worked time for an issue / pr
      properties:
        created:
          format: date-time
          type: string
          x-go-name: Created
        id:
          format: int64
          type: integer
          x-go-name: ID
        issue:
          $ref: "#/components/schemas/Issue"
        issue_id:
          description: deprecated (only for backwards compatibility)
          format: int64
          type: integer
          x-go-name: IssueID
        time:
          description: Time in seconds
          format: int64
          type: integer
          x-go-name: Time
        user_id:
          description: deprecated (only for backwards compatibility)
          format: int64
          type: integer
          x-go-name: UserID
        user_name:
          type: string
          x-go-name: UserName
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    TransferRepoOption:
      description: TransferRepoOption options when transfer a repository's ownership
      properties:
        new_owner:
          type: string
          x-go-name: NewOwner
        team_ids:
          description: ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.
          items:
            format: int64
            type: integer
          type: array
          x-go-name: TeamIDs
      required:
        - new_owner
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    UpdateFileOptions:
      description: |-
        UpdateFileOptions options for updating files
        Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
      properties:
        author:
          $ref: "#/components/schemas/Identity"
        branch:
          description: branch (optional) to base this file from. if not given, the default branch is used
          type: string
          x-go-name: BranchName
        committer:
          $ref: "#/components/schemas/Identity"
        content:
          description: content must be base64 encoded
          type: string
          x-go-name: Content
        dates:
          $ref: "#/components/schemas/CommitDateOptions"
        from_path:
          description: from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL
          type: string
          x-go-name: FromPath
        message:
          description: message (optional) for the commit of this file. if not supplied, a default message will be used
          type: string
          x-go-name: Message
        new_branch:
          description: new_branch (optional) will make a new branch from `branch` before creating the file
          type: string
          x-go-name: NewBranchName
        sha:
          description: sha is the SHA for the file that already exists
          type: string
          x-go-name: SHA
        signoff:
          description: Add a Signed-off-by trailer by the committer at the end of the commit log message.
          type: boolean
          x-go-name: Signoff
      required:
        - sha
        - content
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    User:
      description: User represents a user
      properties:
        active:
          description: Is user active
          type: boolean
          x-go-name: IsActive
        avatar_url:
          description: URL to the user's avatar
          type: string
          x-go-name: AvatarURL
        created:
          format: date-time
          type: string
          x-go-name: Created
        description:
          description: the user's description
          type: string
          x-go-name: Description
        email:
          format: email
          type: string
          x-go-name: Email
        followers_count:
          description: user counts
          format: int64
          type: integer
          x-go-name: Followers
        following_count:
          format: int64
          type: integer
          x-go-name: Following
        full_name:
          description: the user's full name
          type: string
          x-go-name: FullName
        id:
          description: the user's id
          format: int64
          type: integer
          x-go-name: ID
        is_admin:
          description: Is the user an administrator
          type: boolean
          x-go-name: IsAdmin
        language:
          description: User locale
          type: string
          x-go-name: Language
        last_login:
          format: date-time
          type: string
          x-go-name: LastLogin
        location:
          description: the user's location
          type: string
          x-go-name: Location
        login:
          description: the user's username
          type: string
          x-go-name: UserName
        login_name:
          default: empty
          description: the user's authentication sign-in name.
          type: string
          x-go-name: LoginName
        prohibit_login:
          description: Is user login prohibited
          type: boolean
          x-go-name: ProhibitLogin
        restricted:
          description: Is user restricted
          type: boolean
          x-go-name: Restricted
        starred_repos_count:
          format: int64
          type: integer
          x-go-name: StarredRepos
        visibility:
          description: "User visibility level option: public, limited, private"
          type: string
          x-go-name: Visibility
        website:
          description: the user's website
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    UserHeatmapData:
      description: UserHeatmapData represents the data needed to create a heatmap
      properties:
        contributions:
          format: int64
          type: integer
          x-go-name: Contributions
        timestamp:
          $ref: "#/components/schemas/TimeStamp"
      type: object
      x-go-package: code.gitea.io/gitea/models/activities
    UserSettings:
      description: UserSettings represents user settings
      properties:
        description:
          type: string
          x-go-name: Description
        diff_view_style:
          type: string
          x-go-name: DiffViewStyle
        full_name:
          type: string
          x-go-name: FullName
        hide_activity:
          type: boolean
          x-go-name: HideActivity
        hide_email:
          description: Privacy
          type: boolean
          x-go-name: HideEmail
        language:
          type: string
          x-go-name: Language
        location:
          type: string
          x-go-name: Location
        theme:
          type: string
          x-go-name: Theme
        website:
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    UserSettingsOptions:
      description: UserSettingsOptions represents options to change user settings
      properties:
        description:
          type: string
          x-go-name: Description
        diff_view_style:
          type: string
          x-go-name: DiffViewStyle
        full_name:
          type: string
          x-go-name: FullName
        hide_activity:
          type: boolean
          x-go-name: HideActivity
        hide_email:
          description: Privacy
          type: boolean
          x-go-name: HideEmail
        language:
          type: string
          x-go-name: Language
        location:
          type: string
          x-go-name: Location
        theme:
          type: string
          x-go-name: Theme
        website:
          type: string
          x-go-name: Website
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    WatchInfo:
      description: WatchInfo represents an API watch status of one repository
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        ignored:
          type: boolean
          x-go-name: Ignored
        reason:
          x-go-name: Reason
        repository_url:
          type: string
          x-go-name: RepositoryURL
        subscribed:
          type: boolean
          x-go-name: Subscribed
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    WikiCommit:
      description: WikiCommit page commit/revision
      properties:
        author:
          $ref: "#/components/schemas/CommitUser"
        commiter:
          $ref: "#/components/schemas/CommitUser"
        message:
          type: string
          x-go-name: Message
        sha:
          type: string
          x-go-name: ID
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    WikiCommitList:
      description: WikiCommitList commit/revision list
      properties:
        commits:
          items:
            $ref: "#/components/schemas/WikiCommit"
          type: array
          x-go-name: WikiCommits
        count:
          format: int64
          type: integer
          x-go-name: Count
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    WikiPage:
      description: WikiPage a wiki page
      properties:
        commit_count:
          format: int64
          type: integer
          x-go-name: CommitCount
        content_base64:
          description: Page content, base64 encoded
          type: string
          x-go-name: ContentBase64
        footer:
          type: string
          x-go-name: Footer
        html_url:
          type: string
          x-go-name: HTMLURL
        last_commit:
          $ref: "#/components/schemas/WikiCommit"
        sidebar:
          type: string
          x-go-name: Sidebar
        sub_url:
          type: string
          x-go-name: SubURL
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
    WikiPageMetaData:
      description: WikiPageMetaData wiki page meta information
      properties:
        html_url:
          type: string
          x-go-name: HTMLURL
        last_commit:
          $ref: "#/components/schemas/WikiCommit"
        sub_url:
          type: string
          x-go-name: SubURL
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: code.gitea.io/gitea/modules/structs
  securitySchemes:
    AccessToken:
      in: query
      name: access_token
      type: apiKey
    AuthorizationHeaderToken:
      description: API tokens must be prepended with "token" followed by a space.
      in: header
      name: Authorization
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
    SudoHeader:
      description: Sudo API request as the user provided as the key. Admin privileges are required.
      in: header
      name: Sudo
      type: apiKey
    SudoParam:
      description: Sudo API request as the user provided as the key. Admin privileges are required.
      in: query
      name: sudo
      type: apiKey
    TOTPHeader:
      description: Must be used in combination with BasicAuth if two-factor authentication is enabled.
      in: header
      name: X-GITEA-OTP
      type: apiKey
    Token:
      in: query
      name: token
      type: apiKey
