{
  "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": "{{AppSubUrl}}/api/v1",
  "paths": {
    "/admin/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List all organizations",
        "operationId": "adminGetAllOrgs",
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/users": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List all users",
        "operationId": "adminGetAllUsers",
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      },
      "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
          },
          {
            "name": "key",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateKeyOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PublicKey"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}/keys/{id}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Delete a user's public key",
        "operationId": "adminDeleteUserPublicKey",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the key to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "name": "organization",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateOrgOption"
            }
          }
        ],
        "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
          },
          {
            "name": "repository",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateRepoOption"
            }
          }
        ],
        "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": [
          {
            "description": "Request body to render",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create an organization",
        "operationId": "orgCreate",
        "parameters": [
          {
            "name": "organization",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateOrgOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Organization"
          },
          "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"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete an organization",
        "operationId": "orgDelete",
        "parameters": [
          {
            "type": "string",
            "description": "organization that is to be deleted",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "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",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          }
        }
      }
    },
    "/orgs/{org}/hooks/": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a hook",
        "operationId": "orgCreateHook",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateHookOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/orgs/{org}/hooks/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get a hook",
        "operationId": "orgGetHook",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete a hook",
        "operationId": "orgDeleteHook",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update a hook",
        "operationId": "orgEditHook",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to update",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "description": "user is not a member"
          }
        }
      },
      "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"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "description": "user is not a public member"
          }
        }
      },
      "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"
          }
        }
      },
      "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",
            "format": "int64",
            "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"
          },
          {
            "type": "string",
            "description": "sort repos by attribute. Supported values are \"alpha\", \"created\", \"updated\", \"size\", and \"id\". Default is \"alpha\"",
            "name": "sort",
            "in": "query"
          },
          {
            "type": "string",
            "description": "sort order, either \"asc\" (ascending) or \"desc\" (descending). Default is \"asc\", ignored if \"sort\" is not specified.",
            "name": "order",
            "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/{archive}": {
      "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": {
            "description": "success"
          }
        }
      }
    },
    "/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": "Retrieve a specific branch from a repository",
        "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}/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": {
            "description": "success"
          }
        }
      }
    },
    "/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}/git/commits/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a single commit from a repository",
        "operationId": "repoGetSingleCommit",
        "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": "the commit hash",
            "name": "sha",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Commit"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/refs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get specified ref or filtered repository's refs",
        "operationId": "repoListAllGitRefs",
        "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/ReferenceList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/refs/{ref}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get specified ref or filtered repository's refs",
        "operationId": "repoListGitRefs",
        "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": "part or full name of the ref",
            "name": "ref",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ReferenceList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/trees/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the tree of a repository.",
        "operationId": "GetTree",
        "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
          },
          {
            "type": "boolean",
            "description": "show all directories and files",
            "name": "recursive",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "number of items per page; default is 1000 or what is set in app.ini as DEFAULT_GIT_TREES_PER_PAGE",
            "name": "per_page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GitTreeResponse"
          }
        }
      }
    },
    "/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": {
          "201": {
            "$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",
            "format": "int64",
            "description": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      },
      "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",
            "format": "int64",
            "description": "id of the hook to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "index of the hook",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks/{id}/tests": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Test a push webhook",
        "operationId": "repoTestHook",
        "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",
            "format": "int64",
            "description": "id of the hook to test",
            "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": "string",
            "description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded",
            "name": "labels",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of requested issues",
            "name": "page",
            "in": "query"
          },
          {
            "type": "string",
            "description": "search string",
            "name": "q",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create an issue. If using deadline only the date will be taken into account, and time of day ignored.",
        "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": "since",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/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",
            "format": "int64",
            "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",
            "format": "int64",
            "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}/issues/{id}/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",
            "format": "int64",
            "description": "index of the issue",
            "name": "id",
            "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",
            "format": "int64",
            "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}/issues/{index}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get an issue",
        "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",
            "format": "int64",
            "description": "index of the issue to get",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Issue"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.",
        "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",
            "format": "int64",
            "description": "index of the issue to edit",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditIssueOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Issue"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{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",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "if provided, only comments updated since the specified time are returned.",
            "name": "since",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          }
        }
      },
      "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",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateIssueCommentOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Comment"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/comments/{id}": {
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Delete a comment",
        "operationId": "issueDeleteCommentDeprecated",
        "deprecated": true,
        "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": "this parameter is ignored",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "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": "issueEditCommentDeprecated",
        "deprecated": true,
        "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": "this parameter is ignored",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "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}/issues/{index}/deadline": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.",
        "operationId": "issueEditIssueDeadline",
        "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",
            "format": "int64",
            "description": "index of the issue to create or update a deadline on",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditDeadlineOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/IssueDeadline"
          },
          "403": {
            "description": "Not repo writer"
          },
          "404": {
            "description": "Issue not found"
          }
        }
      }
    },
    "/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",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{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",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the label to remove",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/stopwatch/start": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Start stopwatch on an issue.",
        "operationId": "issueStartStopWatch",
        "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",
            "format": "int64",
            "description": "index of the issue to create the stopwatch on",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "description": "Not repo writer, user does not have rights to toggle stopwatch"
          },
          "404": {
            "description": "Issue not found"
          },
          "409": {
            "description": "Cannot start a stopwatch again if it already exists"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/stopwatch/stop": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Stop an issue's existing stopwatch.",
        "operationId": "issueStopWatch",
        "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",
            "format": "int64",
            "description": "index of the issue to stop the stopwatch on",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "description": "Not repo writer, user does not have rights to toggle stopwatch"
          },
          "404": {
            "description": "Issue not found"
          },
          "409": {
            "description": "Cannot stop a non existent stopwatch"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "the key_id to search for",
            "name": "key_id",
            "in": "query"
          },
          {
            "type": "string",
            "description": "fingerprint of the key",
            "name": "fingerprint",
            "in": "query"
          }
        ],
        "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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 opened milestones",
        "operationId": "issueGetMilestonesList",
        "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/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",
        "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",
            "format": "int64",
            "description": "id of the milestone",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "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",
            "format": "int64",
            "description": "id of the milestone 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 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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the milestone",
            "name": "id",
            "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
          },
          {
            "type": "integer",
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "enum": [
              "closed",
              "open",
              "all"
            ],
            "type": "string",
            "description": "State of pull request: open or closed (optional)",
            "name": "state",
            "in": "query"
          },
          {
            "enum": [
              "oldest",
              "recentupdate",
              "leastupdate",
              "mostcomment",
              "leastcomment",
              "priority"
            ],
            "type": "string",
            "description": "Type of sort",
            "name": "sort",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "ID of the milestone",
            "name": "milestone",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "collectionFormat": "multi",
            "description": "Label IDs",
            "name": "labels",
            "in": "query"
          }
        ],
        "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "description": "index of the pull request",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "pull request has been merged"
          },
          "404": {
            "description": "pull request has not been merged"
          }
        }
      },
      "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",
            "format": "int64",
            "description": "index of the pull request to merge",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/MergePullRequestOption"
            }
          }
        ],
        "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": {
            "description": "success"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/releases": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's releases",
        "operationId": "repoListReleases",
        "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": "page wants to load",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "items count every page wants to load",
            "name": "per_page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ReleaseList"
          }
        }
      },
      "post": {
        "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}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a release",
        "operationId": "repoGetRelease",
        "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",
            "format": "int64",
            "description": "id of the release to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Release"
          }
        }
      },
      "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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}/releases/{id}/assets": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List release's attachments",
        "operationId": "repoListReleaseAttachments",
        "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",
            "format": "int64",
            "description": "id of the release",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AttachmentList"
          }
        }
      },
      "post": {
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a release attachment",
        "operationId": "repoCreateReleaseAttachment",
        "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",
            "format": "int64",
            "description": "id of the release",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the attachment",
            "name": "name",
            "in": "query"
          },
          {
            "type": "file",
            "description": "attachment to upload",
            "name": "attachment",
            "in": "formData",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Attachment"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a release attachment",
        "operationId": "repoGetReleaseAttachment",
        "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",
            "format": "int64",
            "description": "id of the release",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the attachment to get",
            "name": "attachment_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Attachment"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a release attachment",
        "operationId": "repoDeleteReleaseAttachment",
        "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",
            "format": "int64",
            "description": "id of the release",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the attachment to delete",
            "name": "attachment_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a release attachment",
        "operationId": "repoEditReleaseAttachment",
        "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",
            "format": "int64",
            "description": "id of the release",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the attachment to edit",
            "name": "attachment_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditAttachmentOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Attachment"
          }
        }
      }
    },
    "/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}/tags": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's tags",
        "operationId": "repoListTags",
        "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/TagList"
          }
        }
      }
    },
    "/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/{user}": {
      "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"
          }
        }
      }
    },
    "/repositories/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repository by id",
        "operationId": "repoGetByID",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
            "format": "int64",
            "description": "id of the team to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "team deleted"
          }
        }
      },
      "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",
            "format": "int64",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/teams/{id}/members/{username}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a particular member of team",
        "operationId": "orgListTeamMember",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the member to list",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Add a team member",
        "operationId": "orgAddTeamMember",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "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": "orgRemoveTeamMember",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "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",
            "format": "int64",
            "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": "orgAddTeamRepository",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "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": "orgRemoveTeamRepository",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "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"
          }
        }
      }
    },
    "/topics/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "search topics via keyword",
        "operationId": "topicSearch",
        "parameters": [
          {
            "type": "string",
            "description": "keywords to search",
            "name": "q",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          }
        }
      }
    },
    "/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/{username}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Check whether a user is followed by the authenticated user",
        "operationId": "userCurrentCheckFollowing",
        "parameters": [
          {
            "type": "string",
            "description": "username of followed user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "tags": [
          "user"
        ],
        "summary": "Follow a user",
        "operationId": "userCurrentPutFollow",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to follow",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "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",
            "format": "int64",
            "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",
            "format": "int64",
            "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",
        "parameters": [
          {
            "type": "string",
            "description": "fingerprint of the key",
            "name": "fingerprint",
            "in": "query"
          }
        ],
        "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",
            "format": "int64",
            "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",
            "format": "int64",
            "description": "id of key to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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/teams": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List all the teams a user belongs to",
        "operationId": "userListTeams",
        "responses": {
          "200": {
            "$ref": "#/responses/TeamList"
          }
        }
      }
    },
    "/user/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the current user's tracked times",
        "operationId": "userCurrentTrackedTimes",
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          }
        }
      }
    },
    "/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",
            "format": "int64",
            "description": "ID of the user to search for",
            "name": "uid",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "maximum number of users to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "SearchResults of a successful search",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/User"
                  }
                },
                "ok": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/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}/heatmap": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user's heatmap",
        "operationId": "userGetHeatmapData",
        "parameters": [
          {
            "type": "string",
            "description": "username of user to get",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserHeatmapData"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "string",
            "description": "fingerprint of the key",
            "name": "fingerprint",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKeyList"
          }
        }
      }
    },
    "/users/{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",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          }
        }
      }
    },
    "/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",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/users/{username}/tokens": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's access tokens",
        "operationId": "userGetTokens",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "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",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "accessToken",
            "in": "body",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AccessToken"
          }
        }
      }
    },
    "/users/{username}/tokens/{token}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "delete an access token",
        "operationId": "userDeleteAccessToken",
        "parameters": [
          {
            "type": "string",
            "description": "username of user",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "token to be deleted",
            "name": "token",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/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"
    },
    "Attachment": {
      "description": "Attachment a generic attachment",
      "type": "object",
      "properties": {
        "browser_download_url": {
          "type": "string",
          "x-go-name": "DownloadURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "download_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "DownloadCount"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "size": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "uuid": {
          "type": "string",
          "x-go-name": "UUID"
        }
      },
      "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"
    },
    "Commit": {
      "type": "object",
      "title": "Commit contains information generated from a Git commit.",
      "properties": {
        "author": {
          "$ref": "#/definitions/User"
        },
        "commit": {
          "$ref": "#/definitions/RepoCommit"
        },
        "committer": {
          "$ref": "#/definitions/User"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "parents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CommitMeta"
          },
          "x-go-name": "Parents"
        },
        "sha": {
          "type": "string",
          "x-go-name": "SHA"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CommitMeta": {
      "type": "object",
      "title": "CommitMeta contains meta information of a commit in terms of API.",
      "properties": {
        "sha": {
          "type": "string",
          "x-go-name": "SHA"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "CommitUser": {
      "type": "object",
      "title": "CommitUser contains information of a user in the context of a commit.",
      "properties": {
        "date": {
          "type": "string",
          "x-go-name": "Date"
        },
        "email": {
          "type": "string",
          "x-go-name": "Email"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "closed": {
          "type": "boolean",
          "x-go-name": "Closed"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
        },
        "read_only": {
          "description": "Describe if the key has only read access or read/write",
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "title": {
          "description": "Title of the key to add",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Title"
        }
      },
      "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "base": {
          "type": "string",
          "x-go-name": "Base"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
        },
        "units": {
          "type": "array",
          "enum": [
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.pulls",
            "repo.releases",
            "repo.ext_wiki"
          ],
          "items": {
            "type": "string"
          },
          "x-go-name": "Units"
        }
      },
      "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"
        },
        "fingerprint": {
          "type": "string",
          "x-go-name": "Fingerprint"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "type": "string",
          "x-go-name": "Key"
        },
        "key_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "KeyID"
        },
        "read_only": {
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "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"
    },
    "EditAttachmentOptions": {
      "description": "EditAttachmentOptions options for editing attachments",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "EditDeadlineOption": {
      "description": "EditDeadlineOption options for creating a deadline",
      "type": "object",
      "required": [
        "due_date"
      ],
      "properties": {
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        }
      },
      "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
        },
        "units": {
          "type": "array",
          "enum": [
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.pulls",
            "repo.releases",
            "repo.ext_wiki"
          ],
          "items": {
            "type": "string"
          },
          "x-go-name": "Units"
        }
      },
      "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_create_organization": {
          "type": "boolean",
          "x-go-name": "AllowCreateOrganization"
        },
        "allow_git_hook": {
          "type": "boolean",
          "x-go-name": "AllowGitHook"
        },
        "allow_import_local": {
          "type": "boolean",
          "x-go-name": "AllowImportLocal"
        },
        "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"
        },
        "prohibit_login": {
          "type": "boolean",
          "x-go-name": "ProhibitLogin"
        },
        "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"
    },
    "GitEntry": {
      "description": "GitEntry represents a git tree",
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "x-go-name": "Mode"
        },
        "path": {
          "type": "string",
          "x-go-name": "Path"
        },
        "sha": {
          "type": "string",
          "x-go-name": "SHA"
        },
        "size": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "GitObject": {
      "type": "object",
      "title": "GitObject represents a Git object.",
      "properties": {
        "sha": {
          "type": "string",
          "x-go-name": "SHA"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "GitTreeResponse": {
      "description": "GitTreeResponse returns a git tree",
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Page"
        },
        "sha": {
          "type": "string",
          "x-go-name": "SHA"
        },
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "tree": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GitEntry"
          },
          "x-go-name": "Entries"
        },
        "truncated": {
          "type": "boolean",
          "x-go-name": "Truncated"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/User"
          },
          "x-go-name": "Assignees"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "closed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Closed"
        },
        "comments": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Comments"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
    },
    "IssueDeadline": {
      "description": "IssueDeadline represents an issue deadline",
      "type": "object",
      "properties": {
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        }
      },
      "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"
    },
    "MergePullRequestOption": {
      "description": "MergePullRequestForm form for merging Pull Request",
      "type": "object",
      "required": [
        "Do"
      ],
      "properties": {
        "Do": {
          "type": "string",
          "enum": [
            "merge",
            "rebase",
            "rebase-merge",
            "squash"
          ]
        },
        "MergeMessageField": {
          "type": "string"
        },
        "MergeTitleField": {
          "type": "string"
        }
      },
      "x-go-name": "MergePullRequestForm",
      "x-go-package": "code.gitea.io/gitea/modules/auth"
    },
    "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": {
        "added": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Added"
        },
        "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"
        },
        "modified": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Modified"
        },
        "removed": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Removed"
        },
        "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"
        },
        "fingerprint": {
          "type": "string",
          "x-go-name": "Fingerprint"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "type": "string",
          "x-go-name": "Key"
        },
        "key_type": {
          "type": "string",
          "x-go-name": "KeyType"
        },
        "read_only": {
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "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"
        },
        "assignees": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/User"
          },
          "x-go-name": "Assignees"
        },
        "base": {
          "$ref": "#/definitions/PRBranchInfo"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "closed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Closed"
        },
        "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"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "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"
    },
    "Reference": {
      "type": "object",
      "title": "Reference represents a Git reference.",
      "properties": {
        "object": {
          "$ref": "#/definitions/GitObject"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Release": {
      "description": "Release represents a repository release",
      "type": "object",
      "properties": {
        "assets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-go-name": "Attachments"
        },
        "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"
    },
    "RepoCommit": {
      "type": "object",
      "title": "RepoCommit contains information of a commit in the context of a repository.",
      "properties": {
        "author": {
          "$ref": "#/definitions/CommitUser"
        },
        "committer": {
          "$ref": "#/definitions/CommitUser"
        },
        "message": {
          "type": "string",
          "x-go-name": "Message"
        },
        "tree": {
          "$ref": "#/definitions/CommitMeta"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "Repository": {
      "description": "Repository represents a repository",
      "type": "object",
      "properties": {
        "archived": {
          "type": "boolean",
          "x-go-name": "Archived"
        },
        "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"
    },
    "Tag": {
      "description": "Tag represents a repository tag",
      "type": "object",
      "properties": {
        "commit": {
          "type": "object",
          "properties": {
            "sha": {
              "type": "string",
              "x-go-name": "SHA"
            },
            "url": {
              "type": "string",
              "x-go-name": "URL"
            }
          },
          "x-go-name": "Commit"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "tarball_url": {
          "type": "string",
          "x-go-name": "TarballURL"
        },
        "zipball_url": {
          "type": "string",
          "x-go-name": "ZipballURL"
        }
      },
      "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"
        },
        "organization": {
          "$ref": "#/definitions/Organization"
        },
        "permission": {
          "type": "string",
          "enum": [
            "none",
            "read",
            "write",
            "admin",
            "owner"
          ],
          "x-go-name": "Permission"
        },
        "units": {
          "type": "array",
          "enum": [
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.pulls",
            "repo.releases",
            "repo.ext_wiki"
          ],
          "items": {
            "type": "string"
          },
          "x-go-name": "Units"
        }
      },
      "x-go-package": "code.gitea.io/gitea/vendor/code.gitea.io/sdk/gitea"
    },
    "TimeStamp": {
      "description": "TimeStamp defines a timestamp",
      "type": "integer",
      "format": "int64",
      "x-go-package": "code.gitea.io/gitea/modules/util"
    },
    "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"
        },
        "language": {
          "description": "User locale",
          "type": "string",
          "x-go-name": "Language"
        },
        "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"
    },
    "UserHeatmapData": {
      "description": "UserHeatmapData represents the data needed to create a heatmap",
      "type": "object",
      "properties": {
        "contributions": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Contributions"
        },
        "timestamp": {
          "$ref": "#/definitions/TimeStamp"
        }
      },
      "x-go-package": "code.gitea.io/gitea/models"
    },
    "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": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "sha1": {
          "type": "string"
        }
      }
    },
    "AccessTokenList": {
      "description": "AccessTokenList represents a list of API access token."
    },
    "Attachment": {
      "description": "Attachment",
      "schema": {
        "$ref": "#/definitions/Attachment"
      }
    },
    "AttachmentList": {
      "description": "AttachmentList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Attachment"
        }
      }
    },
    "Branch": {
      "description": "Branch",
      "schema": {
        "$ref": "#/definitions/Branch"
      }
    },
    "BranchList": {
      "description": "BranchList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "Comment": {
      "description": "Comment",
      "schema": {
        "$ref": "#/definitions/Comment"
      }
    },
    "CommentList": {
      "description": "CommentList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Comment"
        }
      }
    },
    "Commit": {
      "description": "Commit",
      "schema": {
        "$ref": "#/definitions/Commit"
      }
    },
    "DeployKey": {
      "description": "DeployKey",
      "schema": {
        "$ref": "#/definitions/DeployKey"
      }
    },
    "DeployKeyList": {
      "description": "DeployKeyList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/DeployKey"
        }
      }
    },
    "EmailList": {
      "description": "EmailList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Email"
        }
      }
    },
    "GPGKey": {
      "description": "GPGKey",
      "schema": {
        "$ref": "#/definitions/GPGKey"
      }
    },
    "GPGKeyList": {
      "description": "GPGKeyList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/GPGKey"
        }
      }
    },
    "GitTreeResponse": {
      "description": "GitTreeResponse",
      "schema": {
        "$ref": "#/definitions/GitTreeResponse"
      }
    },
    "Hook": {
      "description": "Hook",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "HookList": {
      "description": "HookList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "Issue": {
      "description": "Issue",
      "schema": {
        "$ref": "#/definitions/Issue"
      }
    },
    "IssueDeadline": {
      "description": "IssueDeadline",
      "schema": {
        "$ref": "#/definitions/IssueDeadline"
      }
    },
    "IssueList": {
      "description": "IssueList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Issue"
        }
      }
    },
    "Label": {
      "description": "Label",
      "schema": {
        "$ref": "#/definitions/Label"
      }
    },
    "LabelList": {
      "description": "LabelList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Label"
        }
      }
    },
    "MarkdownRender": {
      "description": "MarkdownRender is a rendered markdown document"
    },
    "Milestone": {
      "description": "Milestone",
      "schema": {
        "$ref": "#/definitions/Milestone"
      }
    },
    "MilestoneList": {
      "description": "MilestoneList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Milestone"
        }
      }
    },
    "Organization": {
      "description": "Organization",
      "schema": {
        "$ref": "#/definitions/Organization"
      }
    },
    "OrganizationList": {
      "description": "OrganizationList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Organization"
        }
      }
    },
    "PublicKey": {
      "description": "PublicKey",
      "schema": {
        "$ref": "#/definitions/PublicKey"
      }
    },
    "PublicKeyList": {
      "description": "PublicKeyList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PublicKey"
        }
      }
    },
    "PullRequest": {
      "description": "PullRequest",
      "schema": {
        "$ref": "#/definitions/PullRequest"
      }
    },
    "PullRequestList": {
      "description": "PullRequestList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PullRequest"
        }
      }
    },
    "Reference": {
      "description": "Reference",
      "schema": {
        "$ref": "#/definitions/Reference"
      }
    },
    "ReferenceList": {
      "description": "ReferenceList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Reference"
        }
      }
    },
    "Release": {
      "description": "Release",
      "schema": {
        "$ref": "#/definitions/Release"
      }
    },
    "ReleaseList": {
      "description": "ReleaseList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Release"
        }
      }
    },
    "Repository": {
      "description": "Repository",
      "schema": {
        "$ref": "#/definitions/Repository"
      }
    },
    "RepositoryList": {
      "description": "RepositoryList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Repository"
        }
      }
    },
    "SearchResults": {
      "description": "SearchResults",
      "schema": {
        "$ref": "#/definitions/SearchResults"
      }
    },
    "ServerVersion": {
      "description": "ServerVersion",
      "schema": {
        "$ref": "#/definitions/ServerVersion"
      }
    },
    "Status": {
      "description": "Status",
      "schema": {
        "$ref": "#/definitions/Status"
      }
    },
    "StatusList": {
      "description": "StatusList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Status"
        }
      }
    },
    "TagList": {
      "description": "TagList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Tag"
        }
      }
    },
    "Team": {
      "description": "Team",
      "schema": {
        "$ref": "#/definitions/Team"
      }
    },
    "TeamList": {
      "description": "TeamList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Team"
        }
      }
    },
    "TrackedTime": {
      "description": "TrackedTime",
      "schema": {
        "$ref": "#/definitions/TrackedTime"
      }
    },
    "TrackedTimeList": {
      "description": "TrackedTimeList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TrackedTime"
        }
      }
    },
    "User": {
      "description": "User",
      "schema": {
        "$ref": "#/definitions/User"
      }
    },
    "UserHeatmapData": {
      "description": "UserHeatmapData",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/UserHeatmapData"
        }
      }
    },
    "UserList": {
      "description": "UserList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/User"
        }
      }
    },
    "WatchInfo": {
      "description": "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": {
      "description": "parameterBodies",
      "schema": {
        "$ref": "#/definitions/EditAttachmentOptions"
      }
    },
    "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"
    },
    "SudoHeader": {
      "description": "Sudo API request as the user provided as the key. Admin privileges are required.",
      "type": "apiKey",
      "name": "Sudo",
      "in": "header"
    },
    "SudoParam": {
      "description": "Sudo API request as the user provided as the key. Admin privileges are required.",
      "type": "apiKey",
      "name": "sudo",
      "in": "query"
    },
    "Token": {
      "type": "apiKey",
      "name": "token",
      "in": "query"
    }
  },
  "security": [
    {
      "BasicAuth": []
    },
    {
      "Token": []
    },
    {
      "AccessToken": []
    },
    {
      "AuthorizationHeaderToken": []
    },
    {
      "SudoParam": []
    },
    {
      "SudoHeader": []
    }
  ]
}