Gitea API. icon

Gitea API.

This documentation describes the Gitea API

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "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-93-g6886706f5",
    "x-apisguru-categories": [
      "developer_tools"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_giteaio_profile_image.jpeg"
    },
    "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/{username}": {
      "get": {
        "operationId": "activitypubPerson",
        "parameters": [
          {
            "description": "username of the user",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActivityPub"
          }
        },
        "summary": "Returns the Person actor for a user",
        "tags": [
          "activitypub"
        ]
      }
    },
    "/activitypub/user/{username}/inbox": {
      "post": {
        "operationId": "activitypubPersonInbox",
        "parameters": [
          {
            "description": "username of the user",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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/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": "adminGetAllUsers",
        "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"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          }
        },
        "summary": "List all users",
        "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"
            }
          }
        ],
        "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}/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"
          },
          "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"
        ]
      }
    },
    "/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}/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"
          },
          "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",
                "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}/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_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}/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}/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}/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/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"
          },
          "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}/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"
            }
          }
        }
      },
      "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."
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "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\nIt 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\nNote: `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\nrequired 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\nmigrated from other systems. When omitted, the user's creation timestamp\nwill 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)\nNote: `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_issues": {
            "description": "either `true` to enable issues for this repository or `false` to disable them.",
            "type": "boolean",
            "x-go-name": "HasIssues"
          },
          "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_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.\nNote: you will get a 422 error if the organization restricts changing repository visibility to organization\nowners 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"
          },
          "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"
      },
      "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"
      },
      "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\n\nin: body",
            "type": "string"
          },
          "Mode": {
            "description": "Mode to render\n\nin: body",
            "type": "string"
          },
          "Text": {
            "description": "Text markdown to render\n\nin: body",
            "type": "string"
          },
          "Wiki": {
            "description": "Is it a wiki page ?\n\nin: 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\nthis 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"
      },
      "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_issues": {
            "type": "boolean",
            "x-go-name": "HasIssues"
          },
          "has_projects": {
            "type": "boolean",
            "x-go-name": "HasProjects"
          },
          "has_pull_requests": {
            "type": "boolean",
            "x-go-name": "HasPullRequests"
          },
          "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\nNote: `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"
      }
    }
  }
}