{
  "consumes": [
    "application/json",
    "text/plain"
  ],
  "produces": [
    "application/json",
    "text/html"
  ],
  "schemes": [
    "http",
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "This documentation describes the Gitea API.",
    "title": "Gitea API.",
    "license": {
      "name": "MIT",
      "url": "http://opensource.org/licenses/MIT"
    },
    "version": "1.1.1"
  },
  "basePath": "/api/v1",
  "paths": {
    "/admin/users": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Create a user",
        "operationId": "adminCreateUser",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateUserOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/User"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Delete a user",
        "operationId": "adminDeleteUser",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to delete",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Edit an existing user",
        "operationId": "adminEditUser",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to edit",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditUserOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}/keys": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Add a public key on behalf of a user",
        "operationId": "adminCreatePublicKey",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PublicKey"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}/orgs": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Create an organization",
        "operationId": "adminCreateOrg",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user that will own the created organization",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Organization"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}/repos": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Create a repository on behalf a user",
        "operationId": "adminCreateRepo",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user. This user will own the created repository",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/markdown": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/html"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Render a markdown document as HTML",
        "operationId": "renderMarkdown",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/MarkdownOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MarkdownRender"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/markdown/raw": {
      "post": {
        "consumes": [
          "text/plain"
        ],
        "produces": [
          "text/html"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Render raw markdown as HTML",
        "operationId": "renderMarkdownRaw",
        "parameters": [
          {
            "type": "string",
            "name": "body",
            "in": "body"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MarkdownRender"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/org/{org}/repos": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a repository in an organization",
        "operationId": "createOrgRepo",
        "parameters": [
          {
            "type": "string",
            "description": "name of organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateRepoOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/orgs/{org}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get an organization",
        "operationId": "orgGet",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization to get",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Organization"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Edit an organization",
        "operationId": "orgEdit",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization to edit",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditOrgOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Organization"
          }
        }
      }
    },
    "/orgs/{org}/hooks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's webhooks",
        "operationId": "orgListHooks",
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          }
        }
      }
    },
    "/orgs/{org}/hooks/": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a hook",
        "operationId": "orgCreateHook",
        "responses": {
          "201": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/orgs/{org}/hooks/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get a hook",
        "operationId": "orgGetHook",
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete a hook",
        "operationId": "orgDeleteHook",
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update a hook",
        "operationId": "orgEditHook",
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/orgs/{org}/members": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's members",
        "operationId": "orgListMembers",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/orgs/{org}/members/{username}": {
      "get": {
        "tags": [
          "organization"
        ],
        "summary": "Check if a user is a member of an organization",
        "operationId": "orgIsMember",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "user is a member",
            "schema": {
              "$ref": "#/responses/empty"
            }
          },
          "404": {
            "description": "user is not a member",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Remove a member from an organization",
        "operationId": "orgDeleteMember",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "member removed",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      }
    },
    "/orgs/{org}/public_members": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's public members",
        "operationId": "orgListPublicMembers",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/orgs/{org}/public_members/{username}": {
      "get": {
        "tags": [
          "organization"
        ],
        "summary": "Check if a user is a public member of an organization",
        "operationId": "orgIsPublicMember",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "user is a public member",
            "schema": {
              "$ref": "#/responses/empty"
            }
          },
          "404": {
            "description": "user is not a public member",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Publicize a user's membership",
        "operationId": "orgPublicizeMember",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "membership publicized",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Conceal a user's membership",
        "operationId": "orgConcealMember",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/orgs/{org}/repos": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's repos",
        "operationId": "orgListRepos",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/orgs/{org}/teams": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's teams",
        "operationId": "orgListTeams",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a team",
        "operationId": "orgCreateTeam",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateTeamOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Team"
          }
        }
      }
    },
    "/repos/migrate": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Migrate a remote git repository",
        "operationId": "repoMigrate",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/MigrateRepoForm"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          }
        }
      }
    },
    "/repos/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Search for repositories",
        "operationId": "repoSearch",
        "parameters": [
          {
            "type": "string",
            "description": "keyword",
            "name": "q",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "search only for repos that the user with the given id owns or contributes to",
            "name": "uid",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results, maximum page size is 50",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "type of repository to search for. Supported values are \"fork\", \"source\", \"mirror\" and \"collaborative\"",
            "name": "mode",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "if `uid` is given, search only for repos that the user owns",
            "name": "exclusive",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SearchResults"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repository",
        "operationId": "repoGet",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a repository",
        "operationId": "repoDelete",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to delete",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to delete",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/archive/{filepath}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get an archive of a repository",
        "operationId": "repoGetArchive",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "archive to download, consisting of a git reference and archive",
            "name": "archive",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {}
        }
      }
    },
    "/repos/{owner}/{repo}/branches": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's branches",
        "operationId": "repoListBranches",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/BranchList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/branches/{branch}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's branches",
        "operationId": "repoGetBranch",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "branch to get",
            "name": "branch",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Branch"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/collaborators": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's collaborators",
        "operationId": "repoListCollaborators",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/collaborators/{collaborator}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Check if a user is a collaborator of a repository",
        "operationId": "repoCheckCollaborator",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the collaborator",
            "name": "collaborator",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Add a collaborator to a repository",
        "operationId": "repoAddCollaborator",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the collaborator to add",
            "name": "collaborator",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/AddCollaboratorOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a collaborator from a repository",
        "operationId": "repoDeleteCollaborator",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the collaborator to delete",
            "name": "collaborator",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/comments/{id}": {
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Delete a comment",
        "operationId": "issueDeleteComment",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of comment to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Edit a comment",
        "operationId": "issueEditComment",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the comment to edit",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditIssueCommentOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Comment"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits/{ref}/statuses": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a commit's combined status, by branch/tag/commit reference",
        "operationId": "repoGetCombinedStatusByRef",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of branch/tag/commit",
            "name": "ref",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Status"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/editorconfig/{filepath}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get the EditorConfig definitions of a file in a repository",
        "operationId": "repoGetEditorConfig",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "filepath of file to get",
            "name": "filepath",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {}
        }
      }
    },
    "/repos/{owner}/{repo}/forks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's forks",
        "operationId": "listForks",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Fork a repository",
        "operationId": "createFork",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to fork",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to fork",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateForkOption"
            }
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/responses/Repository"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List the hooks in a repository",
        "operationId": "repoListHooks",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a hook",
        "operationId": "repoCreateHook",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a hook",
        "operationId": "repoGetHook",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      },
      "patch": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a hook in a repository",
        "operationId": "repoEditHook",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue/{index}/comments": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List all comments on an issue",
        "operationId": "issueGetComments",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "if provided, only comments updated since the specified time are returned.",
            "name": "string",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue/{index}/labels": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Replace an issue's labels",
        "operationId": "issueReplaceLabels",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueLabelsOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add a label to an issue",
        "operationId": "issueAddLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueLabelsOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Remove all labels from an issue",
        "operationId": "issueClearLabels",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue/{index}/labels/{id}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Remove a label from an issue",
        "operationId": "issueRemoveLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the label to remove",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List a repository's issues",
        "operationId": "issueListIssues",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "whether issue is open or closed",
            "name": "state",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of requested issues",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create an issue",
        "operationId": "issueCreateIssue",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateIssueOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Issue"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List all comments in a repository",
        "operationId": "issueGetRepoComments",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "if provided, only comments updated since the provided time are returned.",
            "name": "string",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get an issue by id",
        "operationId": "issueGetIssue",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the issue to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Issue"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Edit an issue",
        "operationId": "issueEditIssue",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the issue to edit",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditIssueOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Issue"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/comments": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add a comment to an issue",
        "operationId": "issueCreateComment",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateIssueOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Comment"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/labels": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get an issue's labels",
        "operationId": "issueGetLabels",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List an issue's tracked times",
        "operationId": "issueTrackedTimes",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add a tracked time to a issue",
        "operationId": "issueAddTime",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the issue to add tracked time to",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/AddTimeOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTime"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's keys",
        "operationId": "repoListKeys",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeployKeyList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Add a key to a repository",
        "operationId": "repoCreateKey",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateKeyOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/DeployKey"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/keys/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repository's key by id",
        "operationId": "repoGetKey",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the key to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeployKey"
          }
        }
      },
      "delete": {
        "tags": [
          "repository"
        ],
        "summary": "Delete a key from a repository",
        "operationId": "repoDeleteKey",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the key to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/labels": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get all of a repository's labels",
        "operationId": "issueListLabels",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create a label",
        "operationId": "issueCreateLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateLabelOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Label"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/labels/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a single label",
        "operationId": "issueGetLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the label to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Label"
          }
        }
      },
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Delete a label",
        "operationId": "issueDeleteLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the label to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Update a label",
        "operationId": "issueEditLabel",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the label to edit",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditLabelOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Label"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/milestones": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get all of a repository's milestones",
        "operationId": "issueGetMilestones",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the milestone to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MilestoneList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create a milestone",
        "operationId": "issueCreateMilestone",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateMilestoneOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Milestone"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/milestones/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a milestone",
        "operationId": "issueGetMilestone",
        "responses": {
          "200": {
            "$ref": "#/responses/Milestone"
          }
        }
      },
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Delete a milestone",
        "operationId": "issueDeleteMilestone",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the milestone to delete",
            "name": "body",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Update a milestone",
        "operationId": "issueEditMilestone",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditMilestoneOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Milestone"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/mirror-sync": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Sync a mirrored repository",
        "operationId": "repoMirrorSync",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to sync",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to sync",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's pull requests",
        "operationId": "repoListPullRequests",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequestList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a pull request",
        "operationId": "repoCreatePullRequest",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreatePullRequestOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PullRequest"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a pull request",
        "operationId": "repoGetPullRequest",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the pull request to get",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequest"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a pull request",
        "operationId": "repoEditPullRequest",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the pull request to edit",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditPullRequestOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PullRequest"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/merge": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Check if a pull request has been merged",
        "operationId": "repoPullRequestIsMerged",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the pull request",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "pull request has been merged",
            "schema": {
              "$ref": "#/responses/empty"
            }
          },
          "404": {
            "description": "pull request has not been merged",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Merge a pull request",
        "operationId": "repoMergePullRequest",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "index of the pull request to merge",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/empty"
          },
          "405": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/raw/{filepath}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a file from a repository",
        "operationId": "repoGetRawFile",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "filepath of the file to get",
            "name": "filepath",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {}
        }
      }
    },
    "/repos/{owner}/{repo}/releases": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a release",
        "operationId": "repoCreateRelease",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateReleaseOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Release"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/releases/{id}": {
      "delete": {
        "tags": [
          "repository"
        ],
        "summary": "Delete a release",
        "operationId": "repoDeleteRelease",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the release to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a release",
        "operationId": "repoEditRelease",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the release to edit",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditReleaseOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Release"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/stargazers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's stargazers",
        "operationId": "repoListStargazers",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/statuses/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a commit's statuses",
        "operationId": "repoListStatuses",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "sha of the commit",
            "name": "sha",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/StatusList"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a commit status",
        "operationId": "repoCreateStatus",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "sha of the commit",
            "name": "sha",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateStatusOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/StatusList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/subscribers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's watchers",
        "operationId": "repoListSubscribers",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/subscription": {
      "get": {
        "tags": [
          "repository"
        ],
        "summary": "Check if the current user is watching a repo",
        "operationId": "userCurrentCheckSubscription",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WatchInfo"
          }
        }
      },
      "put": {
        "tags": [
          "repository"
        ],
        "summary": "Watch a repo",
        "operationId": "userCurrentPutSubscription",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WatchInfo"
          }
        }
      },
      "delete": {
        "tags": [
          "repository"
        ],
        "summary": "Unwatch a repo",
        "operationId": "userCurrentDeleteSubscription",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's tracked times",
        "operationId": "repoTrackedTimes",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/times/{tracker}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List a user's tracked times in a repo",
        "operationId": "userTrackedTimes",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of user",
            "name": "user",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          }
        }
      }
    },
    "/repos/{user}/{repo}/hooks/{id}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a hook in a repository",
        "operationId": "repoDeleteHook",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the hook to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repositories/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repository by id",
        "operationId": "repoGetByID",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the repo to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          }
        }
      }
    },
    "/teams/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get a team",
        "operationId": "orgGetTeam",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          }
        }
      },
      "delete": {
        "tags": [
          "organization"
        ],
        "summary": "Delete a team",
        "operationId": "orgDeleteTeam",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "team deleted",
            "schema": {
              "$ref": "#/responses/empty"
            }
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Edit a team",
        "operationId": "orgEditTeam",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team to edit",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditTeamOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          }
        }
      }
    },
    "/teams/{id}/members": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a team's members",
        "operationId": "orgListTeamMembers",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/teams/{id}/members/{username}": {
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Add a team member",
        "operationId": "orgAddTeamMember",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user to add",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Remove a team member",
        "operationId": "orgAddTeamMember",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user to remove",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/teams/{id}/repos": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a team's repos",
        "operationId": "orgListTeamRepos",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/teams/{id}/repos/{org}/{repo}": {
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Add a repository to a team",
        "operationId": "orgAddTeamMember",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "organization that owns the repo to add",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to add",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "description": "This does not delete the repository, it only removes the repository from the team.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Remove a repository from a team",
        "operationId": "orgAddTeamMember",
        "parameters": [
          {
            "type": "integer",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "organization that owns the repo to remove",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to remove",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/user": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get the authenticated user",
        "operationId": "userGetCurrent",
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          }
        }
      }
    },
    "/user/emails": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's email addresses",
        "operationId": "userListEmails",
        "responses": {
          "200": {
            "$ref": "#/responses/EmailList"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Add email addresses",
        "operationId": "userAddEmail",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateEmailOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/EmailList"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete email addresses",
        "operationId": "userDeleteEmail",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/DeleteEmailOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/user/followers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's followers",
        "operationId": "userCurrentListFollowers",
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/user/following": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the users that the authenticated user is following",
        "operationId": "userCurrentListFollowing",
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/user/following/{followee}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Check whether a user is followed by the authenticated user",
        "operationId": "userCurrentCheckFollowing",
        "parameters": [
          {
            "type": "string",
            "description": "username of followed user",
            "name": "followee",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/following/{username}": {
      "put": {
        "tags": [
          "user"
        ],
        "summary": "Follow a user",
        "operationId": "userCurrentPutFollow",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to follow",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "tags": [
          "user"
        ],
        "summary": "Unfollow a user",
        "operationId": "userCurrentDeleteFollow",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to unfollow",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/user/gpg_keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's GPG keys",
        "operationId": "userCurrentListGPGKeys",
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKeyList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create a GPG key",
        "operationId": "userCurrentPostGPGKey",
        "parameters": [
          {
            "name": "Form",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateGPGKeyOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/GPGKey"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/gpg_keys/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a GPG key",
        "operationId": "userCurrentGetGPGKey",
        "parameters": [
          {
            "type": "integer",
            "description": "id of key to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKey"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Remove a GPG key",
        "operationId": "userCurrentDeleteGPGKey",
        "parameters": [
          {
            "type": "integer",
            "description": "id of key to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/user/keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's public keys",
        "operationId": "userCurrentListKeys",
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKeyList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create a public key",
        "operationId": "userCurrentPostKey",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateKeyOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PublicKey"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/keys/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a public key",
        "operationId": "userCurrentGetKey",
        "parameters": [
          {
            "type": "integer",
            "description": "id of key to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKey"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete a public key",
        "operationId": "userCurrentDeleteKey",
        "parameters": [
          {
            "type": "integer",
            "description": "id of key to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/user/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List the current user's organizations",
        "operationId": "orgListCurrentUserOrgs",
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          }
        }
      }
    },
    "/user/repos": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the repos that the authenticated user owns or has access to",
        "operationId": "userCurrentListRepos",
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository",
          "user"
        ],
        "summary": "Create a repository",
        "operationId": "createCurrentUserRepo",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateRepoOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          }
        }
      }
    },
    "/user/starred": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "The repos that the authenticated user has starred",
        "operationId": "userCurrentListStarred",
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/user/starred/{owner}/{repo}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Whether the authenticated is starring the repo",
        "operationId": "userCurrentCheckStarring",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "tags": [
          "user"
        ],
        "summary": "Star the given repo",
        "operationId": "userCurrentPutStar",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to star",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to star",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "tags": [
          "user"
        ],
        "summary": "Unstar the given repo",
        "operationId": "userCurrentDeleteStar",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to unstar",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to unstar",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/user/subscriptions": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List repositories watched by the authenticated user",
        "operationId": "userCurrentListSubscriptions",
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/user/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the current user's tracked times",
        "operationId": "userCurrentTrackedTimes",
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          }
        }
      }
    },
    "/user/{username}/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a user's organizations",
        "operationId": "orgListUserOrgs",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          }
        }
      }
    },
    "/users/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Search for users",
        "operationId": "userSearch",
        "parameters": [
          {
            "type": "string",
            "description": "keyword",
            "name": "q",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "maximum number of users to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/users/{follower}/following/{followee}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Check if one user is following another user",
        "operationId": "userCheckFollowing",
        "parameters": [
          {
            "type": "string",
            "description": "username of following user",
            "name": "follower",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of followed user",
            "name": "followee",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user",
        "operationId": "userGet",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to get",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/followers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the given user's followers",
        "operationId": "userListFollowers",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/users/{username}/following": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the users that the given user is following",
        "operationId": "userListFollowing",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/users/{username}/gpg_keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the given user's GPG keys",
        "operationId": "userListGPGKeys",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKeyList"
          }
        }
      }
    },
    "/users/{username}/keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the given user's public keys",
        "operationId": "userListKeys",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKeyList"
          }
        }
      }
    },
    "/users/{username}/repos": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the repos owned by the given user",
        "operationId": "userListRepos",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/users/{username}/starred": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "The repos that the given user has starred",
        "operationId": "userListStarred",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/users/{username}/subscriptions": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the repositories watched by a user",
        "operationId": "userListSubscriptions",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user",
            "name": "username",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/users/{username}/tokens": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's access tokens",
        "operationId": "userGetTokens",
        "responses": {
          "200": {
            "$ref": "#/responses/AccessTokenList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create an access token",
        "operationId": "userCreateToken",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "Name",
            "name": "name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AccessToken"
          }
        }
      }
    },
    "/version": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns the version of the Gitea application",
        "operationId": "getVersion",
        "responses": {
          "200": {
            "$ref": "#/responses/ServerVersion"
          }
        }
      }
    }
  },
  "definitions": {
    "AddCollaboratorOption": {
      "description": "AddCollaboratorOption options when adding a user as a collaborator of a repository",
      "type": "object",
      "properties": {
        "permission": {
          "type": "string",
          "x-go-name": "Permission"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "AddTimeOption": {
      "description": "AddTimeOption options for adding time to an issue",
      "type": "object",
      "required": [
        "time"
      ],
      "properties": {
        "time": {
          "description": "time in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Time"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Branch": {
      "description": "Branch represents a repository branch",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/PayloadCommit"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Comment": {
      "description": "Comment represents a comment on a commit or issue",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "issue_url": {
          "type": "string",
          "x-go-name": "IssueURL"
        },
        "pull_request_url": {
          "type": "string",
          "x-go-name": "PRURL"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateEmailOption": {
      "description": "CreateEmailOption options when creating email addresses",
      "type": "object",
      "properties": {
        "emails": {
          "description": "email addresses to add",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Emails"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateForkOption": {
      "description": "CreateForkOption options for creating a fork",
      "type": "object",
      "properties": {
        "organization": {
          "description": "organization name, if forking into an organization",
          "type": "string",
          "x-go-name": "Organization"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateGPGKeyOption": {
      "description": "CreateGPGKeyOption options create user GPG key",
      "type": "object",
      "required": [
        "armored_public_key"
      ],
      "properties": {
        "armored_public_key": {
          "description": "An armored GPG key to add",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "ArmoredKey"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateHookOption": {
      "description": "CreateHookOption options when create a hook",
      "type": "object",
      "required": [
        "type",
        "config"
      ],
      "properties": {
        "active": {
          "type": "boolean",
          "default": false,
          "x-go-name": "Active"
        },
        "config": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "Config"
        },
        "events": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Events"
        },
        "type": {
          "type": "string",
          "enum": [
            "gitea",
            "gogs",
            "slack",
            "discord"
          ],
          "x-go-name": "Type"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateIssueCommentOption": {
      "description": "CreateIssueCommentOption options for creating a comment on an issue",
      "type": "object",
      "required": [
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateIssueOption": {
      "description": "CreateIssueOption options to create one issue",
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "assignee": {
          "description": "username of assignee",
          "type": "string",
          "x-go-name": "Assignee"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "closed": {
          "type": "boolean",
          "x-go-name": "Closed"
        },
        "labels": {
          "description": "list of label ids",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "description": "milestone id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateKeyOption": {
      "description": "CreateKeyOption options when creating a key",
      "type": "object",
      "required": [
        "title",
        "key"
      ],
      "properties": {
        "key": {
          "description": "An armored SSH key to add",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Key"
        },
        "title": {
          "description": "Title of the key to add",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateLabelOption": {
      "description": "CreateLabelOption options for creating a label",
      "type": "object",
      "required": [
        "name",
        "color"
      ],
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "#00aabb"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateMilestoneOption": {
      "description": "CreateMilestoneOption options for creating a milestone",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateOrgOption": {
      "description": "CreateOrgOption options for creating an organization",
      "type": "object",
      "required": [
        "username"
      ],
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "location": {
          "type": "string",
          "x-go-name": "Location"
        },
        "username": {
          "type": "string",
          "x-go-name": "UserName"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreatePullRequestOption": {
      "description": "CreatePullRequestOption options when creating a pull request",
      "type": "object",
      "properties": {
        "assignee": {
          "type": "string",
          "x-go-name": "Assignee"
        },
        "base": {
          "type": "string",
          "x-go-name": "Base"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "head": {
          "type": "string",
          "x-go-name": "Head"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateReleaseOption": {
      "description": "CreateReleaseOption options when creating a release",
      "type": "object",
      "required": [
        "tag_name"
      ],
      "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateRepoOption": {
      "description": "CreateRepoOption options when creating repository",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "auto_init": {
          "description": "Whether the repository should be auto-intialized?",
          "type": "boolean",
          "x-go-name": "AutoInit"
        },
        "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"
        },
        "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateStatusOption": {
      "description": "CreateStatusOption holds the information needed to create a new Status for a Commit",
      "type": "object",
      "properties": {
        "context": {
          "type": "string",
          "x-go-name": "Context"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "state": {
          "$ref": "#/definitions/StatusState"
        },
        "target_url": {
          "type": "string",
          "x-go-name": "TargetURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateTeamOption": {
      "description": "CreateTeamOption options for creating a team",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "permission": {
          "type": "string",
          "enum": [
            "read",
            "write",
            "admin"
          ],
          "x-go-name": "Permission"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CreateUserOption": {
      "description": "CreateUserOption create user options",
      "type": "object",
      "required": [
        "username",
        "email",
        "password"
      ],
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "login_name": {
          "type": "string",
          "x-go-name": "LoginName"
        },
        "password": {
          "type": "string",
          "x-go-name": "Password"
        },
        "send_notify": {
          "type": "boolean",
          "x-go-name": "SendNotify"
        },
        "source_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "username": {
          "type": "string",
          "x-go-name": "Username"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "DeleteEmailOption": {
      "description": "DeleteEmailOption options when deleting email addresses",
      "type": "object",
      "properties": {
        "emails": {
          "description": "email addresses to delete",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Emails"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "DeployKey": {
      "description": "DeployKey a deploy key",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "type": "string",
          "x-go-name": "Key"
        },
        "read_only": {
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditHookOption": {
      "description": "EditHookOption options when modify one hook",
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean",
          "x-go-name": "Active"
        },
        "config": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "Config"
        },
        "events": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Events"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditIssueCommentOption": {
      "description": "EditIssueCommentOption options for editing a comment",
      "type": "object",
      "required": [
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditIssueOption": {
      "description": "EditIssueOption options for editing an issue",
      "type": "object",
      "properties": {
        "assignee": {
          "type": "string",
          "x-go-name": "Assignee"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "milestone": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "state": {
          "type": "string",
          "x-go-name": "State"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditLabelOption": {
      "description": "EditLabelOption options for editing a label",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditMilestoneOption": {
      "description": "EditMilestoneOption options for editing a milestone",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "state": {
          "type": "string",
          "x-go-name": "State"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditOrgOption": {
      "description": "EditOrgOption options for editing an organization",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "location": {
          "type": "string",
          "x-go-name": "Location"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditPullRequestOption": {
      "description": "EditPullRequestOption options when modify pull request",
      "type": "object",
      "properties": {
        "assignee": {
          "type": "string",
          "x-go-name": "Assignee"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "state": {
          "type": "string",
          "x-go-name": "State"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditReleaseOption": {
      "description": "EditReleaseOption options when editing a release",
      "type": "object",
      "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditTeamOption": {
      "description": "EditTeamOption options for editing a team",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "permission": {
          "type": "string",
          "enum": [
            "read",
            "write",
            "admin"
          ],
          "x-go-name": "Permission"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditUserOption": {
      "description": "EditUserOption edit user options",
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "active": {
          "type": "boolean",
          "x-go-name": "Active"
        },
        "admin": {
          "type": "boolean",
          "x-go-name": "Admin"
        },
        "allow_git_hook": {
          "type": "boolean",
          "x-go-name": "AllowGitHook"
        },
        "allow_import_local": {
          "type": "boolean",
          "x-go-name": "AllowImportLocal"
        },
        "email": {
          "type": "string",
          "format": "email",
          "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": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "MaxRepoCreation"
        },
        "password": {
          "type": "string",
          "x-go-name": "Password"
        },
        "source_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Email": {
      "description": "Email an email address belonging to a user",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "primary": {
          "type": "boolean",
          "x-go-name": "Primary"
        },
        "verified": {
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "GPGKey": {
      "description": "GPGKey a user GPG key to sign commit and tag in repository",
      "type": "object",
      "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": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GPGKeyEmail"
          },
          "x-go-name": "Emails"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Expires"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "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": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GPGKey"
          },
          "x-go-name": "SubsKey"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "GPGKeyEmail": {
      "description": "GPGKeyEmail an email attached to a GPGKey",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "x-go-name": "Email"
        },
        "verified": {
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Issue": {
      "description": "Issue represents an issue in a repository",
      "type": "object",
      "properties": {
        "assignee": {
          "$ref": "#/definitions/User"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "comments": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Comments"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "labels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Label"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "$ref": "#/definitions/Milestone"
        },
        "number": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Index"
        },
        "pull_request": {
          "$ref": "#/definitions/PullRequestMeta"
        },
        "state": {
          "$ref": "#/definitions/StateType"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "IssueLabelsOption": {
      "description": "IssueLabelsOption a collection of labels",
      "type": "object",
      "properties": {
        "labels": {
          "description": "list of label IDs",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Label": {
      "description": "Label a label to an issue or a pr",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "00aabb"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "MarkdownOption": {
      "description": "MarkdownOption markdown options",
      "type": "object",
      "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "MigrateRepoForm": {
      "description": "MigrateRepoForm form for migrating repository",
      "type": "object",
      "required": [
        "clone_addr",
        "uid",
        "repo_name"
      ],
      "properties": {
        "auth_password": {
          "type": "string",
          "x-go-name": "AuthPassword"
        },
        "auth_username": {
          "type": "string",
          "x-go-name": "AuthUsername"
        },
        "clone_addr": {
          "type": "string",
          "x-go-name": "CloneAddr"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "mirror": {
          "type": "boolean",
          "x-go-name": "Mirror"
        },
        "private": {
          "type": "boolean",
          "x-go-name": "Private"
        },
        "repo_name": {
          "type": "string",
          "x-go-name": "RepoName"
        },
        "uid": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "UID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/auth"
    },
    "Milestone": {
      "description": "Milestone milestone is a collection of issues on one repository",
      "type": "object",
      "properties": {
        "closed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Closed"
        },
        "closed_issues": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ClosedIssues"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "open_issues": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OpenIssues"
        },
        "state": {
          "$ref": "#/definitions/StateType"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Organization": {
      "description": "Organization represents an organization",
      "type": "object",
      "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": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "location": {
          "type": "string",
          "x-go-name": "Location"
        },
        "username": {
          "type": "string",
          "x-go-name": "UserName"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PRBranchInfo": {
      "description": "PRBranchInfo information about a branch",
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "x-go-name": "Name"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "repo": {
          "$ref": "#/definitions/Repository"
        },
        "repo_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoID"
        },
        "sha": {
          "type": "string",
          "x-go-name": "Sha"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PayloadCommit": {
      "description": "PayloadCommit represents a commit",
      "type": "object",
      "properties": {
        "author": {
          "$ref": "#/definitions/PayloadUser"
        },
        "committer": {
          "$ref": "#/definitions/PayloadUser"
        },
        "id": {
          "description": "sha1 hash of the commit",
          "type": "string",
          "x-go-name": "ID"
        },
        "message": {
          "type": "string",
          "x-go-name": "Message"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Timestamp"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PayloadCommitVerification": {
      "description": "PayloadCommitVerification represents the GPG verification of a commit",
      "type": "object",
      "properties": {
        "payload": {
          "type": "string",
          "x-go-name": "Payload"
        },
        "reason": {
          "type": "string",
          "x-go-name": "Reason"
        },
        "signature": {
          "type": "string",
          "x-go-name": "Signature"
        },
        "verified": {
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PayloadUser": {
      "description": "PayloadUser represents the author or committer of a commit",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Permission": {
      "description": "Permission represents a set of permissions",
      "type": "object",
      "properties": {
        "admin": {
          "type": "boolean",
          "x-go-name": "Admin"
        },
        "pull": {
          "type": "boolean",
          "x-go-name": "Pull"
        },
        "push": {
          "type": "boolean",
          "x-go-name": "Push"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PublicKey": {
      "description": "PublicKey publickey is a user key to push code to repository",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "type": "string",
          "x-go-name": "Key"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PullRequest": {
      "description": "PullRequest represents a pull request",
      "type": "object",
      "properties": {
        "assignee": {
          "$ref": "#/definitions/User"
        },
        "base": {
          "$ref": "#/definitions/PRBranchInfo"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "comments": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Comments"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "diff_url": {
          "type": "string",
          "x-go-name": "DiffURL"
        },
        "head": {
          "$ref": "#/definitions/PRBranchInfo"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "labels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Label"
          },
          "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": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Merged"
        },
        "merged_by": {
          "$ref": "#/definitions/User"
        },
        "milestone": {
          "$ref": "#/definitions/Milestone"
        },
        "number": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Index"
        },
        "patch_url": {
          "type": "string",
          "x-go-name": "PatchURL"
        },
        "state": {
          "$ref": "#/definitions/StateType"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "PullRequestMeta": {
      "description": "PullRequestMeta PR info if an issue is a PR",
      "type": "object",
      "properties": {
        "merged": {
          "type": "boolean",
          "x-go-name": "HasMerged"
        },
        "merged_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Merged"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Release": {
      "description": "Release represents a repository release",
      "type": "object",
      "properties": {
        "author": {
          "$ref": "#/definitions/User"
        },
        "body": {
          "type": "string",
          "x-go-name": "Note"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "draft": {
          "type": "boolean",
          "x-go-name": "IsDraft"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Title"
        },
        "prerelease": {
          "type": "boolean",
          "x-go-name": "IsPrerelease"
        },
        "published_at": {
          "type": "string",
          "format": "date-time",
          "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Repository": {
      "description": "Repository represents a repository",
      "type": "object",
      "properties": {
        "clone_url": {
          "type": "string",
          "x-go-name": "CloneURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "default_branch": {
          "type": "string",
          "x-go-name": "DefaultBranch"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "empty": {
          "type": "boolean",
          "x-go-name": "Empty"
        },
        "fork": {
          "type": "boolean",
          "x-go-name": "Fork"
        },
        "forks_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Forks"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "mirror": {
          "type": "boolean",
          "x-go-name": "Mirror"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "open_issues_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OpenIssues"
        },
        "owner": {
          "$ref": "#/definitions/User"
        },
        "parent": {
          "$ref": "#/definitions/Repository"
        },
        "permissions": {
          "$ref": "#/definitions/Permission"
        },
        "private": {
          "type": "boolean",
          "x-go-name": "Private"
        },
        "size": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "ssh_url": {
          "type": "string",
          "x-go-name": "SSHURL"
        },
        "stars_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Stars"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "watchers_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Watchers"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "SearchResults": {
      "description": "SearchResults results of a successful search",
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Repository"
          },
          "x-go-name": "Data"
        },
        "ok": {
          "type": "boolean",
          "x-go-name": "OK"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "ServerVersion": {
      "description": "ServerVersion wraps the version of the server",
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "x-go-name": "Version"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "StateType": {
      "description": "StateType issue state type",
      "type": "string",
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Status": {
      "description": "Status holds a single Status of a single Commit",
      "type": "object",
      "properties": {
        "context": {
          "type": "string",
          "x-go-name": "Context"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "creator": {
          "$ref": "#/definitions/User"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "status": {
          "$ref": "#/definitions/StatusState"
        },
        "target_url": {
          "type": "string",
          "x-go-name": "TargetURL"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "StatusState": {
      "description": "StatusState holds the state of a Status\nIt can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"",
      "type": "string",
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Team": {
      "description": "Team represents a team in an organization",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "permission": {
          "type": "string",
          "enum": [
            "none",
            "read",
            "write",
            "admin",
            "owner"
          ],
          "x-go-name": "Permission"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "TrackedTime": {
      "description": "TrackedTime worked time for an issue / pr",
      "type": "object",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "issue_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "IssueID"
        },
        "time": {
          "description": "Time in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Time"
        },
        "user_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "UserID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "User": {
      "description": "User represents a user",
      "type": "object",
      "properties": {
        "avatar_url": {
          "description": "URL to the user's avatar",
          "type": "string",
          "x-go-name": "AvatarURL"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "the user's full name",
          "type": "string",
          "x-go-name": "FullName"
        },
        "id": {
          "description": "the user's id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "login": {
          "description": "the user's username",
          "type": "string",
          "x-go-name": "UserName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "WatchInfo": {
      "description": "WatchInfo represents an API watch status of one repository",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "ignored": {
          "type": "boolean",
          "x-go-name": "Ignored"
        },
        "reason": {
          "type": "object",
          "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"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    }
  },
  "responses": {
    "AccessToken": {
      "description": "AccessToken represents a API access token.",
      "headers": {
        "name": {
          "type": "string"
        },
        "sha1": {
          "type": "string"
        }
      }
    },
    "AccessTokenList": {
      "description": "AccessTokenList represents a list of API access token."
    },
    "Branch": {
      "schema": {
        "$ref": "#/definitions/Branch"
      }
    },
    "BranchList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "Comment": {
      "schema": {
        "$ref": "#/definitions/Comment"
      }
    },
    "CommentList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Comment"
        }
      }
    },
    "DeployKey": {
      "schema": {
        "$ref": "#/definitions/DeployKey"
      }
    },
    "DeployKeyList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/DeployKey"
        }
      }
    },
    "EmailList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Email"
        }
      }
    },
    "GPGKey": {
      "schema": {
        "$ref": "#/definitions/GPGKey"
      }
    },
    "GPGKeyList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/GPGKey"
        }
      }
    },
    "Hook": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "HookList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "Issue": {
      "schema": {
        "$ref": "#/definitions/Issue"
      }
    },
    "IssueList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Issue"
        }
      }
    },
    "Label": {
      "schema": {
        "$ref": "#/definitions/Label"
      }
    },
    "LabelList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Label"
        }
      }
    },
    "MarkdownRender": {
      "description": "MarkdownRender is a rendered markdown document"
    },
    "Milestone": {
      "schema": {
        "$ref": "#/definitions/Milestone"
      }
    },
    "MilestoneList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Milestone"
        }
      }
    },
    "Organization": {
      "schema": {
        "$ref": "#/definitions/Organization"
      }
    },
    "OrganizationList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Organization"
        }
      }
    },
    "PublicKey": {
      "schema": {
        "$ref": "#/definitions/PublicKey"
      }
    },
    "PublicKeyList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PublicKey"
        }
      }
    },
    "PullRequest": {
      "schema": {
        "$ref": "#/definitions/PullRequest"
      }
    },
    "PullRequestList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PullRequest"
        }
      }
    },
    "Release": {
      "schema": {
        "$ref": "#/definitions/Release"
      }
    },
    "ReleaseList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Release"
        }
      }
    },
    "Repository": {
      "schema": {
        "$ref": "#/definitions/Repository"
      }
    },
    "RepositoryList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Repository"
        }
      }
    },
    "SearchResults": {
      "schema": {
        "$ref": "#/definitions/SearchResults"
      },
      "headers": {
        "body": {}
      }
    },
    "ServerVersion": {
      "schema": {
        "$ref": "#/definitions/ServerVersion"
      }
    },
    "Status": {
      "schema": {
        "$ref": "#/definitions/Status"
      }
    },
    "StatusList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Status"
        }
      }
    },
    "Team": {
      "schema": {
        "$ref": "#/definitions/Team"
      }
    },
    "TeamList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Team"
        }
      }
    },
    "TrackedTime": {
      "schema": {
        "$ref": "#/definitions/TrackedTime"
      }
    },
    "TrackedTimeList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TrackedTime"
        }
      }
    },
    "User": {
      "schema": {
        "$ref": "#/definitions/User"
      }
    },
    "UserList": {
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/User"
        }
      }
    },
    "WatchInfo": {
      "schema": {
        "$ref": "#/definitions/WatchInfo"
      }
    },
    "empty": {
      "description": "APIEmpty is an empty response"
    },
    "error": {
      "description": "APIError is error format response",
      "headers": {
        "message": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "forbidden": {
      "description": "APIForbiddenError is a forbidden error response",
      "headers": {
        "message": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "notFound": {
      "description": "APINotFound is a not found empty response"
    },
    "parameterBodies": {
      "schema": {
        "$ref": "#/definitions/MigrateRepoForm"
      },
      "headers": {
        "AddCollaboratorOption": {},
        "AddTimeOption": {},
        "CreateEmailOption": {},
        "CreateForkOption": {},
        "CreateHookOption": {},
        "CreateIssueCommentOption": {},
        "CreateIssueOption": {},
        "CreateKeyOption": {},
        "CreateLabelOption": {},
        "CreateMilestoneOption": {},
        "CreateOrgOption": {},
        "CreatePullRequestOption": {},
        "CreateReleaseOption": {},
        "CreateRepoOption": {},
        "CreateStatusOption": {},
        "CreateTeamOption": {},
        "CreateUserOption": {},
        "DeleteEmailOption": {},
        "EditHookOption": {},
        "EditIssueCommentOption": {},
        "EditIssueOption": {},
        "EditLabelOption": {},
        "EditMilestoneOption": {},
        "EditOrgOption": {},
        "EditPullRequestOption": {},
        "EditReleaseOption": {},
        "EditTeamOption": {},
        "EditUserOption": {},
        "IssueLabelsOption": {},
        "MarkdownOption": {},
        "MigrateRepoForm": {}
      }
    },
    "redirect": {
      "description": "APIRedirect is a redirect response"
    },
    "validationError": {
      "description": "APIValidationError is error format response related to input validation",
      "headers": {
        "message": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    }
  },
  "securityDefinitions": {
    "AccessToken": {
      "type": "apiKey",
      "name": "access_token",
      "in": "query"
    },
    "AuthorizationHeaderToken": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    },
    "BasicAuth": {
      "type": "basic"
    },
    "Token": {
      "type": "apiKey",
      "name": "token",
      "in": "query"
    }
  },
  "security": [
    {
      "BasicAuth": [
        "[]"
      ]
    },
    {
      "Token": [
        "[]"
      ]
    },
    {
      "AccessToken": [
        "[]"
      ]
    },
    {
      "AuthorizationHeaderToken": [
        "[]"
      ]
    }
  ]
}