{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https",
    "http"
  ],
  "swagger": "2.0",
  "info": {
    "description": "This documentation describes the Gitea API.",
    "title": "Gitea API",
    "license": {
      "name": "MIT",
      "url": "http://opensource.org/licenses/MIT"
    },
    "version": "{{.SwaggerAppVer}}"
  },
  "basePath": "{{.SwaggerAppSubUrl}}/api/v1",
  "paths": {
    "/admin/actions/jobs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Lists all jobs",
        "operationId": "listAdminWorkflowJobs",
        "parameters": [
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJobsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/admin/actions/runners": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Get all runners",
        "operationId": "getAdminRunners",
        "parameters": [
          {
            "type": "boolean",
            "description": "filter by disabled status (true or false)",
            "name": "disabled",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunnerList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/admin/actions/runners/registration-token": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Get a global actions runner registration token",
        "operationId": "adminCreateRunnerRegistrationToken",
        "responses": {
          "200": {
            "$ref": "#/responses/RegistrationToken"
          }
        }
      }
    },
    "/admin/actions/runners/{runner_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Get a global runner",
        "operationId": "getAdminRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Delete a global runner",
        "operationId": "deleteAdminRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "runner has been deleted"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Update a global runner",
        "operationId": "updateAdminRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditActionRunnerOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/actions/runs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Lists all runs",
        "operationId": "listAdminWorkflowRuns",
        "parameters": [
          {
            "type": "string",
            "description": "workflow event name",
            "name": "event",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow branch",
            "name": "branch",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggered by user",
            "name": "actor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggering sha of the workflow run",
            "name": "head_sha",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowRunsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/admin/cron": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List cron tasks",
        "operationId": "adminCronList",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CronList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/cron/{task}": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Run cron task",
        "operationId": "adminCronRun",
        "parameters": [
          {
            "type": "string",
            "description": "task to run",
            "name": "task",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/admin/emails": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List all emails",
        "operationId": "adminGetAllEmails",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/EmailList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/emails/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Search all emails",
        "operationId": "adminSearchEmails",
        "parameters": [
          {
            "type": "string",
            "description": "keyword",
            "name": "q",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/EmailList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/hooks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List system's webhooks",
        "operationId": "adminListHooks",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "enum": [
              "system",
              "default",
              "all"
            ],
            "type": "string",
            "default": "system",
            "description": "system, default or both kinds of webhooks",
            "name": "type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Create a hook",
        "operationId": "adminCreateHook",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateHookOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/admin/hooks/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Get a hook",
        "operationId": "adminGetHook",
        "parameters": [
          {
            "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": [
          "admin"
        ],
        "summary": "Delete a hook",
        "operationId": "adminDeleteHook",
        "parameters": [
          {
            "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": [
          "admin"
        ],
        "summary": "Update a hook",
        "operationId": "adminEditHook",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to update",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/admin/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List all organizations",
        "operationId": "adminGetAllOrgs",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/unadopted": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List unadopted repositories",
        "operationId": "adminUnadoptedList",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "pattern of repositories to search for",
            "name": "pattern",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/StringSlice"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/unadopted/{owner}/{repo}": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Adopt unadopted files as a repository",
        "operationId": "adminAdoptRepository",
        "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Delete unadopted files",
        "operationId": "adminDeleteUnadoptedRepository",
        "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/admin/users": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Search users according filter conditions",
        "operationId": "adminSearchUsers",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "ID of the user's login source to search for",
            "name": "source_id",
            "in": "query"
          },
          {
            "type": "string",
            "description": "identifier of the user, provided by the external authenticator",
            "name": "login_name",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "sort users by attribute. Supported values are \"name\", \"created\", \"updated\" and \"id\". Default is \"name\"",
            "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"
          },
          {
            "type": "string",
            "description": "search term (username, full name, email)",
            "name": "q",
            "in": "query"
          },
          {
            "type": "string",
            "description": "visibility filter. Supported values are \"public\", \"limited\" and \"private\".",
            "name": "visibility",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter active users",
            "name": "is_active",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter admin users",
            "name": "is_admin",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter restricted users",
            "name": "is_restricted",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter 2FA enabled users",
            "name": "is_2fa_enabled",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter login prohibited users",
            "name": "is_prohibit_login",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "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 the user to delete",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "purge the user from the system completely",
            "name": "purge",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "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 the user whose data is to be edited",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditUserOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/admin/users/{username}/badges": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "List a user's badges",
        "operationId": "adminListUserBadges",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose badges are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/BadgeList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Add a badge to a user",
        "operationId": "adminAddUserBadges",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user to whom a badge is to be added",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UserBadgeOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Remove a badge from a user",
        "operationId": "adminDeleteUserBadges",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose badge is to be deleted",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UserBadgeOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "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 who is to receive a public key",
            "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 the user whose public key is to be deleted",
            "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 who 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}/rename": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "admin"
        ],
        "summary": "Rename a user",
        "operationId": "adminRenameUser",
        "parameters": [
          {
            "type": "string",
            "description": "current username of the user",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RenameUserOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "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 of a user",
        "operationId": "adminCreateRepo",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user who 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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/gitignore/templates": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns a list of all gitignore templates",
        "operationId": "listGitignoresTemplates",
        "responses": {
          "200": {
            "$ref": "#/responses/GitignoreTemplateList"
          }
        }
      }
    },
    "/gitignore/templates/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns information about a gitignore template",
        "operationId": "getGitignoreTemplateInfo",
        "parameters": [
          {
            "type": "string",
            "description": "name of the template",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GitignoreTemplateInfo"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/label/templates": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns a list of all label templates",
        "operationId": "listLabelTemplates",
        "responses": {
          "200": {
            "$ref": "#/responses/LabelTemplateList"
          }
        }
      }
    },
    "/label/templates/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns all labels in a template",
        "operationId": "getLabelTemplateInfo",
        "parameters": [
          {
            "type": "string",
            "description": "name of the template",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelTemplateInfo"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/licenses": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns a list of all license templates",
        "operationId": "listLicenseTemplates",
        "responses": {
          "200": {
            "$ref": "#/responses/LicenseTemplateList"
          }
        }
      }
    },
    "/licenses/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns information about a license template",
        "operationId": "getLicenseTemplateInfo",
        "parameters": [
          {
            "type": "string",
            "description": "name of the license",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LicenseTemplateInfo"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          }
        }
      }
    },
    "/markup": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/html"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Render a markup document as HTML",
        "operationId": "renderMarkup",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/MarkupOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MarkupRender"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/notifications": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "List users's notification threads",
        "operationId": "notifyGetList",
        "parameters": [
          {
            "type": "boolean",
            "description": "If true, show notifications marked as read. Default value is false",
            "name": "all",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned.",
            "name": "status-types",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "enum": [
                "issue",
                "pull",
                "commit",
                "repository"
              ],
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "filter notifications by subject type",
            "name": "subject-type",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/NotificationThreadList"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "Mark notification threads as read, pinned or unread",
        "operationId": "notifyReadList",
        "parameters": [
          {
            "type": "string",
            "format": "date-time",
            "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.",
            "name": "last_read_at",
            "in": "query"
          },
          {
            "type": "string",
            "description": "If true, mark all notifications on this repo. Default value is false",
            "name": "all",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.",
            "name": "status-types",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Status to mark notifications as, Defaults to read.",
            "name": "to-status",
            "in": "query"
          }
        ],
        "responses": {
          "205": {
            "$ref": "#/responses/NotificationThreadList"
          }
        }
      }
    },
    "/notifications/new": {
      "get": {
        "tags": [
          "notification"
        ],
        "summary": "Check if unread notifications exist",
        "operationId": "notifyNewAvailable",
        "responses": {
          "200": {
            "$ref": "#/responses/NotificationCount"
          }
        }
      }
    },
    "/notifications/threads/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "Get notification thread by ID",
        "operationId": "notifyGetThread",
        "parameters": [
          {
            "type": "string",
            "description": "id of notification thread",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/NotificationThread"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "Mark notification thread as read by ID",
        "operationId": "notifyReadThread",
        "parameters": [
          {
            "type": "string",
            "description": "id of notification thread",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "default": "read",
            "description": "Status to mark notifications as",
            "name": "to-status",
            "in": "query"
          }
        ],
        "responses": {
          "205": {
            "$ref": "#/responses/NotificationThread"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/org/{org}/repos": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a repository in an organization",
        "operationId": "createOrgRepoDeprecated",
        "deprecated": true,
        "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get list of organizations",
        "operationId": "orgGetAll",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EditOrgOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Organization"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/jobs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get org-level workflow jobs",
        "operationId": "getOrgWorkflowJobs",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJobsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/runners": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get org-level runners",
        "operationId": "getOrgRunners",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "filter by disabled status (true or false)",
            "name": "disabled",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunnerList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/runners/registration-token": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get an organization's actions runner registration token",
        "operationId": "orgCreateRunnerRegistrationToken",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RegistrationToken"
          }
        }
      }
    },
    "/orgs/{org}/actions/runners/{runner_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get an org-level runner",
        "operationId": "getOrgRunner",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete an org-level runner",
        "operationId": "deleteOrgRunner",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "runner has been deleted"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update an org-level runner",
        "operationId": "updateOrgRunner",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditActionRunnerOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/orgs/{org}/actions/runs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get org-level workflow runs",
        "operationId": "getOrgWorkflowRuns",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "workflow event name",
            "name": "event",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow branch",
            "name": "branch",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggered by user",
            "name": "actor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggering sha of the workflow run",
            "name": "head_sha",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowRunsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/secrets": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's actions secrets",
        "operationId": "orgListActionsSecrets",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SecretList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/secrets/{secretname}": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create or Update a secret value in an organization",
        "operationId": "updateOrgSecret",
        "parameters": [
          {
            "type": "string",
            "description": "name of organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateOrUpdateSecretOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when creating a secret"
          },
          "204": {
            "description": "response when updating a secret"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete a secret in an organization",
        "operationId": "deleteOrgSecret",
        "parameters": [
          {
            "type": "string",
            "description": "name of organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "delete one secret of the organization"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/variables": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get an org-level variables list",
        "operationId": "getOrgVariablesList",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/VariableList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/actions/variables/{variablename}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get an org-level variable",
        "operationId": "getOrgVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionVariable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update an org-level variable",
        "operationId": "updateOrgVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when updating an org-level variable"
          },
          "204": {
            "description": "response when updating an org-level variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create an org-level variable",
        "operationId": "createOrgVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "successfully created the org-level variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "409": {
            "description": "variable name already exists."
          },
          "500": {
            "$ref": "#/responses/error"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete an org-level variable",
        "operationId": "deleteOrgVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionVariable"
          },
          "201": {
            "description": "response when deleting a variable"
          },
          "204": {
            "description": "response when deleting a variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/activities/feeds": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's activity feeds",
        "operationId": "orgListActivityFeeds",
        "parameters": [
          {
            "type": "string",
            "description": "name of the org",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "date",
            "description": "the date of the activities to be found",
            "name": "date",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActivityFeedsList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/avatar": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update Avatar",
        "operationId": "orgUpdateAvatar",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateUserAvatarOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Delete Avatar",
        "operationId": "orgDeleteAvatar",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/blocks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List users blocked by the organization",
        "operationId": "organizationListBlocks",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/orgs/{org}/blocks/{username}": {
      "get": {
        "tags": [
          "organization"
        ],
        "summary": "Check if a user is blocked by the organization",
        "operationId": "organizationCheckUserBlock",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user to check",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "tags": [
          "organization"
        ],
        "summary": "Block a user",
        "operationId": "organizationBlockUser",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user to block",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "optional note for the block",
            "name": "note",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "tags": [
          "organization"
        ],
        "summary": "Unblock a user",
        "operationId": "organizationUnblockUser",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the user to unblock",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/labels": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List an organization's labels",
        "operationId": "orgListLabels",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Create a label for an organization",
        "operationId": "orgCreateLabel",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateLabelOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Label"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/orgs/{org}/labels/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get a single label",
        "operationId": "orgGetLabel",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "organization"
        ],
        "summary": "Delete a label",
        "operationId": "orgDeleteLabel",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Update a label",
        "operationId": "orgEditLabel",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 to check for an organization membership",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "user is a member"
          },
          "303": {
            "description": "redirection to /orgs/{org}/public_members/{username}"
          },
          "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 to remove from the organization",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "member removed"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 to check for a public organization membership",
            "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 whose membership is to be publicized",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "membership publicized"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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 whose membership is to be concealed",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/orgs/{org}/rename": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Rename an organization",
        "operationId": "renameOrg",
        "parameters": [
          {
            "type": "string",
            "description": "existing org name",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RenameOrgOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/orgs/{org}/teams/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Search for teams within an organization",
        "operationId": "teamSearch",
        "parameters": [
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "keywords to search",
            "name": "q",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include search within team description (defaults to true)",
            "name": "include_desc",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "SearchResults of a successful search",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Team"
                  }
                },
                "ok": {
                  "type": "boolean"
                }
              }
            }
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "package"
        ],
        "summary": "Gets all packages of an owner",
        "operationId": "listPackages",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the packages",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "enum": [
              "alpine",
              "cargo",
              "chef",
              "composer",
              "conan",
              "conda",
              "container",
              "cran",
              "debian",
              "generic",
              "go",
              "helm",
              "maven",
              "npm",
              "nuget",
              "pub",
              "pypi",
              "rpm",
              "rubygems",
              "swift",
              "terraform",
              "vagrant"
            ],
            "type": "string",
            "description": "package type filter",
            "name": "type",
            "in": "query"
          },
          {
            "type": "string",
            "description": "name filter",
            "name": "q",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PackageList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "package"
        ],
        "summary": "Gets all versions of a package",
        "operationId": "listPackageVersions",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PackageList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "package"
        ],
        "summary": "Delete a package",
        "operationId": "deletePackage",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}/-/latest": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "package"
        ],
        "summary": "Gets the latest version of a package",
        "operationId": "getLatestPackageVersion",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Package"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}/-/link/{repo_name}": {
      "post": {
        "tags": [
          "package"
        ],
        "summary": "Link a package to a repository",
        "operationId": "linkPackage",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository to link.",
            "name": "repo_name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}/-/unlink": {
      "post": {
        "tags": [
          "package"
        ],
        "summary": "Unlink a package from a repository",
        "operationId": "unlinkPackage",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}/{version}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "package"
        ],
        "summary": "Gets a package",
        "operationId": "getPackage",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "version of the package",
            "name": "version",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Package"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "package"
        ],
        "summary": "Delete a package version",
        "operationId": "deletePackageVersion",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "version of the package",
            "name": "version",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/packages/{owner}/{type}/{name}/{version}/files": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "package"
        ],
        "summary": "Gets all files of a package",
        "operationId": "listPackageFiles",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the package",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "type of the package",
            "name": "type",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the package",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "version of the package",
            "name": "version",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PackageFileList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/issues/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Search for issues across the repositories that the user has access to",
        "operationId": "issueSearchIssues",
        "parameters": [
          {
            "enum": [
              "open",
              "closed",
              "all"
            ],
            "type": "string",
            "default": "open",
            "description": "State of the issue",
            "name": "state",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded.",
            "name": "labels",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded.",
            "name": "milestones",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search string",
            "name": "q",
            "in": "query"
          },
          {
            "enum": [
              "issues",
              "pulls"
            ],
            "type": "string",
            "description": "Filter by issue type",
            "name": "type",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show issues updated after the given time (RFC 3339 format)",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show issues updated before the given time (RFC 3339 format)",
            "name": "before",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Filter issues or pulls assigned to the authenticated user",
            "name": "assigned",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Filter issues or pulls created by the authenticated user",
            "name": "created",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Filter issues or pulls mentioning the authenticated user",
            "name": "mentioned",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Filter pull requests where the authenticated user's review was requested",
            "name": "review_requested",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Filter pull requests reviewed by the authenticated user",
            "name": "reviewed",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by repository owner",
            "name": "owner",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Only show items which were created by the given user",
            "name": "created_by",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by team (requires organization owner parameter)",
            "name": "team",
            "in": "query"
          },
          {
            "minimum": 1,
            "type": "integer",
            "default": 1,
            "description": "Page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "minimum": 0,
            "type": "integer",
            "description": "Number of items per page",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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/MigrateRepoOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "409": {
            "description": "The repository with the same name already exists."
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/search": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Search for repositories",
        "operationId": "repoSearch",
        "parameters": [
          {
            "type": "string",
            "description": "keyword",
            "name": "q",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Limit search to repositories with keyword as topic",
            "name": "topic",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include search of keyword within repository description",
            "name": "includeDesc",
            "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",
            "format": "int64",
            "description": "repo owner to prioritize in the results",
            "name": "priority_owner_id",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "search only for repos that belong to the given team id",
            "name": "team_id",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "search only for repos that the user with the given id has starred",
            "name": "starredBy",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include private repositories this user has access to (defaults to true)",
            "name": "private",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "show only pubic, private or all repositories (defaults to all)",
            "name": "is_private",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include template repositories this user has access to (defaults to true)",
            "name": "template",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "show only archived, non-archived or all repositories (defaults to all)",
            "name": "archived",
            "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\", \"git_size\", \"lfs_size\", \"stars\", \"forks\" 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"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a repository's properties. Only fields that are set will be changed.",
        "operationId": "repoEdit",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to edit",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to edit",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "description": "Properties of a repo that you can edit",
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditRepoOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/artifacts": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Lists all artifacts for a repository",
        "operationId": "getArtifacts",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the artifact",
            "name": "name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ArtifactsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets a specific artifact for a workflow run",
        "operationId": "getArtifact",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the artifact",
            "name": "artifact_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Artifact"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Deletes a specific artifact for a workflow run",
        "operationId": "deleteArtifact",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the artifact",
            "name": "artifact_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Downloads a specific artifact for a workflow run redirects to blob url",
        "operationId": "downloadArtifact",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the artifact",
            "name": "artifact_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "302": {
            "description": "redirect to the blob download"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/jobs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Lists all jobs for a repository",
        "operationId": "listWorkflowJobs",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJobsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/jobs/{job_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets a specific workflow job for a workflow run",
        "operationId": "getWorkflowJob",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id of the job",
            "name": "job_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJob"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Downloads the job logs for a workflow run",
        "operationId": "downloadActionsRunJobLogs",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the job",
            "name": "job_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "output blob content"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runners": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get repo-level runners",
        "operationId": "getRepoRunners",
        "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": "boolean",
            "description": "filter by disabled status (true or false)",
            "name": "disabled",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunnerList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runners/registration-token": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repository's actions runner registration token",
        "operationId": "repoCreateRunnerRegistrationToken",
        "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/RegistrationToken"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runners/{runner_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repo-level runner",
        "operationId": "getRepoRunner",
        "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": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a repo-level runner",
        "operationId": "deleteRepoRunner",
        "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": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "runner has been deleted"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a repo-level runner",
        "operationId": "updateRepoRunner",
        "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": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditActionRunnerOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Lists all runs for a repository run",
        "operationId": "getWorkflowRuns",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "workflow event name",
            "name": "event",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow branch",
            "name": "branch",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggered by user",
            "name": "actor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggering sha of the workflow run",
            "name": "head_sha",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowRunsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets a specific workflow run",
        "operationId": "GetWorkflowRun",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the run",
            "name": "run",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowRun"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a workflow run",
        "operationId": "deleteActionRun",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "runid of the workflow run",
            "name": "run",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}/artifacts": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Lists all artifacts for a repository run",
        "operationId": "getArtifactsOfRun",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "runid of the workflow run",
            "name": "run",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the artifact",
            "name": "name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ArtifactsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}/jobs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Lists all jobs for a workflow run",
        "operationId": "listWorkflowRunJobs",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "runid of the workflow run",
            "name": "run",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJobsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}/jobs/{job_id}/rerun": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Reruns a specific workflow job in a run",
        "operationId": "rerunWorkflowJob",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the run",
            "name": "run",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the job",
            "name": "job_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/WorkflowJob"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}/rerun": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Reruns an entire workflow run",
        "operationId": "rerunWorkflowRun",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the run",
            "name": "run",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/WorkflowRun"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/runs/{run}/rerun-failed-jobs": {
      "post": {
        "tags": [
          "repository"
        ],
        "summary": "Reruns all failed jobs in a workflow run",
        "operationId": "rerunFailedWorkflowRun",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the run",
            "name": "run",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/secrets": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List an repo's actions secrets",
        "operationId": "repoListActionsSecrets",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SecretList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/secrets/{secretname}": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create or Update a secret value in a repository",
        "operationId": "updateRepoSecret",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repository",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateOrUpdateSecretOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when creating a secret"
          },
          "204": {
            "description": "response when updating a secret"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a secret in a repository",
        "operationId": "deleteRepoSecret",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repository",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "delete one secret of the repository"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/tasks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's action tasks",
        "operationId": "ListActionTasks",
        "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 of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results, default maximum page size is 50",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TasksList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/conflict"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/variables": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get repo-level variables list",
        "operationId": "getRepoVariablesList",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/VariableList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/variables/{variablename}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a repo-level variable",
        "operationId": "getRepoVariable",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionVariable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a repo-level variable",
        "operationId": "updateRepoVariable",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when updating a repo-level variable"
          },
          "204": {
            "description": "response when updating a repo-level variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a repo-level variable",
        "operationId": "createRepoVariable",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when creating a repo-level variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "409": {
            "description": "variable name already exists."
          },
          "500": {
            "$ref": "#/responses/error"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a repo-level variable",
        "operationId": "deleteRepoVariable",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repository",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionVariable"
          },
          "201": {
            "description": "response when deleting a variable"
          },
          "204": {
            "description": "response when deleting a variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/workflows": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List repository workflows",
        "operationId": "ActionsListRepositoryWorkflows",
        "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/ActionWorkflowList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "500": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a workflow",
        "operationId": "ActionsGetWorkflow",
        "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": "id of the workflow",
            "name": "workflow_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionWorkflow"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "500": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": {
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Disable a workflow",
        "operationId": "ActionsDisableWorkflow",
        "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": "id of the workflow",
            "name": "workflow_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a workflow dispatch event",
        "operationId": "ActionsDispatchWorkflow",
        "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": "id of the workflow",
            "name": "workflow_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateActionWorkflowDispatch"
            }
          },
          {
            "type": "boolean",
            "description": "Whether the response should include the workflow run ID and URLs.",
            "name": "return_run_details",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunDetails"
          },
          "204": {
            "description": "No Content, if return_run_details is missing or false"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": {
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Enable a workflow",
        "operationId": "ActionsEnableWorkflow",
        "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": "id of the workflow",
            "name": "workflow_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/conflict"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/activities/feeds": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's activity feeds",
        "operationId": "repoListActivityFeeds",
        "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",
            "format": "date",
            "description": "the date of the activities to be found",
            "name": "date",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActivityFeedsList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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": "the git reference for download with attached archive format (e.g. master.zip)",
            "name": "archive",
            "in": "path",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "subpath of the repository to download",
            "name": "path",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "success"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/assignees": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Return all users that have write access and can be assigned to issues",
        "operationId": "repoGetAssignees",
        "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/avatar": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update avatar",
        "operationId": "repoUpdateAvatar",
        "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/UpdateRepoAvatarOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete avatar",
        "operationId": "repoDeleteAvatar",
        "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"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/branch_protections": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List branch protections for a repository",
        "operationId": "repoListBranchProtection",
        "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/BranchProtectionList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a branch protections for a repository",
        "operationId": "repoCreateBranchProtection",
        "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/CreateBranchProtectionOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/BranchProtection"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/branch_protections/priority": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update the priorities of branch protections for a repository.",
        "operationId": "repoUpdateBranchProtectionPriories",
        "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/UpdateBranchProtectionPriories"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/branch_protections/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a specific branch protection for the repository",
        "operationId": "repoGetBranchProtection",
        "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 protected branch",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/BranchProtection"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a specific branch protection for the repository",
        "operationId": "repoDeleteBranchProtection",
        "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 protected branch",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a branch protections for a repository. Only fields that are set will be changed",
        "operationId": "repoEditBranchProtection",
        "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 protected branch",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditBranchProtectionOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/BranchProtection"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/BranchList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a branch",
        "operationId": "repoCreateBranch",
        "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/CreateBranchRepoOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Branch"
          },
          "403": {
            "description": "The branch is archived or a mirror."
          },
          "404": {
            "description": "The old branch does not exist."
          },
          "409": {
            "description": "The branch with the same name already exists."
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/branches/{branch}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Retrieve a specific branch from a repository, including its effective branch protection",
        "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a branch reference to a new commit",
        "operationId": "repoUpdateBranch",
        "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 the branch",
            "name": "branch",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateBranchRepoOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/conflict"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a specific branch from a repository",
        "operationId": "repoDeleteBranch",
        "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 delete",
            "name": "branch",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Rename a branch",
        "operationId": "repoRenameBranch",
        "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 the branch",
            "name": "branch",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/RenameBranchRepoOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 user to check for being a collaborator",
            "name": "collaborator",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Add or Update 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 user to add or update as a collaborator",
            "name": "collaborator",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/AddCollaboratorOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/collaborators/{collaborator}/permission": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get repository permissions for a user",
        "operationId": "repoGetRepoPermissions",
        "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 whose permissions are to be obtained",
            "name": "collaborator",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepoCollaboratorPermission"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a list of all commits from a repository",
        "operationId": "repoGetAllCommits",
        "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 or branch to start listing commits from (usually 'master')",
            "name": "sha",
            "in": "query"
          },
          {
            "type": "string",
            "description": "filepath of a file/dir",
            "name": "path",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only commits after this date will be returned (ISO 8601 format)",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only commits before this date will be returned (ISO 8601 format)",
            "name": "until",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include diff stats for every commit (disable for speedup, default 'true')",
            "name": "stat",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include verification for every commit (disable for speedup, default 'true')",
            "name": "verification",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include a list of affected files for every commit (disable for speedup, default 'true')",
            "name": "files",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results (ignored if used with 'path')",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "commits that match the given specifier will not be listed.",
            "name": "not",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommitList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/EmptyRepository"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits/{ref}/status": {
      "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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CombinedStatus"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits/{ref}/statuses": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a commit's statuses, by branch/tag/commit reference",
        "operationId": "repoListStatusesByRef",
        "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
          },
          {
            "enum": [
              "oldest",
              "recentupdate",
              "leastupdate",
              "leastindex",
              "highestindex"
            ],
            "type": "string",
            "description": "type of sort",
            "name": "sort",
            "in": "query"
          },
          {
            "enum": [
              "pending",
              "success",
              "error",
              "failure",
              "warning"
            ],
            "type": "string",
            "description": "type of state",
            "name": "state",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommitStatusList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits/{sha}/pull": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get the merged pull request of the commit",
        "operationId": "repoGetCommitPullRequest",
        "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 to get",
            "name": "sha",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequest"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/compare/{basehead}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get commit comparison information",
        "operationId": "repoCompareDiff",
        "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": "compare two branches or commits",
            "name": "basehead",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Compare"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/contents": {
      "get": {
        "description": "This API follows GitHub's design, and it is not easy to use. Recommend users to use our \"contents-ext\" API instead.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the metadata of all the entries of the root dir.",
        "operationId": "repoGetContentsList",
        "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 name of the commit/branch/tag. Default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ContentsListResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Modify multiple files in a repository",
        "operationId": "repoChangeFiles",
        "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",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeFilesOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/FilesResponse"
          },
          "403": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/contents-ext/{filepath}": {
      "get": {
        "description": "It guarantees that only one of the response fields is set if the request succeeds. Users can pass \"includes=file_content\" or \"includes=lfs_metadata\" to retrieve more fields. \"includes=file_content\" only works for single file, if you need to retrieve file contents in batch, use \"file-contents\" API after listing the directory.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "The extended \"contents\" API, to get file metadata and/or content, or list a directory.",
        "operationId": "repoGetContentsExt",
        "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": "path of the dir, file, symlink or submodule in the repo. Swagger requires path parameter to be \"required\", you can leave it empty or pass a single dot (\".\") to get the root directory.",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "the name of the commit/branch/tag, default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          },
          {
            "type": "string",
            "description": "By default this API's response only contains file's metadata. Use comma-separated \"includes\" options to retrieve more fields. Option \"file_content\" will try to retrieve the file content, \"lfs_metadata\" will try to retrieve LFS metadata, \"commit_metadata\" will try to retrieve commit metadata, and \"commit_message\" will try to retrieve commit message.",
            "name": "includes",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ContentsExtResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/contents/{filepath}": {
      "get": {
        "description": "This API follows GitHub's design, and it is not easy to use. Recommend users to use the \"contents-ext\" API instead.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir.",
        "operationId": "repoGetContents",
        "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": "path of the dir, file, symlink or submodule in the repo",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The name of the commit/branch/tag. Default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ContentsResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a file in a repository if SHA is set, or create the file if SHA is not set",
        "operationId": "repoUpdateFile",
        "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": "path of the file to update",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateFileOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/FileResponse"
          },
          "201": {
            "$ref": "#/responses/FileResponse"
          },
          "403": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a file in a repository",
        "operationId": "repoCreateFile",
        "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": "path of the file to create",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateFileOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/FileResponse"
          },
          "403": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a file in a repository",
        "operationId": "repoDeleteFile",
        "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": "path of the file to delete",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeleteFileOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/FileDeleteResponse"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/diffpatch": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Apply diff patch to repository",
        "operationId": "repoApplyDiffPatch",
        "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",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApplyDiffPatchFileOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/FileResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "string",
            "description": "The name of the commit/branch/tag. Default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "success"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/file-contents": {
      "get": {
        "description": "See the POST method. This GET method supports using JSON encoded request body in query parameter.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get the metadata and contents of requested files",
        "operationId": "repoGetFileContents",
        "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 name of the commit/branch/tag. Default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The JSON encoded body (see the POST request): {\"files\": [\"filename1\", \"filename2\"]}",
            "name": "body",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ContentsListResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "description": "Uses automatic pagination based on default page size and max response size and returns the maximum allowed number of files. Files which could not be retrieved are null. Files which are too large are being returned with `encoding == null`, `content == null` and `size \u003e 0`, they can be requested separately by using the `download_url`.",
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get the metadata and contents of requested files",
        "operationId": "repoGetFileContentsPost",
        "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 name of the commit/branch/tag. Default to the repository’s default branch.",
            "name": "ref",
            "in": "query"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetFilesOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ContentsListResponse"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "description": "The repository with the same name already exists."
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/blobs/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the blob of a repository.",
        "operationId": "GetBlob",
        "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/GitBlobResponse"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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": "a git ref or commit sha",
            "name": "sha",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "include diff stats for every commit (disable for speedup, default 'true')",
            "name": "stat",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include verification for every commit (disable for speedup, default 'true')",
            "name": "verification",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include a list of affected files for every commit (disable for speedup, default 'true')",
            "name": "files",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Commit"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/commits/{sha}.{diffType}": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a commit's diff or patch",
        "operationId": "repoDownloadCommitDiffOrPatch",
        "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 to get",
            "name": "sha",
            "in": "path",
            "required": true
          },
          {
            "enum": [
              "diff",
              "patch"
            ],
            "type": "string",
            "description": "whether the output is diff or patch",
            "name": "diffType",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/string"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/notes/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a note corresponding to a single commit from a repository",
        "operationId": "repoGetNote",
        "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": "a git ref or commit sha",
            "name": "sha",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "include verification for every commit (disable for speedup, default 'true')",
            "name": "verification",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include a list of affected files for every commit (disable for speedup, default 'true')",
            "name": "files",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Note"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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/tags/{sha}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the tag object of an annotated tag (not lightweight tags)",
        "operationId": "GetAnnotatedTag",
        "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 tag. The Git tags API only supports annotated tag objects, not lightweight tags.",
            "name": "sha",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AnnotatedTag"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "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",
            "name": "per_page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GitTreeResponse"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks/git": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List the Git hooks in a repository",
        "operationId": "repoListGitHooks",
        "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/GitHookList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks/git/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a Git hook",
        "operationId": "repoGetGitHook",
        "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": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GitHook"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a Git hook in a repository",
        "operationId": "repoDeleteGitHook",
        "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": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a Git hook in a repository",
        "operationId": "repoEditGitHook",
        "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": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditGitHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GitHook"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "string",
            "description": "The name of the commit/branch/tag, indicates which commit will be loaded to the webhook payload.",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue_config": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Returns the issue config for a repo",
        "operationId": "repoGetIssueConfig",
        "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/RepoIssueConfig"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue_config/validate": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Returns the validation information for a issue config",
        "operationId": "repoValidateIssueConfig",
        "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/RepoIssueConfigValidation"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issue_templates": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get available issue templates for a repository",
        "operationId": "repoGetIssueTemplates",
        "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/IssueTemplates"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "enum": [
              "closed",
              "open",
              "all"
            ],
            "type": "string",
            "description": "whether issue is open or closed",
            "name": "state",
            "in": "query"
          },
          {
            "type": "string",
            "description": "comma separated list of label names. Fetch only issues that have any of this label names. Non existent labels are discarded.",
            "name": "labels",
            "in": "query"
          },
          {
            "type": "string",
            "description": "search string",
            "name": "q",
            "in": "query"
          },
          {
            "enum": [
              "issues",
              "pulls"
            ],
            "type": "string",
            "description": "filter by type (issues / pulls) if set",
            "name": "type",
            "in": "query"
          },
          {
            "type": "string",
            "description": "comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded",
            "name": "milestones",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show items updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show items updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Only show items which were created by the given user",
            "name": "created_by",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Only show items for which the given user is assigned",
            "name": "assigned_by",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Only show items in which the given user was mentioned",
            "name": "mentioned_by",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "412": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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",
            "format": "date-time",
            "description": "if provided, only comments updated since the provided time are returned.",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "if provided, only comments updated before the provided time are returned.",
            "name": "before",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a comment",
        "operationId": "issueGetComment",
        "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",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Comment"
          },
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments/{id}/assets": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List comment's attachments",
        "operationId": "issueListIssueCommentAttachments",
        "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",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AttachmentList"
          },
          "404": {
            "$ref": "#/responses/error"
          }
        }
      },
      "post": {
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create a comment attachment",
        "operationId": "issueCreateIssueCommentAttachment",
        "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",
            "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "413": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a comment attachment",
        "operationId": "issueGetIssueCommentAttachment",
        "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",
            "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"
          },
          "404": {
            "$ref": "#/responses/error"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Delete a comment attachment",
        "operationId": "issueDeleteIssueCommentAttachment",
        "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",
            "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"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Edit a comment attachment",
        "operationId": "issueEditIssueCommentAttachment",
        "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",
            "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"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments/{id}/reactions": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a list of reactions from a comment of an issue",
        "operationId": "issueGetCommentReactions",
        "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
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ReactionList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add a reaction to a comment of an issue",
        "operationId": "issuePostCommentReaction",
        "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": "content",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditReactionOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Reaction"
          },
          "201": {
            "$ref": "#/responses/Reaction"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Remove a reaction from a comment of an issue",
        "operationId": "issueDeleteCommentReaction",
        "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": "content",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditReactionOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/pinned": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's pinned issues",
        "operationId": "repoListPinnedIssues",
        "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/IssueList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Delete an issue",
        "operationId": "issueDelete",
        "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 issue to delete",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "description": "Pass `content_version` to enable optimistic locking on body edits.\nIf the version doesn't match the current value, the request fails with 409 Conflict.\n",
        "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "412": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/assets": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List issue's attachments",
        "operationId": "issueListIssueAttachments",
        "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/AttachmentList"
          },
          "404": {
            "$ref": "#/responses/error"
          }
        }
      },
      "post": {
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Create an issue attachment",
        "operationId": "issueCreateIssueAttachment",
        "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": "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "413": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get an issue attachment",
        "operationId": "issueGetIssueAttachment",
        "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 attachment to get",
            "name": "attachment_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Attachment"
          },
          "404": {
            "$ref": "#/responses/error"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Delete an issue attachment",
        "operationId": "issueDeleteIssueAttachment",
        "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 attachment to delete",
            "name": "attachment_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Edit an issue attachment",
        "operationId": "issueEditIssueAttachment",
        "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 attachment to edit",
            "name": "attachment_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditAttachmentOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Attachment"
          },
          "404": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/blocks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List issues that are blocked by this issue",
        "operationId": "issueListBlocks",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Block the issue given in the body by the issue in path",
        "operationId": "issueCreateIssueBlocking",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueMeta"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Issue"
          },
          "404": {
            "description": "the issue does not exist"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Unblock the issue given in the body by the issue in path",
        "operationId": "issueRemoveIssueBlocking",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueMeta"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Issue"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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",
            "format": "date-time",
            "description": "if provided, only comments updated since the specified time are returned.",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "if provided, only comments updated before the provided time are returned.",
            "name": "before",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommentList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/dependencies": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List an issue's dependencies, i.e all issues that block this issue.",
        "operationId": "issueListIssueDependencies",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/IssueList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Make the issue in the url depend on the issue in the form.",
        "operationId": "issueCreateIssueDependencies",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueMeta"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Issue"
          },
          "404": {
            "description": "the issue does not exist"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Remove an issue dependency",
        "operationId": "issueRemoveIssueDependencies",
        "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": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/IssueMeta"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Issue"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/lock": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Lock an issue",
        "operationId": "issueLockIssue",
        "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/LockIssueOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Unlock an issue",
        "operationId": "issueUnlockIssue",
        "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/pin": {
      "post": {
        "tags": [
          "issue"
        ],
        "summary": "Pin an Issue",
        "operationId": "pinIssue",
        "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 issue to pin",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "issue"
        ],
        "summary": "Unpin an Issue",
        "operationId": "unpinIssue",
        "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 issue to unpin",
            "name": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/pin/{position}": {
      "patch": {
        "tags": [
          "issue"
        ],
        "summary": "Moves the Pin to the given Position",
        "operationId": "moveIssuePin",
        "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 issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "the new position",
            "name": "position",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/reactions": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get a list reactions of an issue",
        "operationId": "issueGetIssueReactions",
        "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",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ReactionList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add a reaction to an issue",
        "operationId": "issuePostIssueReaction",
        "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": "content",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditReactionOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Reaction"
          },
          "201": {
            "$ref": "#/responses/Reaction"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Remove a reaction from an issue",
        "operationId": "issueDeleteIssueReaction",
        "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": "content",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditReactionOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/stopwatch/delete": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Delete an issue's existing stopwatch.",
        "operationId": "issueDeleteStopWatch",
        "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": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "description": "Not repo writer, user does not have rights to toggle stopwatch"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "description": "Cannot cancel a non-existent stopwatch"
          }
        }
      }
    },
    "/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": {
            "$ref": "#/responses/notFound"
          },
          "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": "issueStopStopWatch",
        "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": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "description": "Cannot stop a non-existent stopwatch"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/subscriptions": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Get users who subscribed on an issue.",
        "operationId": "issueSubscriptions",
        "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",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/subscriptions/check": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Check if user is subscribed to an issue",
        "operationId": "issueCheckSubscription",
        "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/WatchInfo"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Subscribe user to issue",
        "operationId": "issueAddSubscription",
        "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": "username of the user to subscribe the issue to",
            "name": "user",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Already subscribed"
          },
          "201": {
            "description": "Successfully Subscribed"
          },
          "304": {
            "description": "User can only subscribe itself if he is no admin"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Unsubscribe user from issue",
        "operationId": "issueDeleteSubscription",
        "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": "username of the user to unsubscribe from an issue",
            "name": "user",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Already unsubscribed"
          },
          "201": {
            "description": "Successfully Unsubscribed"
          },
          "304": {
            "description": "User can only subscribe itself if he is no admin"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/timeline": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List all comments and events on an issue",
        "operationId": "issueGetCommentsAndTimeline",
        "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",
            "format": "date-time",
            "description": "if provided, only comments updated since the specified time are returned.",
            "name": "since",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "if provided, only comments updated before the provided time are returned.",
            "name": "before",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TimelineList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "List an issue's tracked times",
        "operationId": "issueTrackedTimes",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "index of the issue",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "optional filter by user (available for issue managers)",
            "name": "user",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Add 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",
            "name": "index",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/AddTimeOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTime"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Reset a tracked time of an issue",
        "operationId": "issueResetTime",
        "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": "index",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/times/{id}": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "issue"
        ],
        "summary": "Delete specific tracked time",
        "operationId": "issueDeleteTime",
        "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 time to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeployKeyList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LabelList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/languages": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get languages and number of bytes of code written",
        "operationId": "repoGetLanguages",
        "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/LanguageStatistics"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/licenses": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get repo licenses",
        "operationId": "repoGetLicenses",
        "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/LicensesList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/media/{filepath}": {
      "get": {
        "produces": [
          "application/octet-stream"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a file or it's LFS object from a repository",
        "operationId": "repoGetRawFileOrLFS",
        "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": "path of the file to get, it should be \"{ref}/{filepath}\". If there is no ref could be inferred, it will be treated as the default branch",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The name of the commit/branch/tag. Default to the repository’s default branch",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns raw file content.",
            "schema": {
              "type": "file"
            }
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/merge-upstream": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Merge a branch from upstream",
        "operationId": "repoMergeUpstream",
        "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/MergeUpstreamRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MergeUpstreamResponse"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "string",
            "description": "Milestone state, Recognized values are open, closed and all. Defaults to \"open\"",
            "name": "state",
            "in": "query"
          },
          {
            "type": "string",
            "description": "filter by milestone name",
            "name": "name",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/MilestoneList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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": "string",
            "description": "the milestone to get, identified by ID and if not available by name",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Milestone"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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": "string",
            "description": "the milestone to delete, identified by ID and if not available by name",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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": "string",
            "description": "the milestone to edit, identified by ID and if not available by name",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditMilestoneOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Milestone"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/new_pin_allowed": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Returns if new Issue Pins are allowed",
        "operationId": "repoNewPinAllowed",
        "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/RepoNewIssuePinsAllowed"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/notifications": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "List users's notification threads on a specific repo",
        "operationId": "notifyGetRepoList",
        "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": "boolean",
            "description": "If true, show notifications marked as read. Default value is false",
            "name": "all",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned",
            "name": "status-types",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "enum": [
                "issue",
                "pull",
                "commit",
                "repository"
              ],
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "filter notifications by subject type",
            "name": "subject-type",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/NotificationThreadList"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "notification"
        ],
        "summary": "Mark notification threads as read, pinned or unread on a specific repo",
        "operationId": "notifyReadRepoList",
        "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 true, mark all notifications on this repo. Default value is false",
            "name": "all",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.",
            "name": "status-types",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Status to mark notifications as. Defaults to read.",
            "name": "to-status",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.",
            "name": "last_read_at",
            "in": "query"
          }
        ],
        "responses": {
          "205": {
            "$ref": "#/responses/NotificationThreadList"
          }
        }
      }
    },
    "/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": "string",
            "description": "Filter by target base branch of the pull request",
            "name": "base_branch",
            "in": "query"
          },
          {
            "enum": [
              "open",
              "closed",
              "all"
            ],
            "type": "string",
            "default": "open",
            "description": "State of pull request",
            "name": "state",
            "in": "query"
          },
          {
            "enum": [
              "oldest",
              "recentupdate",
              "recentclose",
              "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"
          },
          {
            "type": "string",
            "description": "Filter by pull request author",
            "name": "poster",
            "in": "query"
          },
          {
            "minimum": 1,
            "type": "integer",
            "default": 1,
            "description": "Page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "minimum": 0,
            "type": "integer",
            "description": "Page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequestList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "500": {
            "$ref": "#/responses/error"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/comments/{id}/resolve": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Resolve a pull request review comment",
        "operationId": "repoResolvePullReviewComment",
        "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 review comment",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/validationError"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/comments/{id}/unresolve": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Unresolve a pull request review comment",
        "operationId": "repoUnresolvePullReviewComment",
        "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 review comment",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/validationError"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/pinned": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repo's pinned pull requests",
        "operationId": "repoListPinnedPullRequests",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequestList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{base}/{head}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a pull request by base and head",
        "operationId": "repoGetPullRequestByBaseHead",
        "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": "base of the pull request to get",
            "name": "base",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "head of the pull request to get",
            "name": "head",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullRequest"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Update a pull request. If using deadline only the date will be taken into account, and time of day ignored.",
        "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "412": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}.{diffType}": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a pull request diff or patch",
        "operationId": "repoDownloadPullDiffOrPatch",
        "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
          },
          {
            "enum": [
              "diff",
              "patch"
            ],
            "type": "string",
            "description": "whether the output is diff or patch",
            "name": "diffType",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "whether to include binary file changes. if true, the diff is applicable with `git apply`",
            "name": "binary",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/string"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/commits": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get commits for a pull request",
        "operationId": "repoGetPullRequestCommits",
        "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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include verification for every commit (disable for speedup, default 'true')",
            "name": "verification",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "include a list of affected files for every commit (disable for speedup, default 'true')",
            "name": "files",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommitList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/files": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get changed files for a pull request",
        "operationId": "repoGetPullRequestFiles",
        "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
          },
          {
            "type": "string",
            "description": "skip to given file",
            "name": "skip-to",
            "in": "query"
          },
          {
            "enum": [
              "ignore-all",
              "ignore-change",
              "ignore-eol",
              "show-all"
            ],
            "type": "string",
            "description": "whitespace behavior",
            "name": "whitespace",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ChangedFileList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/empty"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Cancel the scheduled auto merge for the given pull request",
        "operationId": "repoCancelScheduledAutoMerge",
        "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
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/requested_reviewers": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "create review requests for a pull request",
        "operationId": "repoCreatePullReviewRequests",
        "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
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PullReviewRequestOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/PullReviewList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "cancel review requests for a pull request",
        "operationId": "repoDeletePullReviewRequests",
        "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
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PullReviewRequestOptions"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/reviews": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List all reviews for a pull request",
        "operationId": "repoListPullReviews",
        "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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReviewList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a review to an pull request",
        "operationId": "repoCreatePullReview",
        "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
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreatePullReviewOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReview"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a specific review for a pull request",
        "operationId": "repoGetPullReview",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReview"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Submit a pending review to an pull request",
        "operationId": "repoSubmitPullReview",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPullReviewOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReview"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a specific review from a pull request",
        "operationId": "repoDeletePullReview",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a specific review for a pull request",
        "operationId": "repoGetPullReviewComments",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReviewCommentList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Dismiss a review for a pull request",
        "operationId": "repoDismissPullReview",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DismissPullReviewOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReview"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Cancel to dismiss a review for a pull request",
        "operationId": "repoUnDismissPullReview",
        "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
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the review",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PullReview"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls/{index}/update": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Merge PR's baseBranch into headBranch",
        "operationId": "repoUpdatePullRequest",
        "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
          },
          {
            "enum": [
              "merge",
              "rebase"
            ],
            "type": "string",
            "description": "how to update pull request",
            "name": "style",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/push_mirrors": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get all push mirrors of the repository",
        "operationId": "repoListPushMirrors",
        "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 of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PushMirrorList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "add a push mirror to the repository",
        "operationId": "repoAddPushMirror",
        "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/CreatePushMirrorOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PushMirror"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/push_mirrors-sync": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Sync all push mirrored repository",
        "operationId": "repoPushMirrorSync",
        "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/push_mirrors/{name}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get push mirror of the repository by remoteName",
        "operationId": "repoGetPushMirrorByRemoteName",
        "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": "remote name of push mirror",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PushMirror"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "deletes a push mirror from a repository by remoteName",
        "operationId": "repoDeletePushMirror",
        "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": "remote name of the pushMirror",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/raw/{filepath}": {
      "get": {
        "produces": [
          "application/octet-stream"
        ],
        "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": "path of the file to get, it should be \"{ref}/{filepath}\". If there is no ref could be inferred, it will be treated as the default branch",
            "name": "filepath",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The name of the commit/branch/tag. Default to the repository’s default branch",
            "name": "ref",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns raw file content.",
            "schema": {
              "type": "file"
            }
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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": "boolean",
            "description": "filter (exclude / include) drafts, if you don't have repo write access none will show",
            "name": "draft",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "filter (exclude / include) pre-releases",
            "name": "pre-release",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ReleaseList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/releases/latest": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Gets the most recent non-prerelease, non-draft release of a repository, sorted by created_at",
        "operationId": "repoGetLatestRelease",
        "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/Release"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/releases/tags/{tag}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a release by tag name",
        "operationId": "repoGetReleaseByTag",
        "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": "tag name of the release to get",
            "name": "tag",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Release"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "repository"
        ],
        "summary": "Delete a release by tag name",
        "operationId": "repoDeleteReleaseByTag",
        "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": "tag name of the release to delete",
            "name": "tag",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "multipart/form-data",
          "application/octet-stream"
        ],
        "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"
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Attachment"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "413": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/reviewers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Return all users that can be requested to review in this repo",
        "operationId": "repoGetReviewers",
        "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/signing-key.gpg": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get signing-key.gpg for given repository",
        "operationId": "repoSigningKey",
        "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": {
            "description": "GPG armored public key",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/signing-key.pub": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get signing-key.pub for given repository",
        "operationId": "repoSigningKeySSH",
        "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": {
            "description": "ssh public key",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "enum": [
              "oldest",
              "recentupdate",
              "leastupdate",
              "leastindex",
              "highestindex"
            ],
            "type": "string",
            "description": "type of sort",
            "name": "sort",
            "in": "query"
          },
          {
            "enum": [
              "pending",
              "success",
              "error",
              "failure",
              "warning"
            ],
            "type": "string",
            "description": "type of state",
            "name": "state",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CommitStatusList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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": {
          "201": {
            "$ref": "#/responses/CommitStatus"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "description": "User is not watching this repo or repo do not exist"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/tag_protections": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List tag protections for a repository",
        "operationId": "repoListTagProtection",
        "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/TagProtectionList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a tag protections for a repository",
        "operationId": "repoCreateTagProtection",
        "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/CreateTagProtectionOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/TagProtection"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/tag_protections/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a specific tag protection for the repository",
        "operationId": "repoGetTagProtection",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of the tag protect to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TagProtection"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a specific tag protection for the repository",
        "operationId": "repoDeleteTagProtection",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of protected tag",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a tag protections for a repository. Only fields that are set will be changed",
        "operationId": "repoEditTagProtection",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "id of protected tag",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditTagProtectionOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TagProtection"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results, default maximum page size is 50",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TagList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a new git tag in a repository",
        "operationId": "repoCreateTag",
        "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/CreateTagOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Tag"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/empty"
          },
          "409": {
            "$ref": "#/responses/conflict"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/tags/{tag}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get the tag of a repository by tag name",
        "operationId": "repoGetTag",
        "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 tag",
            "name": "tag",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Tag"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a repository's tag by name",
        "operationId": "repoDeleteTag",
        "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 tag to delete",
            "name": "tag",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/empty"
          },
          "409": {
            "$ref": "#/responses/conflict"
          },
          "422": {
            "$ref": "#/responses/validationError"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/teams": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a repository's teams",
        "operationId": "repoListTeams",
        "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/TeamList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/teams/{team}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Check if a team is assigned to a repository",
        "operationId": "repoCheckTeam",
        "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": "team name",
            "name": "team",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Team"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/error"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Add a team to a repository",
        "operationId": "repoAddTeam",
        "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": "team name",
            "name": "team",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a team from a repository",
        "operationId": "repoDeleteTeam",
        "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": "team name",
            "name": "team",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "405": {
            "$ref": "#/responses/error"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "string",
            "description": "optional filter by user (available for issue managers)",
            "name": "user",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/times/{user}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "List a user's tracked times in a repo",
        "operationId": "userTrackedTimes",
        "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": "string",
            "description": "username of the user whose tracked times are to be listed",
            "name": "user",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TrackedTimeList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/topics": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get list of topics that a repository has",
        "operationId": "repoListTopics",
        "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 of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TopicNames"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Replace list of topics for a repository",
        "operationId": "repoUpdateTopics",
        "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/RepoTopicOptions"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/invalidTopicsError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/topics/{topic}": {
      "put": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Add a topic to a repository",
        "operationId": "repoAddTopic",
        "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 the topic to add",
            "name": "topic",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/invalidTopicsError"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Delete a topic from a repository",
        "operationId": "repoDeleteTopic",
        "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 the topic to delete",
            "name": "topic",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/invalidTopicsError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/transfer": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Transfer a repo ownership",
        "operationId": "repoTransfer",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to transfer",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to transfer",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "description": "Transfer Options",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TransferRepoOption"
            }
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/transfer/accept": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Accept a repo transfer",
        "operationId": "acceptRepoTransfer",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to transfer",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to transfer",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/transfer/reject": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Reject a repo transfer",
        "operationId": "rejectRepoTransfer",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the repo to transfer",
            "name": "owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to transfer",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/wiki/new": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a wiki page",
        "operationId": "repoCreateWikiPage",
        "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/CreateWikiPageOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/WikiPage"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/wiki/page/{pageName}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get a wiki page",
        "operationId": "repoGetWikiPage",
        "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 the page",
            "name": "pageName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WikiPage"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "repository"
        ],
        "summary": "Delete a wiki page",
        "operationId": "repoDeleteWikiPage",
        "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 the page",
            "name": "pageName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Edit a wiki page",
        "operationId": "repoEditWikiPage",
        "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 the page",
            "name": "pageName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateWikiPageOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WikiPage"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "423": {
            "$ref": "#/responses/repoArchivedError"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/wiki/pages": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get all wiki pages",
        "operationId": "repoGetWikiPages",
        "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 of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WikiPageList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{owner}/{repo}/wiki/revisions/{pageName}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Get revisions of a wiki page",
        "operationId": "repoGetWikiPageRevisions",
        "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 the page",
            "name": "pageName",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WikiCommitList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/repos/{template_owner}/{template_repo}/generate": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "repository"
        ],
        "summary": "Create a repository using a template",
        "operationId": "generateRepo",
        "parameters": [
          {
            "type": "string",
            "description": "owner of the template repository",
            "name": "template_owner",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the template repository",
            "name": "template_repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/GenerateRepoOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Repository"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "409": {
            "description": "The repository with the same name already exists."
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/settings/api": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "settings"
        ],
        "summary": "Get instance's global settings for api",
        "operationId": "getGeneralAPISettings",
        "responses": {
          "200": {
            "$ref": "#/responses/GeneralAPISettings"
          }
        }
      }
    },
    "/settings/attachment": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "settings"
        ],
        "summary": "Get instance's global settings for Attachment",
        "operationId": "getGeneralAttachmentSettings",
        "responses": {
          "200": {
            "$ref": "#/responses/GeneralAttachmentSettings"
          }
        }
      }
    },
    "/settings/repository": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "settings"
        ],
        "summary": "Get instance's global settings for repositories",
        "operationId": "getGeneralRepositorySettings",
        "responses": {
          "200": {
            "$ref": "#/responses/GeneralRepoSettings"
          }
        }
      }
    },
    "/settings/ui": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "settings"
        ],
        "summary": "Get instance's global settings for ui",
        "operationId": "getGeneralUISettings",
        "responses": {
          "200": {
            "$ref": "#/responses/GeneralUISettings"
          }
        }
      }
    },
    "/signing-key.gpg": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Get default signing-key.gpg",
        "operationId": "getSigningKey",
        "responses": {
          "200": {
            "description": "GPG armored public key",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/signing-key.pub": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Get default signing-key.pub",
        "operationId": "getSigningKeySSH",
        "responses": {
          "200": {
            "description": "ssh public key",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/teams/{id}/activities/feeds": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a team's activity feeds",
        "operationId": "orgListTeamActivityFeeds",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the team",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "date",
            "description": "the date of the activities to be found",
            "name": "date",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActivityFeedsList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 user whose data is to be listed",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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 to a team",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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 from a team",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/teams/{id}/repos/{org}/{repo}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a particular repo of team",
        "operationId": "orgListTeamRepo",
        "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 list",
            "name": "org",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the repo to list",
            "name": "repo",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Repository"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TopicListResponse"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get the authenticated user",
        "operationId": "userGetCurrent",
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          }
        }
      }
    },
    "/user/actions/jobs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get workflow jobs",
        "operationId": "getUserWorkflowJobs",
        "parameters": [
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowJobsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/actions/runners": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get user-level runners",
        "operationId": "getUserRunners",
        "parameters": [
          {
            "type": "boolean",
            "description": "filter by disabled status (true or false)",
            "name": "disabled",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunnerList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/actions/runners/registration-token": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get an user's actions runner registration token",
        "operationId": "userCreateRunnerRegistrationToken",
        "responses": {
          "200": {
            "$ref": "#/responses/RegistrationToken"
          }
        }
      }
    },
    "/user/actions/runners/{runner_id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user-level runner",
        "operationId": "getUserRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete a user-level runner",
        "operationId": "deleteUserRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "runner has been deleted"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Update a user-level runner",
        "operationId": "updateUserRunner",
        "parameters": [
          {
            "type": "string",
            "description": "id of the runner",
            "name": "runner_id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditActionRunnerOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Runner"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/actions/runs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get workflow runs",
        "operationId": "getUserWorkflowRuns",
        "parameters": [
          {
            "type": "string",
            "description": "workflow event name",
            "name": "event",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow branch",
            "name": "branch",
            "in": "query"
          },
          {
            "type": "string",
            "description": "workflow status (pending, queued, in_progress, failure, success, skipped)",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggered by user",
            "name": "actor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "triggering sha of the workflow run",
            "name": "head_sha",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/WorkflowRunsList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/actions/secrets/{secretname}": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create or Update a secret value in a user scope",
        "operationId": "updateUserSecret",
        "parameters": [
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateOrUpdateSecretOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when creating a secret"
          },
          "204": {
            "description": "response when updating a secret"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete a secret in a user scope",
        "operationId": "deleteUserSecret",
        "parameters": [
          {
            "type": "string",
            "description": "name of the secret",
            "name": "secretname",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "delete one secret of the user"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/actions/variables": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get the user-level list of variables which is created by current doer",
        "operationId": "getUserVariablesList",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/VariableList"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/actions/variables/{variablename}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user-level variable which is created by current doer",
        "operationId": "getUserVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionVariable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Update a user-level variable which is created by current doer",
        "operationId": "updateUserVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "response when updating a variable"
          },
          "204": {
            "description": "response when updating a variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create a user-level variable",
        "operationId": "createUserVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateVariableOption"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "successfully created the user-level variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "409": {
            "description": "variable name already exists."
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete a user-level variable which is created by current doer",
        "operationId": "deleteUserVariable",
        "parameters": [
          {
            "type": "string",
            "description": "name of the variable",
            "name": "variablename",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "response when deleting a variable"
          },
          "204": {
            "description": "response when deleting a variable"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/applications/oauth2": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's oauth2 applications",
        "operationId": "userGetOauth2Application",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OAuth2ApplicationList"
          }
        }
      },
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "creates a new OAuth2 application",
        "operationId": "userCreateOAuth2Application",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateOAuth2ApplicationOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/OAuth2Application"
          },
          "400": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/user/applications/oauth2/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "get an OAuth2 Application",
        "operationId": "userGetOAuth2Application",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "Application ID to be found",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OAuth2Application"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "delete an OAuth2 Application",
        "operationId": "userDeleteOAuth2Application",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "token to be deleted",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "patch": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "update an OAuth2 Application, this includes regenerating the client secret",
        "operationId": "userUpdateOAuth2Application",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "application to be updated",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateOAuth2ApplicationOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OAuth2Application"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/avatar": {
      "post": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Update Avatar",
        "operationId": "userUpdateAvatar",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UpdateUserAvatarOption"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete Avatar",
        "operationId": "userDeleteAvatar",
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      }
    },
    "/user/blocks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List users blocked by the authenticated user",
        "operationId": "userListBlocks",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/user/blocks/{username}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Check if a user is blocked by the authenticated user",
        "operationId": "userCheckUserBlock",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user to check",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "put": {
        "tags": [
          "user"
        ],
        "summary": "Block a user",
        "operationId": "userBlockUser",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user to block",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "optional note for the block",
            "name": "note",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "delete": {
        "tags": [
          "user"
        ],
        "summary": "Unblock a user",
        "operationId": "userUnblockUser",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user to unblock",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/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"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/followers": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's followers",
        "operationId": "userCurrentListFollowers",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/user/following": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the users that the authenticated user is following",
        "operationId": "userCurrentListFollowing",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          }
        }
      }
    },
    "/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 the user to check for authenticated followers",
            "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 the user to follow",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "delete": {
        "tags": [
          "user"
        ],
        "summary": "Unfollow a user",
        "operationId": "userCurrentDeleteFollow",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user to unfollow",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/gpg_key_token": {
      "get": {
        "produces": [
          "text/plain"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a Token to verify",
        "operationId": "getVerificationToken",
        "responses": {
          "200": {
            "$ref": "#/responses/string"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/gpg_key_verify": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Verify a GPG key",
        "operationId": "userVerifyGPGKey",
        "responses": {
          "201": {
            "$ref": "#/responses/GPGKey"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/gpg_keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's GPG keys",
        "operationId": "userCurrentListGPGKeys",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKeyList"
          }
        }
      },
      "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/gpg_keys/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a GPG key",
        "operationId": "userCurrentGetGPGKey",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of key to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKey"
          },
          "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"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/hooks": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's webhooks",
        "operationId": "userListHooks",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/HookList"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create a hook",
        "operationId": "userCreateHook",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateHookOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/user/hooks/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a hook",
        "operationId": "userGetHook",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to get",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      },
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Delete a hook",
        "operationId": "userDeleteHook",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to delete",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          }
        }
      },
      "patch": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Update a hook",
        "operationId": "userEditHook",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "id of the hook to update",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/EditHookOption"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/Hook"
          }
        }
      }
    },
    "/user/keys": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the authenticated user's public keys",
        "operationId": "userCurrentListKeys",
        "parameters": [
          {
            "type": "string",
            "description": "fingerprint of the key",
            "name": "fingerprint",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKeyList"
          }
        }
      },
      "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",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/repos": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the repos that the authenticated user owns",
        "operationId": "userCurrentListRepos",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "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"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "409": {
            "description": "The repository with the same name already exists."
          },
          "422": {
            "$ref": "#/responses/validationError"
          }
        }
      }
    },
    "/user/settings": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get user settings",
        "operationId": "getUserSettings",
        "responses": {
          "200": {
            "$ref": "#/responses/UserSettings"
          }
        }
      },
      "patch": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Update user settings",
        "operationId": "updateUserSettings",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/UserSettingsOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserSettings"
          }
        }
      }
    },
    "/user/starred": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "The repos that the authenticated user has starred",
        "operationId": "userCurrentListStarred",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      },
      "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"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/user/stopwatches": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get list of all existing stopwatches",
        "operationId": "userGetStopWatches",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/StopWatchList"
          }
        }
      }
    },
    "/user/subscriptions": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List repositories watched by the authenticated user",
        "operationId": "userCurrentListSubscriptions",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          }
        }
      }
    },
    "/user/teams": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List all the teams a user belongs to",
        "operationId": "userListTeams",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TeamList"
          }
        }
      }
    },
    "/user/times": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List the current user's tracked times",
        "operationId": "userCurrentTrackedTimes",
        "parameters": [
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
            "name": "since",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date-time",
            "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
            "name": "before",
            "in": "query"
          }
        ],
        "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": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "SearchResults of a successful search",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/User"
                  }
                },
                "ok": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user",
        "operationId": "userGet",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose data is to be listed",
            "name": "username",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/User"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/activities/feeds": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "List a user's activity feeds",
        "operationId": "userListActivityFeeds",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose activity feeds are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "if true, only show actions performed by the requested user",
            "name": "only-performed-by",
            "in": "query"
          },
          {
            "type": "string",
            "format": "date",
            "description": "the date of the activities to be found",
            "name": "date",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActivityFeedsList"
          },
          "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 the user whose followers are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 the user whose followed users are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UserList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/following/{target}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Check if one user is following another user",
        "operationId": "userCheckFollowing",
        "parameters": [
          {
            "type": "string",
            "description": "username of the following user",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "username of the followed user",
            "name": "target",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 the user whose GPG key list is to be obtained",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GPGKeyList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/heatmap": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Get a user's heatmap",
        "operationId": "userGetHeatmapData",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose heatmap is to be obtained",
            "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 the user whose public keys are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "fingerprint of the key",
            "name": "fingerprint",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/PublicKeyList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/orgs": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "List a user's organizations",
        "operationId": "orgListUserOrgs",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose organizations are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/users/{username}/orgs/{org}/permissions": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "organization"
        ],
        "summary": "Get user permissions in organization",
        "operationId": "orgGetUserPermissions",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose permissions are to be obtained",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "name of the organization",
            "name": "org",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/OrganizationPermissions"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 the user whose owned repos are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 the user whose starred repos are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 whose watched repos are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RepositoryList"
          },
          "404": {
            "$ref": "#/responses/notFound"
          }
        }
      }
    },
    "/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 to user whose access tokens are to be listed",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page number of results to return (1-based)",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page size of results",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AccessTokenList"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "Create an access token",
        "operationId": "userCreateToken",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose token is to be created",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateAccessTokenOption"
            }
          }
        ],
        "responses": {
          "201": {
            "$ref": "#/responses/AccessToken"
          },
          "400": {
            "$ref": "#/responses/error"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          }
        }
      }
    },
    "/users/{username}/tokens/{token}": {
      "delete": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "user"
        ],
        "summary": "delete an access token",
        "operationId": "userDeleteAccessToken",
        "parameters": [
          {
            "type": "string",
            "description": "username of the user whose token is to be deleted",
            "name": "username",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "token to be deleted, identified by ID and if not available by name",
            "name": "token",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/responses/empty"
          },
          "403": {
            "$ref": "#/responses/forbidden"
          },
          "404": {
            "$ref": "#/responses/notFound"
          },
          "422": {
            "$ref": "#/responses/error"
          }
        }
      }
    },
    "/version": {
      "get": {
        "produces": [
          "application/json"
        ],
        "tags": [
          "miscellaneous"
        ],
        "summary": "Returns the version of the Gitea application",
        "operationId": "getVersion",
        "responses": {
          "200": {
            "$ref": "#/responses/ServerVersion"
          }
        }
      }
    }
  },
  "definitions": {
    "APIError": {
      "description": "APIError is an api error with a message",
      "type": "object",
      "properties": {
        "message": {
          "description": "Message contains the error description",
          "type": "string",
          "x-go-name": "Message"
        },
        "url": {
          "description": "URL contains the documentation URL for this error",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "AccessToken": {
      "type": "object",
      "title": "AccessToken represents an API access token.",
      "properties": {
        "created_at": {
          "description": "The timestamp when the token was created",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "The unique identifier of the access token",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "last_used_at": {
          "description": "The timestamp when the token was last used",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "name": {
          "description": "The name of the access token",
          "type": "string",
          "x-go-name": "Name"
        },
        "scopes": {
          "description": "The scopes granted to this access token",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Scopes"
        },
        "sha1": {
          "description": "The SHA1 hash of the access token",
          "type": "string",
          "x-go-name": "Token"
        },
        "token_last_eight": {
          "description": "The last eight characters of the token",
          "type": "string",
          "x-go-name": "TokenLastEight"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionArtifact": {
      "description": "ActionArtifact represents a ActionArtifact",
      "type": "object",
      "properties": {
        "archive_download_url": {
          "type": "string",
          "x-go-name": "ArchiveDownloadURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "expired": {
          "type": "boolean",
          "x-go-name": "Expired"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "ExpiresAt"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "size_in_bytes": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "SizeInBytes"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "UpdatedAt"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "workflow_run": {
          "$ref": "#/definitions/ActionWorkflowRun"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionArtifactsResponse": {
      "description": "ActionArtifactsResponse returns ActionArtifacts",
      "type": "object",
      "properties": {
        "artifacts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionArtifact"
          },
          "x-go-name": "Entries"
        },
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionRunner": {
      "description": "ActionRunner represents a Runner",
      "type": "object",
      "properties": {
        "busy": {
          "type": "boolean",
          "x-go-name": "Busy"
        },
        "disabled": {
          "type": "boolean",
          "x-go-name": "Disabled"
        },
        "ephemeral": {
          "type": "boolean",
          "x-go-name": "Ephemeral"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "labels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionRunnerLabel"
          },
          "x-go-name": "Labels"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "status": {
          "type": "string",
          "x-go-name": "Status"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionRunnerLabel": {
      "description": "ActionRunnerLabel represents a Runner Label",
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionRunnersResponse": {
      "description": "ActionRunnersResponse returns Runners",
      "type": "object",
      "properties": {
        "runners": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionRunner"
          },
          "x-go-name": "Entries"
        },
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionTask": {
      "description": "ActionTask represents a ActionTask",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "display_title": {
          "description": "DisplayTitle is the display title for the workflow run",
          "type": "string",
          "x-go-name": "DisplayTitle"
        },
        "event": {
          "description": "Event is the type of event that triggered the workflow",
          "type": "string",
          "x-go-name": "Event"
        },
        "head_branch": {
          "description": "HeadBranch is the branch that triggered the workflow",
          "type": "string",
          "x-go-name": "HeadBranch"
        },
        "head_sha": {
          "description": "HeadSHA is the commit SHA that triggered the workflow",
          "type": "string",
          "x-go-name": "HeadSHA"
        },
        "id": {
          "description": "ID is the unique identifier for the action task",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "Name is the name of the workflow",
          "type": "string",
          "x-go-name": "Name"
        },
        "run_number": {
          "description": "RunNumber is the sequential number of the workflow run",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunNumber"
        },
        "run_started_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "RunStartedAt"
        },
        "status": {
          "description": "Status indicates the current status of the workflow run",
          "type": "string",
          "x-go-name": "Status"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "UpdatedAt"
        },
        "url": {
          "description": "URL is the API URL for this workflow run",
          "type": "string",
          "x-go-name": "URL"
        },
        "workflow_id": {
          "description": "WorkflowID is the identifier of the workflow",
          "type": "string",
          "x-go-name": "WorkflowID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionTaskResponse": {
      "description": "ActionTaskResponse returns a ActionTask",
      "type": "object",
      "properties": {
        "total_count": {
          "description": "TotalCount is the total number of workflow runs",
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "workflow_runs": {
          "description": "Entries contains the list of workflow runs",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionTask"
          },
          "x-go-name": "Entries"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionVariable": {
      "description": "ActionVariable return value of the query API",
      "type": "object",
      "properties": {
        "data": {
          "description": "the value of the variable",
          "type": "string",
          "x-go-name": "Data"
        },
        "description": {
          "description": "the description of the variable",
          "type": "string",
          "x-go-name": "Description"
        },
        "name": {
          "description": "the name of the variable",
          "type": "string",
          "x-go-name": "Name"
        },
        "owner_id": {
          "description": "the owner to which the variable belongs",
          "type": "integer",
          "format": "int64",
          "x-go-name": "OwnerID"
        },
        "repo_id": {
          "description": "the repository to which the variable belongs",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflow": {
      "description": "ActionWorkflow represents a ActionWorkflow",
      "type": "object",
      "properties": {
        "badge_url": {
          "description": "BadgeURL is the URL for the workflow badge",
          "type": "string",
          "x-go-name": "BadgeURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "deleted_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "DeletedAt"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing the workflow",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "ID is the unique identifier for the workflow",
          "type": "string",
          "x-go-name": "ID"
        },
        "name": {
          "description": "Name is the name of the workflow",
          "type": "string",
          "x-go-name": "Name"
        },
        "path": {
          "description": "Path is the file path of the workflow",
          "type": "string",
          "x-go-name": "Path"
        },
        "state": {
          "description": "State indicates if the workflow is active or disabled",
          "type": "string",
          "x-go-name": "State"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "UpdatedAt"
        },
        "url": {
          "description": "URL is the API URL for this workflow",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowJob": {
      "description": "ActionWorkflowJob represents a WorkflowJob",
      "type": "object",
      "properties": {
        "completed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CompletedAt"
        },
        "conclusion": {
          "type": "string",
          "x-go-name": "Conclusion"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "head_branch": {
          "type": "string",
          "x-go-name": "HeadBranch"
        },
        "head_sha": {
          "type": "string",
          "x-go-name": "HeadSha"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Labels"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "run_attempt": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunAttempt"
        },
        "run_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunID"
        },
        "run_url": {
          "type": "string",
          "x-go-name": "RunURL"
        },
        "runner_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunnerID"
        },
        "runner_name": {
          "type": "string",
          "x-go-name": "RunnerName"
        },
        "started_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "StartedAt"
        },
        "status": {
          "type": "string",
          "x-go-name": "Status"
        },
        "steps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionWorkflowStep"
          },
          "x-go-name": "Steps"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowJobsResponse": {
      "description": "ActionWorkflowJobsResponse returns ActionWorkflowJobs",
      "type": "object",
      "properties": {
        "jobs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionWorkflowJob"
          },
          "x-go-name": "Entries"
        },
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowResponse": {
      "description": "ActionWorkflowResponse returns a ActionWorkflow",
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "workflows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionWorkflow"
          },
          "x-go-name": "Workflows"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowRun": {
      "description": "ActionWorkflowRun represents a WorkflowRun",
      "type": "object",
      "properties": {
        "actor": {
          "$ref": "#/definitions/User"
        },
        "completed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CompletedAt"
        },
        "conclusion": {
          "type": "string",
          "x-go-name": "Conclusion"
        },
        "display_title": {
          "type": "string",
          "x-go-name": "DisplayTitle"
        },
        "event": {
          "type": "string",
          "x-go-name": "Event"
        },
        "head_branch": {
          "type": "string",
          "x-go-name": "HeadBranch"
        },
        "head_repository": {
          "$ref": "#/definitions/Repository"
        },
        "head_sha": {
          "type": "string",
          "x-go-name": "HeadSha"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "path": {
          "type": "string",
          "x-go-name": "Path"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "repository_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepositoryID"
        },
        "run_attempt": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunAttempt"
        },
        "run_number": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RunNumber"
        },
        "started_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "StartedAt"
        },
        "status": {
          "type": "string",
          "x-go-name": "Status"
        },
        "trigger_actor": {
          "$ref": "#/definitions/User"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowRunsResponse": {
      "description": "ActionWorkflowRunsResponse returns ActionWorkflowRuns",
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "workflow_runs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionWorkflowRun"
          },
          "x-go-name": "Entries"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ActionWorkflowStep": {
      "description": "ActionWorkflowStep represents a step of a WorkflowJob",
      "type": "object",
      "properties": {
        "completed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CompletedAt"
        },
        "conclusion": {
          "type": "string",
          "x-go-name": "Conclusion"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "number": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Number"
        },
        "started_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "StartedAt"
        },
        "status": {
          "type": "string",
          "x-go-name": "Status"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Activity": {
      "type": "object",
      "properties": {
        "act_user": {
          "$ref": "#/definitions/User"
        },
        "act_user_id": {
          "description": "The ID of the user who performed the action",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ActUserID"
        },
        "comment": {
          "$ref": "#/definitions/Comment"
        },
        "comment_id": {
          "description": "The ID of the comment associated with the activity (if applicable)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CommentID"
        },
        "content": {
          "description": "Additional content or details about the activity",
          "type": "string",
          "x-go-name": "Content"
        },
        "created": {
          "description": "The date and time when the activity occurred",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "The unique identifier of the activity",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_private": {
          "description": "Whether this activity is from a private repository",
          "type": "boolean",
          "x-go-name": "IsPrivate"
        },
        "op_type": {
          "description": "the type of action",
          "type": "string",
          "enum": [
            "create_repo",
            "rename_repo",
            "star_repo",
            "watch_repo",
            "commit_repo",
            "create_issue",
            "create_pull_request",
            "transfer_repo",
            "push_tag",
            "comment_issue",
            "merge_pull_request",
            "close_issue",
            "reopen_issue",
            "close_pull_request",
            "reopen_pull_request",
            "delete_tag",
            "delete_branch",
            "mirror_sync_push",
            "mirror_sync_create",
            "mirror_sync_delete",
            "approve_pull_request",
            "reject_pull_request",
            "comment_pull",
            "publish_release",
            "pull_review_dismissed",
            "pull_request_ready_for_review",
            "auto_merge_pull_request"
          ],
          "x-go-name": "OpType"
        },
        "ref_name": {
          "description": "The name of the git reference (branch/tag) associated with the activity",
          "type": "string",
          "x-go-name": "RefName"
        },
        "repo": {
          "$ref": "#/definitions/Repository"
        },
        "repo_id": {
          "description": "The ID of the repository associated with the activity",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoID"
        },
        "user_id": {
          "description": "The ID of the user who receives/sees this activity",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UserID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "AddCollaboratorOption": {
      "description": "AddCollaboratorOption options when adding a user as a collaborator of a repository",
      "type": "object",
      "properties": {
        "permission": {
          "type": "string",
          "enum": [
            "read",
            "write",
            "admin"
          ],
          "x-go-name": "Permission"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "AddTimeOption": {
      "description": "AddTimeOption options for adding time to an issue",
      "type": "object",
      "required": [
        "time"
      ],
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "time": {
          "description": "time in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Time"
        },
        "user_name": {
          "description": "username of the user who spent the time working on the issue (optional)",
          "type": "string",
          "x-go-name": "User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "AnnotatedTag": {
      "description": "AnnotatedTag represents an annotated tag",
      "type": "object",
      "properties": {
        "message": {
          "description": "The message associated with the annotated tag",
          "type": "string",
          "x-go-name": "Message"
        },
        "object": {
          "$ref": "#/definitions/AnnotatedTagObject"
        },
        "sha": {
          "description": "The SHA hash of the annotated tag",
          "type": "string",
          "x-go-name": "SHA"
        },
        "tag": {
          "description": "The name of the annotated tag",
          "type": "string",
          "x-go-name": "Tag"
        },
        "tagger": {
          "$ref": "#/definitions/CommitUser"
        },
        "url": {
          "description": "The URL to access the annotated tag",
          "type": "string",
          "x-go-name": "URL"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "AnnotatedTagObject": {
      "description": "AnnotatedTagObject contains meta information of the tag object",
      "type": "object",
      "properties": {
        "sha": {
          "description": "The SHA hash of the tagged object",
          "type": "string",
          "x-go-name": "SHA"
        },
        "type": {
          "description": "The type of the tagged object (e.g., commit, tree)",
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "description": "The URL to access the tagged object",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ApplyDiffPatchFileOptions": {
      "description": "ApplyDiffPatchFileOptions options for applying a diff patch\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
      "type": "object",
      "required": [
        "content"
      ],
      "properties": {
        "author": {
          "$ref": "#/definitions/Identity"
        },
        "branch": {
          "description": "branch (optional) is the base branch for the changes. If not supplied, the default branch is used",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "committer": {
          "$ref": "#/definitions/Identity"
        },
        "content": {
          "type": "string",
          "x-go-name": "Content"
        },
        "dates": {
          "$ref": "#/definitions/CommitDateOptions"
        },
        "force_push": {
          "description": "force_push (optional) will do a force-push if the new branch already exists",
          "type": "boolean",
          "x-go-name": "ForcePush"
        },
        "message": {
          "description": "message (optional) is the commit message of the changes. If not supplied, a default message will be used",
          "type": "string",
          "x-go-name": "Message"
        },
        "new_branch": {
          "description": "new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch",
          "type": "string",
          "x-go-name": "NewBranchName"
        },
        "signoff": {
          "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
          "type": "boolean",
          "x-go-name": "Signoff"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Attachment": {
      "description": "Attachment a generic attachment",
      "type": "object",
      "properties": {
        "browser_download_url": {
          "description": "DownloadURL is the URL to download the attachment",
          "type": "string",
          "x-go-name": "DownloadURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "download_count": {
          "description": "DownloadCount is the number of times the attachment has been downloaded",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DownloadCount"
        },
        "id": {
          "description": "ID is the unique identifier for the attachment",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "Name is the filename of the attachment",
          "type": "string",
          "x-go-name": "Name"
        },
        "size": {
          "description": "Size is the file size in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "uuid": {
          "description": "UUID is the unique identifier for the attachment file",
          "type": "string",
          "x-go-name": "UUID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Badge": {
      "description": "Badge represents a user badge",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "image_url": {
          "type": "string",
          "x-go-name": "ImageURL"
        },
        "slug": {
          "type": "string",
          "x-go-name": "Slug"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Branch": {
      "description": "Branch represents a repository branch",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/PayloadCommit"
        },
        "effective_branch_protection_name": {
          "description": "EffectiveBranchProtectionName is the name of the effective branch protection rule",
          "type": "string",
          "x-go-name": "EffectiveBranchProtectionName"
        },
        "enable_status_check": {
          "description": "EnableStatusCheck indicates if status checks are enabled",
          "type": "boolean",
          "x-go-name": "EnableStatusCheck"
        },
        "name": {
          "description": "Name is the branch name",
          "type": "string",
          "x-go-name": "Name"
        },
        "protected": {
          "description": "Protected indicates if the branch is protected",
          "type": "boolean",
          "x-go-name": "Protected"
        },
        "required_approvals": {
          "description": "RequiredApprovals is the number of required approvals for pull requests",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RequiredApprovals"
        },
        "status_check_contexts": {
          "description": "StatusCheckContexts contains the list of required status check contexts",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "StatusCheckContexts"
        },
        "user_can_merge": {
          "description": "UserCanMerge indicates if the current user can merge to this branch",
          "type": "boolean",
          "x-go-name": "UserCanMerge"
        },
        "user_can_push": {
          "description": "UserCanPush indicates if the current user can push to this branch",
          "type": "boolean",
          "x-go-name": "UserCanPush"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "BranchProtection": {
      "description": "BranchProtection represents a branch protection for a repository",
      "type": "object",
      "properties": {
        "approvals_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistTeams"
        },
        "approvals_whitelist_username": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistUsernames"
        },
        "block_admin_merge_override": {
          "type": "boolean",
          "x-go-name": "BlockAdminMergeOverride"
        },
        "block_on_official_review_requests": {
          "type": "boolean",
          "x-go-name": "BlockOnOfficialReviewRequests"
        },
        "block_on_outdated_branch": {
          "type": "boolean",
          "x-go-name": "BlockOnOutdatedBranch"
        },
        "block_on_rejected_reviews": {
          "type": "boolean",
          "x-go-name": "BlockOnRejectedReviews"
        },
        "branch_name": {
          "description": "Deprecated: true",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "dismiss_stale_approvals": {
          "type": "boolean",
          "x-go-name": "DismissStaleApprovals"
        },
        "enable_approvals_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableApprovalsWhitelist"
        },
        "enable_force_push": {
          "type": "boolean",
          "x-go-name": "EnableForcePush"
        },
        "enable_force_push_allowlist": {
          "type": "boolean",
          "x-go-name": "EnableForcePushAllowlist"
        },
        "enable_merge_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableMergeWhitelist"
        },
        "enable_push": {
          "type": "boolean",
          "x-go-name": "EnablePush"
        },
        "enable_push_whitelist": {
          "type": "boolean",
          "x-go-name": "EnablePushWhitelist"
        },
        "enable_status_check": {
          "type": "boolean",
          "x-go-name": "EnableStatusCheck"
        },
        "force_push_allowlist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "ForcePushAllowlistDeployKeys"
        },
        "force_push_allowlist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistTeams"
        },
        "force_push_allowlist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistUsernames"
        },
        "ignore_stale_approvals": {
          "type": "boolean",
          "x-go-name": "IgnoreStaleApprovals"
        },
        "merge_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistTeams"
        },
        "merge_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistUsernames"
        },
        "priority": {
          "description": "Priority is the priority of this branch protection rule",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Priority"
        },
        "protected_file_patterns": {
          "type": "string",
          "x-go-name": "ProtectedFilePatterns"
        },
        "push_whitelist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "PushWhitelistDeployKeys"
        },
        "push_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistTeams"
        },
        "push_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistUsernames"
        },
        "require_signed_commits": {
          "type": "boolean",
          "x-go-name": "RequireSignedCommits"
        },
        "required_approvals": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RequiredApprovals"
        },
        "rule_name": {
          "description": "RuleName is the name of the branch protection rule",
          "type": "string",
          "x-go-name": "RuleName"
        },
        "status_check_contexts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "StatusCheckContexts"
        },
        "unprotected_file_patterns": {
          "type": "string",
          "x-go-name": "UnprotectedFilePatterns"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ChangeFileOperation": {
      "description": "ChangeFileOperation for creating, updating or deleting a file",
      "type": "object",
      "required": [
        "operation",
        "path"
      ],
      "properties": {
        "content": {
          "description": "new or updated file content, it must be base64 encoded",
          "type": "string",
          "x-go-name": "ContentBase64"
        },
        "from_path": {
          "description": "old path of the file to move",
          "type": "string",
          "x-go-name": "FromPath"
        },
        "operation": {
          "description": "indicates what to do with the file: \"create\" for creating a new file, \"update\" for updating an existing file,\n\"upload\" for creating or updating a file, \"rename\" for renaming a file, and \"delete\" for deleting an existing file.",
          "type": "string",
          "enum": [
            "create",
            "update",
            "upload",
            "rename",
            "delete"
          ],
          "x-go-name": "Operation"
        },
        "path": {
          "description": "path to the existing or new file",
          "type": "string",
          "x-go-name": "Path"
        },
        "sha": {
          "description": "the blob ID (SHA) for the file that already exists, required for changing existing files",
          "type": "string",
          "x-go-name": "SHA"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ChangeFilesOptions": {
      "description": "ChangeFilesOptions options for creating, updating or deleting multiple files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
      "type": "object",
      "required": [
        "files"
      ],
      "properties": {
        "author": {
          "$ref": "#/definitions/Identity"
        },
        "branch": {
          "description": "branch (optional) is the base branch for the changes. If not supplied, the default branch is used",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "committer": {
          "$ref": "#/definitions/Identity"
        },
        "dates": {
          "$ref": "#/definitions/CommitDateOptions"
        },
        "files": {
          "description": "list of file operations",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChangeFileOperation"
          },
          "x-go-name": "Files"
        },
        "force_push": {
          "description": "force_push (optional) will do a force-push if the new branch already exists",
          "type": "boolean",
          "x-go-name": "ForcePush"
        },
        "message": {
          "description": "message (optional) is the commit message of the changes. If not supplied, a default message will be used",
          "type": "string",
          "x-go-name": "Message"
        },
        "new_branch": {
          "description": "new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch",
          "type": "string",
          "x-go-name": "NewBranchName"
        },
        "signoff": {
          "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
          "type": "boolean",
          "x-go-name": "Signoff"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ChangedFile": {
      "description": "ChangedFile store information about files affected by the pull request",
      "type": "object",
      "properties": {
        "additions": {
          "description": "The number of lines added to the file",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Additions"
        },
        "changes": {
          "description": "The total number of changes to the file",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Changes"
        },
        "contents_url": {
          "description": "The API URL to get the file contents",
          "type": "string",
          "x-go-name": "ContentsURL"
        },
        "deletions": {
          "description": "The number of lines deleted from the file",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Deletions"
        },
        "filename": {
          "description": "The name of the changed file",
          "type": "string",
          "x-go-name": "Filename"
        },
        "html_url": {
          "description": "The HTML URL to view the file changes",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "previous_filename": {
          "description": "The previous filename if the file was renamed",
          "type": "string",
          "x-go-name": "PreviousFilename"
        },
        "raw_url": {
          "description": "The raw URL to download the file",
          "type": "string",
          "x-go-name": "RawURL"
        },
        "status": {
          "description": "The status of the file change (added, modified, deleted, etc.)",
          "type": "string",
          "x-go-name": "Status"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CombinedStatus": {
      "description": "CombinedStatus holds the combined state of several statuses for a single commit",
      "type": "object",
      "properties": {
        "commit_url": {
          "description": "CommitURL is the API URL for the commit",
          "type": "string",
          "x-go-name": "CommitURL"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "sha": {
          "description": "SHA is the commit SHA this status applies to",
          "type": "string",
          "x-go-name": "SHA"
        },
        "state": {
          "description": "State is the overall combined status state\npending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "type": "string",
          "enum": [
            "pending",
            "success",
            "error",
            "failure",
            "warning",
            "skipped"
          ],
          "x-go-enum-desc": "pending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "x-go-name": "State"
        },
        "statuses": {
          "description": "Statuses contains all individual commit statuses",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CommitStatus"
          },
          "x-go-name": "Statuses"
        },
        "total_count": {
          "description": "TotalCount is the total number of statuses",
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "url": {
          "description": "URL is the API URL for this combined status",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Comment": {
      "description": "Comment represents a comment on a commit or issue",
      "type": "object",
      "properties": {
        "assets": {
          "description": "Attachments contains files attached to the comment",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-go-name": "Attachments"
        },
        "body": {
          "description": "Body contains the comment text content",
          "type": "string",
          "x-go-name": "Body"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing the comment",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "ID is the unique identifier for the comment",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "issue_url": {
          "description": "IssueURL is the API URL for the issue",
          "type": "string",
          "x-go-name": "IssueURL"
        },
        "original_author": {
          "description": "OriginalAuthor is the original author name (for imported comments)",
          "type": "string",
          "x-go-name": "OriginalAuthor"
        },
        "original_author_id": {
          "description": "OriginalAuthorID is the original author ID (for imported comments)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "OriginalAuthorID"
        },
        "pull_request_url": {
          "description": "PRURL is the API URL for the pull request (if applicable)",
          "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/modules/structs"
    },
    "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"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "files": {
          "description": "Files contains information about files affected by the commit",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CommitAffectedFiles"
          },
          "x-go-name": "Files"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing the commit",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "parents": {
          "description": "Parents contains the parent commit information",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CommitMeta"
          },
          "x-go-name": "Parents"
        },
        "sha": {
          "description": "SHA is the commit SHA hash",
          "type": "string",
          "x-go-name": "SHA"
        },
        "stats": {
          "$ref": "#/definitions/CommitStats"
        },
        "url": {
          "description": "URL is the API URL for the commit",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitAffectedFiles": {
      "description": "CommitAffectedFiles store information about files affected by the commit",
      "type": "object",
      "properties": {
        "filename": {
          "description": "Filename is the path of the affected file",
          "type": "string",
          "x-go-name": "Filename"
        },
        "status": {
          "description": "Status indicates how the file was affected (added, modified, deleted)",
          "type": "string",
          "x-go-name": "Status"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitDateOptions": {
      "description": "CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE",
      "type": "object",
      "properties": {
        "author": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Author"
        },
        "committer": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Committer"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitMeta": {
      "type": "object",
      "title": "CommitMeta contains meta information of a commit in terms of API.",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "sha": {
          "description": "SHA is the commit SHA hash",
          "type": "string",
          "x-go-name": "SHA"
        },
        "url": {
          "description": "URL is the API URL for the commit",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitStats": {
      "description": "CommitStats is statistics for a RepoCommit",
      "type": "object",
      "properties": {
        "additions": {
          "description": "Additions is the number of lines added",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Additions"
        },
        "deletions": {
          "description": "Deletions is the number of lines deleted",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Deletions"
        },
        "total": {
          "description": "Total is the total number of lines changed",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Total"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitStatus": {
      "description": "CommitStatus holds a single status of a single Commit",
      "type": "object",
      "properties": {
        "context": {
          "description": "Context is the unique context identifier for the status",
          "type": "string",
          "x-go-name": "Context"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "creator": {
          "$ref": "#/definitions/User"
        },
        "description": {
          "description": "Description provides a brief description of the status",
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "description": "ID is the unique identifier for the commit status",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "status": {
          "description": "State represents the status state (pending, success, error, failure)\npending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "type": "string",
          "enum": [
            "pending",
            "success",
            "error",
            "failure",
            "warning",
            "skipped"
          ],
          "x-go-enum-desc": "pending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "x-go-name": "State"
        },
        "target_url": {
          "description": "TargetURL is the URL to link to for more details",
          "type": "string",
          "x-go-name": "TargetURL"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "description": "URL is the API URL for this status",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CommitUser": {
      "type": "object",
      "title": "CommitUser contains information of a user in the context of a commit.",
      "properties": {
        "date": {
          "description": "Date is the commit date in string format",
          "type": "string",
          "x-go-name": "Date"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "name": {
          "description": "Name is the person's name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Compare": {
      "type": "object",
      "title": "Compare represents a comparison between two commits.",
      "properties": {
        "commits": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Commit"
          },
          "x-go-name": "Commits"
        },
        "total_commits": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCommits"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ContentsExtResponse": {
      "type": "object",
      "properties": {
        "dir_contents": {
          "description": "DirContents contains directory listing when the path represents a directory",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentsResponse"
          },
          "x-go-name": "DirContents"
        },
        "file_contents": {
          "$ref": "#/definitions/ContentsResponse"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ContentsResponse": {
      "description": "ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content",
      "type": "object",
      "properties": {
        "_links": {
          "$ref": "#/definitions/FileLinksResponse"
        },
        "content": {
          "description": "`content` is populated when `type` is `file`, otherwise null",
          "type": "string",
          "x-go-name": "Content"
        },
        "download_url": {
          "description": "DownloadURL is the direct download URL for this file",
          "type": "string",
          "x-go-name": "DownloadURL"
        },
        "encoding": {
          "description": "`encoding` is populated when `type` is `file`, otherwise null",
          "type": "string",
          "x-go-name": "Encoding"
        },
        "git_url": {
          "description": "GitURL is the Git API URL for this blob or tree",
          "type": "string",
          "x-go-name": "GitURL"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for this file or directory",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "last_author_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastAuthorDate"
        },
        "last_commit_message": {
          "description": "LastCommitMessage is the message of the last commit that affected this file",
          "type": "string",
          "x-go-name": "LastCommitMessage"
        },
        "last_commit_sha": {
          "description": "LastCommitSHA is the SHA of the last commit that affected this file",
          "type": "string",
          "x-go-name": "LastCommitSHA"
        },
        "last_committer_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastCommitterDate"
        },
        "lfs_oid": {
          "description": "LfsOid is the Git LFS object ID if this file is stored in LFS",
          "type": "string",
          "x-go-name": "LfsOid"
        },
        "lfs_size": {
          "description": "LfsSize is the file size if this file is stored in LFS",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LfsSize"
        },
        "name": {
          "description": "Name is the file or directory name",
          "type": "string",
          "x-go-name": "Name"
        },
        "path": {
          "description": "Path is the full path to the file or directory",
          "type": "string",
          "x-go-name": "Path"
        },
        "sha": {
          "description": "SHA is the Git blob or tree SHA",
          "type": "string",
          "x-go-name": "SHA"
        },
        "size": {
          "description": "Size is the file size in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "submodule_git_url": {
          "description": "`submodule_git_url` is populated when `type` is `submodule`, otherwise null",
          "type": "string",
          "x-go-name": "SubmoduleGitURL"
        },
        "target": {
          "description": "`target` is populated when `type` is `symlink`, otherwise null",
          "type": "string",
          "x-go-name": "Target"
        },
        "type": {
          "description": "`type` will be `file`, `dir`, `symlink`, or `submodule`",
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "description": "URL is the API URL for this file or directory",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateAccessTokenOption": {
      "description": "CreateAccessTokenOption options when create access token",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Scopes",
          "example": [
            "all",
            "read:activitypub",
            "read:issue",
            "write:misc",
            "read:notification",
            "read:organization",
            "read:package",
            "read:repository",
            "read:user"
          ]
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateActionWorkflowDispatch": {
      "description": "CreateActionWorkflowDispatch represents the payload for triggering a workflow dispatch event",
      "type": "object",
      "required": [
        "ref"
      ],
      "properties": {
        "inputs": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "Inputs"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref",
          "example": "refs/heads/main"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateBranchProtectionOption": {
      "description": "CreateBranchProtectionOption options for creating a branch protection",
      "type": "object",
      "properties": {
        "approvals_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistTeams"
        },
        "approvals_whitelist_username": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistUsernames"
        },
        "block_admin_merge_override": {
          "type": "boolean",
          "x-go-name": "BlockAdminMergeOverride"
        },
        "block_on_official_review_requests": {
          "type": "boolean",
          "x-go-name": "BlockOnOfficialReviewRequests"
        },
        "block_on_outdated_branch": {
          "type": "boolean",
          "x-go-name": "BlockOnOutdatedBranch"
        },
        "block_on_rejected_reviews": {
          "type": "boolean",
          "x-go-name": "BlockOnRejectedReviews"
        },
        "branch_name": {
          "description": "Deprecated: true",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "dismiss_stale_approvals": {
          "type": "boolean",
          "x-go-name": "DismissStaleApprovals"
        },
        "enable_approvals_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableApprovalsWhitelist"
        },
        "enable_force_push": {
          "type": "boolean",
          "x-go-name": "EnableForcePush"
        },
        "enable_force_push_allowlist": {
          "type": "boolean",
          "x-go-name": "EnableForcePushAllowlist"
        },
        "enable_merge_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableMergeWhitelist"
        },
        "enable_push": {
          "type": "boolean",
          "x-go-name": "EnablePush"
        },
        "enable_push_whitelist": {
          "type": "boolean",
          "x-go-name": "EnablePushWhitelist"
        },
        "enable_status_check": {
          "type": "boolean",
          "x-go-name": "EnableStatusCheck"
        },
        "force_push_allowlist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "ForcePushAllowlistDeployKeys"
        },
        "force_push_allowlist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistTeams"
        },
        "force_push_allowlist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistUsernames"
        },
        "ignore_stale_approvals": {
          "type": "boolean",
          "x-go-name": "IgnoreStaleApprovals"
        },
        "merge_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistTeams"
        },
        "merge_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistUsernames"
        },
        "priority": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Priority"
        },
        "protected_file_patterns": {
          "type": "string",
          "x-go-name": "ProtectedFilePatterns"
        },
        "push_whitelist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "PushWhitelistDeployKeys"
        },
        "push_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistTeams"
        },
        "push_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistUsernames"
        },
        "require_signed_commits": {
          "type": "boolean",
          "x-go-name": "RequireSignedCommits"
        },
        "required_approvals": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RequiredApprovals"
        },
        "rule_name": {
          "type": "string",
          "x-go-name": "RuleName"
        },
        "status_check_contexts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "StatusCheckContexts"
        },
        "unprotected_file_patterns": {
          "type": "string",
          "x-go-name": "UnprotectedFilePatterns"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateBranchRepoOption": {
      "description": "CreateBranchRepoOption options when creating a branch in a repository",
      "type": "object",
      "required": [
        "new_branch_name"
      ],
      "properties": {
        "new_branch_name": {
          "description": "Name of the branch to create",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "BranchName"
        },
        "old_branch_name": {
          "description": "Deprecated: true\nName of the old branch to create from",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "OldBranchName"
        },
        "old_ref_name": {
          "description": "Name of the old branch/tag/commit to create from",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "OldRefName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "CreateFileOptions": {
      "description": "CreateFileOptions options for creating a file\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
      "type": "object",
      "required": [
        "content"
      ],
      "properties": {
        "author": {
          "$ref": "#/definitions/Identity"
        },
        "branch": {
          "description": "branch (optional) is the base branch for the changes. If not supplied, the default branch is used",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "committer": {
          "$ref": "#/definitions/Identity"
        },
        "content": {
          "description": "content must be base64 encoded",
          "type": "string",
          "x-go-name": "ContentBase64"
        },
        "dates": {
          "$ref": "#/definitions/CommitDateOptions"
        },
        "force_push": {
          "description": "force_push (optional) will do a force-push if the new branch already exists",
          "type": "boolean",
          "x-go-name": "ForcePush"
        },
        "message": {
          "description": "message (optional) is the commit message of the changes. If not supplied, a default message will be used",
          "type": "string",
          "x-go-name": "Message"
        },
        "new_branch": {
          "description": "new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch",
          "type": "string",
          "x-go-name": "NewBranchName"
        },
        "signoff": {
          "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
          "type": "boolean",
          "x-go-name": "Signoff"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateForkOption": {
      "description": "CreateForkOption options for creating a fork",
      "type": "object",
      "properties": {
        "name": {
          "description": "name of the forked repository",
          "type": "string",
          "x-go-name": "Name"
        },
        "organization": {
          "description": "organization name, if forking into an organization",
          "type": "string",
          "x-go-name": "Organization"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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"
        },
        "armored_signature": {
          "description": "An optional armored signature for the GPG key",
          "type": "string",
          "x-go-name": "Signature"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateHookOption": {
      "description": "CreateHookOption options when create a hook",
      "type": "object",
      "required": [
        "type",
        "config"
      ],
      "properties": {
        "active": {
          "type": "boolean",
          "default": false,
          "x-go-name": "Active"
        },
        "authorization_header": {
          "description": "Authorization header to include in webhook requests",
          "type": "string",
          "x-go-name": "AuthorizationHeader"
        },
        "branch_filter": {
          "description": "Branch filter pattern to determine which branches trigger the webhook",
          "type": "string",
          "x-go-name": "BranchFilter"
        },
        "config": {
          "$ref": "#/definitions/CreateHookOptionConfig"
        },
        "events": {
          "description": "List of events that will trigger this webhook",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Events"
        },
        "name": {
          "description": "Optional human-readable name for the webhook",
          "type": "string",
          "x-go-name": "Name"
        },
        "type": {
          "type": "string",
          "enum": [
            "dingtalk",
            "discord",
            "gitea",
            "gogs",
            "msteams",
            "slack",
            "telegram",
            "feishu",
            "wechatwork",
            "packagist"
          ],
          "x-go-name": "Type"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateHookOptionConfig": {
      "description": "CreateHookOptionConfig has all config options in it\nrequired are \"content_type\" and \"url\" Required",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "CreateIssueOption": {
      "description": "CreateIssueOption options to create one issue",
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "assignee": {
          "description": "deprecated",
          "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"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "CreateLabelOption": {
      "description": "CreateLabelOption options for creating a label",
      "type": "object",
      "required": [
        "name",
        "color"
      ],
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "#00aabb"
        },
        "description": {
          "description": "Description provides additional context about the label's purpose",
          "type": "string",
          "x-go-name": "Description"
        },
        "exclusive": {
          "type": "boolean",
          "x-go-name": "Exclusive",
          "example": false
        },
        "is_archived": {
          "type": "boolean",
          "x-go-name": "IsArchived",
          "example": false
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateMilestoneOption": {
      "description": "CreateMilestoneOption options for creating a milestone",
      "type": "object",
      "properties": {
        "description": {
          "description": "Description provides details about the milestone",
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "state": {
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "x-go-name": "State"
        },
        "title": {
          "description": "Title is the title of the new milestone",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateOAuth2ApplicationOptions": {
      "description": "CreateOAuth2ApplicationOptions holds options to create an oauth2 application",
      "type": "object",
      "properties": {
        "confidential_client": {
          "description": "Whether the client is confidential",
          "type": "boolean",
          "x-go-name": "ConfidentialClient"
        },
        "name": {
          "description": "The name of the OAuth2 application",
          "type": "string",
          "x-go-name": "Name"
        },
        "redirect_uris": {
          "description": "The list of allowed redirect URIs",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "RedirectURIs"
        },
        "skip_secondary_authorization": {
          "description": "Whether to skip secondary authorization",
          "type": "boolean",
          "x-go-name": "SkipSecondaryAuthorization"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateOrUpdateSecretOption": {
      "description": "CreateOrUpdateSecretOption options when creating or updating secret",
      "type": "object",
      "required": [
        "data"
      ],
      "properties": {
        "data": {
          "description": "Data of the secret to update",
          "type": "string",
          "x-go-name": "Data"
        },
        "description": {
          "description": "Description of the secret to update",
          "type": "string",
          "x-go-name": "Description"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateOrgOption": {
      "description": "CreateOrgOption options for creating an organization",
      "type": "object",
      "required": [
        "username"
      ],
      "properties": {
        "description": {
          "description": "The description of the organization",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "description": "The email address of the organization",
          "type": "string",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "The full display name of the organization",
          "type": "string",
          "x-go-name": "FullName"
        },
        "location": {
          "description": "The location of the organization",
          "type": "string",
          "x-go-name": "Location"
        },
        "repo_admin_change_team_access": {
          "description": "Whether repository administrators can change team access",
          "type": "boolean",
          "x-go-name": "RepoAdminChangeTeamAccess"
        },
        "username": {
          "description": "username of the organization",
          "type": "string",
          "x-go-name": "UserName"
        },
        "visibility": {
          "description": "possible values are `public` (default), `limited` or `private`",
          "type": "string",
          "enum": [
            "public",
            "limited",
            "private"
          ],
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "The website URL of the organization",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreatePullRequestOption": {
      "description": "CreatePullRequestOption options when creating a pull request",
      "type": "object",
      "properties": {
        "allow_maintainer_edit": {
          "description": "Whether maintainers can edit the pull request",
          "type": "boolean",
          "x-go-name": "AllowMaintainerEdit"
        },
        "assignee": {
          "description": "The primary assignee username",
          "type": "string",
          "x-go-name": "Assignee"
        },
        "assignees": {
          "description": "The list of assignee usernames",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "base": {
          "description": "The base branch for the pull request",
          "type": "string",
          "x-go-name": "Base"
        },
        "body": {
          "description": "The description body of the pull request",
          "type": "string",
          "x-go-name": "Body"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "head": {
          "description": "The head branch for the pull request, it could be a branch name on the base repository or\na form like `\u003cusername\u003e:\u003cbranch\u003e` which refers to the user's fork repository's branch.",
          "type": "string",
          "x-go-name": "Head"
        },
        "labels": {
          "description": "The list of label IDs to assign to the pull request",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "description": "The milestone ID to assign to the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "reviewers": {
          "description": "The list of reviewer usernames",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Reviewers"
        },
        "team_reviewers": {
          "description": "The list of team reviewer names",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "TeamReviewers"
        },
        "title": {
          "description": "The title of the pull request",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreatePullReviewComment": {
      "description": "CreatePullReviewComment represent a review comment for creation api",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "new_position": {
          "description": "if comment to new file line or 0",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NewLineNum"
        },
        "old_position": {
          "description": "if comment to old file line or 0",
          "type": "integer",
          "format": "int64",
          "x-go-name": "OldLineNum"
        },
        "path": {
          "description": "the tree path",
          "type": "string",
          "x-go-name": "Path"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreatePullReviewOptions": {
      "description": "CreatePullReviewOptions are options to create a pull request review",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "comments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CreatePullReviewComment"
          },
          "x-go-name": "Comments"
        },
        "commit_id": {
          "type": "string",
          "x-go-name": "CommitID"
        },
        "event": {
          "type": "string",
          "enum": [
            "APPROVED",
            "PENDING",
            "COMMENT",
            "REQUEST_CHANGES",
            "REQUEST_REVIEW"
          ],
          "x-go-enum-desc": "APPROVED ReviewStateApproved  ReviewStateApproved pr is approved\nPENDING ReviewStatePending  ReviewStatePending pr state is pending\nCOMMENT ReviewStateComment  ReviewStateComment is a comment review\nREQUEST_CHANGES ReviewStateRequestChanges  ReviewStateRequestChanges changes for pr are requested\nREQUEST_REVIEW ReviewStateRequestReview  ReviewStateRequestReview review is requested from user",
          "x-go-name": "Event"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreatePushMirrorOption": {
      "type": "object",
      "title": "CreatePushMirrorOption represents need information to create a push mirror of a repository.",
      "properties": {
        "interval": {
          "description": "The sync interval for automatic updates",
          "type": "string",
          "x-go-name": "Interval"
        },
        "remote_address": {
          "description": "The remote repository URL to push to",
          "type": "string",
          "x-go-name": "RemoteAddress"
        },
        "remote_password": {
          "description": "The password for authentication with the remote repository",
          "type": "string",
          "x-go-name": "RemotePassword"
        },
        "remote_username": {
          "description": "The username for authentication with the remote repository",
          "type": "string",
          "x-go-name": "RemoteUsername"
        },
        "sync_on_commit": {
          "description": "Whether to sync on every commit",
          "type": "boolean",
          "x-go-name": "SyncOnCommit"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateReleaseOption": {
      "description": "CreateReleaseOption options when creating a release",
      "type": "object",
      "required": [
        "tag_name"
      ],
      "properties": {
        "body": {
          "description": "The release notes or description",
          "type": "string",
          "x-go-name": "Note"
        },
        "draft": {
          "description": "Whether to create the release as a draft",
          "type": "boolean",
          "x-go-name": "IsDraft"
        },
        "name": {
          "description": "The display title of the release",
          "type": "string",
          "x-go-name": "Title"
        },
        "prerelease": {
          "description": "Whether to mark the release as a prerelease",
          "type": "boolean",
          "x-go-name": "IsPrerelease"
        },
        "tag_message": {
          "description": "The message for the git tag",
          "type": "string",
          "x-go-name": "TagMessage"
        },
        "tag_name": {
          "type": "string",
          "x-go-name": "TagName"
        },
        "target_commitish": {
          "description": "The target commitish for the release",
          "type": "string",
          "x-go-name": "Target"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateRepoOption": {
      "description": "CreateRepoOption options when creating repository",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "auto_init": {
          "description": "Whether the repository should be auto-initialized?",
          "type": "boolean",
          "x-go-name": "AutoInit"
        },
        "default_branch": {
          "description": "DefaultBranch of the repository (used when initializes and in template)",
          "type": "string",
          "x-go-name": "DefaultBranch"
        },
        "description": {
          "description": "Description of the repository to create",
          "type": "string",
          "x-go-name": "Description"
        },
        "gitignores": {
          "description": "Gitignores to use",
          "type": "string",
          "x-go-name": "Gitignores"
        },
        "issue_labels": {
          "description": "Label-Set to use",
          "type": "string",
          "x-go-name": "IssueLabels"
        },
        "license": {
          "description": "License to use",
          "type": "string",
          "x-go-name": "License"
        },
        "name": {
          "description": "Name of the repository to create",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Name"
        },
        "object_format_name": {
          "description": "ObjectFormatName of the underlying git repository, empty string for default (sha1)",
          "type": "string",
          "enum": [
            "sha1",
            "sha256"
          ],
          "x-go-name": "ObjectFormatName"
        },
        "private": {
          "description": "Whether the repository is private",
          "type": "boolean",
          "x-go-name": "Private"
        },
        "readme": {
          "description": "Readme of the repository to create",
          "type": "string",
          "x-go-name": "Readme"
        },
        "template": {
          "description": "Whether the repository is template",
          "type": "boolean",
          "x-go-name": "Template"
        },
        "trust_model": {
          "description": "TrustModel of the repository",
          "type": "string",
          "enum": [
            "default",
            "collaborator",
            "committer",
            "collaboratorcommitter"
          ],
          "x-go-name": "TrustModel"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateStatusOption": {
      "description": "CreateStatusOption holds the information needed to create a new CommitStatus for a Commit",
      "type": "object",
      "properties": {
        "context": {
          "description": "Context is the unique context identifier for the status",
          "type": "string",
          "x-go-name": "Context"
        },
        "description": {
          "description": "Description provides a brief description of the status",
          "type": "string",
          "x-go-name": "Description"
        },
        "state": {
          "description": "State represents the status state to set (pending, success, error, failure)\npending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "type": "string",
          "enum": [
            "pending",
            "success",
            "error",
            "failure",
            "warning",
            "skipped"
          ],
          "x-go-enum-desc": "pending CommitStatusPending  CommitStatusPending is for when the CommitStatus is Pending\nsuccess CommitStatusSuccess  CommitStatusSuccess is for when the CommitStatus is Success\nerror CommitStatusError  CommitStatusError is for when the CommitStatus is Error\nfailure CommitStatusFailure  CommitStatusFailure is for when the CommitStatus is Failure\nwarning CommitStatusWarning  CommitStatusWarning is for when the CommitStatus is Warning\nskipped CommitStatusSkipped  CommitStatusSkipped is for when CommitStatus is Skipped",
          "x-go-name": "State"
        },
        "target_url": {
          "description": "TargetURL is the URL to link to for more details",
          "type": "string",
          "x-go-name": "TargetURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateTagOption": {
      "description": "CreateTagOption options when creating a tag",
      "type": "object",
      "required": [
        "tag_name"
      ],
      "properties": {
        "message": {
          "description": "The message to associate with the tag",
          "type": "string",
          "x-go-name": "Message"
        },
        "tag_name": {
          "type": "string",
          "x-go-name": "TagName"
        },
        "target": {
          "description": "The target commit SHA or branch name for the tag",
          "type": "string",
          "x-go-name": "Target"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateTagProtectionOption": {
      "description": "CreateTagProtectionOption options for creating a tag protection",
      "type": "object",
      "properties": {
        "name_pattern": {
          "description": "The pattern to match tag names for protection",
          "type": "string",
          "x-go-name": "NamePattern"
        },
        "whitelist_teams": {
          "description": "List of team names allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistTeams"
        },
        "whitelist_usernames": {
          "description": "List of usernames allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistUsernames"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateTeamOption": {
      "description": "CreateTeamOption options for creating a team",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "can_create_org_repo": {
          "description": "Whether the team can create repositories in the organization",
          "type": "boolean",
          "x-go-name": "CanCreateOrgRepo"
        },
        "description": {
          "description": "The description of the team",
          "type": "string",
          "x-go-name": "Description"
        },
        "includes_all_repositories": {
          "description": "Whether the team has access to all repositories in the organization",
          "type": "boolean",
          "x-go-name": "IncludesAllRepositories"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "permission": {
          "type": "string",
          "enum": [
            "read",
            "write",
            "admin"
          ],
          "x-go-name": "Permission"
        },
        "units": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Units",
          "example": [
            "repo.actions",
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.ext_wiki",
            "repo.pulls",
            "repo.releases",
            "repo.projects",
            "repo.ext_wiki"
          ]
        },
        "units_map": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "UnitsMap",
          "example": "{\"repo.actions\",\"repo.packages\",\"repo.code\":\"read\",\"repo.issues\":\"write\",\"repo.ext_issues\":\"none\",\"repo.wiki\":\"admin\",\"repo.pulls\":\"owner\",\"repo.releases\":\"none\",\"repo.projects\":\"none\",\"repo.ext_wiki\":\"none\"}"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateUserOption": {
      "description": "CreateUserOption create user options",
      "type": "object",
      "required": [
        "username",
        "email"
      ],
      "properties": {
        "created_at": {
          "description": "For explicitly setting the user creation timestamp. Useful when users are\nmigrated from other systems. When omitted, the user's creation timestamp\nwill be set to \"now\".",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "The full display name of the user",
          "type": "string",
          "x-go-name": "FullName"
        },
        "login_name": {
          "description": "identifier of the user, provided by the external authenticator (if configured)",
          "type": "string",
          "default": "empty",
          "x-go-name": "LoginName"
        },
        "must_change_password": {
          "description": "Whether the user must change password on first login",
          "type": "boolean",
          "x-go-name": "MustChangePassword"
        },
        "password": {
          "description": "The plain text password for the user",
          "type": "string",
          "x-go-name": "Password"
        },
        "restricted": {
          "description": "Whether the user has restricted access privileges",
          "type": "boolean",
          "x-go-name": "Restricted"
        },
        "send_notify": {
          "description": "Whether to send welcome notification email to the user",
          "type": "boolean",
          "x-go-name": "SendNotify"
        },
        "source_id": {
          "description": "The authentication source ID to associate with the user",
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "username": {
          "description": "username of the user",
          "type": "string",
          "x-go-name": "Username"
        },
        "visibility": {
          "description": "User visibility level: public, limited, or private",
          "type": "string",
          "x-go-name": "Visibility"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateVariableOption": {
      "description": "CreateVariableOption the option when creating variable",
      "type": "object",
      "required": [
        "value"
      ],
      "properties": {
        "description": {
          "description": "Description of the variable to create",
          "type": "string",
          "x-go-name": "Description"
        },
        "value": {
          "description": "Value of the variable to create",
          "type": "string",
          "x-go-name": "Value"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "CreateWikiPageOptions": {
      "description": "CreateWikiPageOptions form for creating wiki",
      "type": "object",
      "properties": {
        "content_base64": {
          "description": "content must be base64 encoded",
          "type": "string",
          "x-go-name": "ContentBase64"
        },
        "message": {
          "description": "optional commit message summarizing the change",
          "type": "string",
          "x-go-name": "Message"
        },
        "title": {
          "description": "page title. leave empty to keep unchanged",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Cron": {
      "description": "Cron represents a Cron task",
      "type": "object",
      "properties": {
        "exec_times": {
          "description": "The total number of times this cron task has been executed",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ExecTimes"
        },
        "name": {
          "description": "The name of the cron task",
          "type": "string",
          "x-go-name": "Name"
        },
        "next": {
          "description": "The next scheduled execution time",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Next"
        },
        "prev": {
          "description": "The previous execution time",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Prev"
        },
        "schedule": {
          "description": "The cron schedule expression (e.g., \"0 0 * * *\")",
          "type": "string",
          "x-go-name": "Schedule"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "DeleteFileOptions": {
      "description": "DeleteFileOptions options for deleting a file\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
      "type": "object",
      "required": [
        "sha"
      ],
      "properties": {
        "author": {
          "$ref": "#/definitions/Identity"
        },
        "branch": {
          "description": "branch (optional) is the base branch for the changes. If not supplied, the default branch is used",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "committer": {
          "$ref": "#/definitions/Identity"
        },
        "dates": {
          "$ref": "#/definitions/CommitDateOptions"
        },
        "force_push": {
          "description": "force_push (optional) will do a force-push if the new branch already exists",
          "type": "boolean",
          "x-go-name": "ForcePush"
        },
        "message": {
          "description": "message (optional) is the commit message of the changes. If not supplied, a default message will be used",
          "type": "string",
          "x-go-name": "Message"
        },
        "new_branch": {
          "description": "new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch",
          "type": "string",
          "x-go-name": "NewBranchName"
        },
        "sha": {
          "description": "the blob ID (SHA) for the file to delete",
          "type": "string",
          "x-go-name": "SHA"
        },
        "signoff": {
          "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
          "type": "boolean",
          "x-go-name": "Signoff"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "DeployKey": {
      "description": "DeployKey a deploy key",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "fingerprint": {
          "description": "Fingerprint is the key's fingerprint",
          "type": "string",
          "x-go-name": "Fingerprint"
        },
        "id": {
          "description": "ID is the unique identifier for the deploy key",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "description": "Key contains the actual SSH key content",
          "type": "string",
          "x-go-name": "Key"
        },
        "key_id": {
          "description": "KeyID is the associated public key ID",
          "type": "integer",
          "format": "int64",
          "x-go-name": "KeyID"
        },
        "read_only": {
          "description": "ReadOnly indicates if the key has read-only access",
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "title": {
          "description": "Title is the human-readable name for the key",
          "type": "string",
          "x-go-name": "Title"
        },
        "url": {
          "description": "URL is the API URL for this deploy key",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "DismissPullReviewOptions": {
      "description": "DismissPullReviewOptions are options to dismiss a pull request review",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "x-go-name": "Message"
        },
        "priors": {
          "type": "boolean",
          "x-go-name": "Priors"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditActionRunnerOption": {
      "type": "object",
      "title": "EditActionRunnerOption represents the editable fields for a runner.",
      "required": [
        "disabled"
      ],
      "properties": {
        "disabled": {
          "type": "boolean",
          "x-go-name": "Disabled"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditAttachmentOptions": {
      "description": "EditAttachmentOptions options for editing attachments",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name is the new filename for the attachment",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditBranchProtectionOption": {
      "description": "EditBranchProtectionOption options for editing a branch protection",
      "type": "object",
      "properties": {
        "approvals_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistTeams"
        },
        "approvals_whitelist_username": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ApprovalsWhitelistUsernames"
        },
        "block_admin_merge_override": {
          "type": "boolean",
          "x-go-name": "BlockAdminMergeOverride"
        },
        "block_on_official_review_requests": {
          "type": "boolean",
          "x-go-name": "BlockOnOfficialReviewRequests"
        },
        "block_on_outdated_branch": {
          "type": "boolean",
          "x-go-name": "BlockOnOutdatedBranch"
        },
        "block_on_rejected_reviews": {
          "type": "boolean",
          "x-go-name": "BlockOnRejectedReviews"
        },
        "dismiss_stale_approvals": {
          "type": "boolean",
          "x-go-name": "DismissStaleApprovals"
        },
        "enable_approvals_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableApprovalsWhitelist"
        },
        "enable_force_push": {
          "type": "boolean",
          "x-go-name": "EnableForcePush"
        },
        "enable_force_push_allowlist": {
          "type": "boolean",
          "x-go-name": "EnableForcePushAllowlist"
        },
        "enable_merge_whitelist": {
          "type": "boolean",
          "x-go-name": "EnableMergeWhitelist"
        },
        "enable_push": {
          "type": "boolean",
          "x-go-name": "EnablePush"
        },
        "enable_push_whitelist": {
          "type": "boolean",
          "x-go-name": "EnablePushWhitelist"
        },
        "enable_status_check": {
          "type": "boolean",
          "x-go-name": "EnableStatusCheck"
        },
        "force_push_allowlist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "ForcePushAllowlistDeployKeys"
        },
        "force_push_allowlist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistTeams"
        },
        "force_push_allowlist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ForcePushAllowlistUsernames"
        },
        "ignore_stale_approvals": {
          "type": "boolean",
          "x-go-name": "IgnoreStaleApprovals"
        },
        "merge_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistTeams"
        },
        "merge_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "MergeWhitelistUsernames"
        },
        "priority": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Priority"
        },
        "protected_file_patterns": {
          "type": "string",
          "x-go-name": "ProtectedFilePatterns"
        },
        "push_whitelist_deploy_keys": {
          "type": "boolean",
          "x-go-name": "PushWhitelistDeployKeys"
        },
        "push_whitelist_teams": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistTeams"
        },
        "push_whitelist_usernames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "PushWhitelistUsernames"
        },
        "require_signed_commits": {
          "type": "boolean",
          "x-go-name": "RequireSignedCommits"
        },
        "required_approvals": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RequiredApprovals"
        },
        "status_check_contexts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "StatusCheckContexts"
        },
        "unprotected_file_patterns": {
          "type": "string",
          "x-go-name": "UnprotectedFilePatterns"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "EditGitHookOption": {
      "description": "EditGitHookOption options when modifying one Git hook",
      "type": "object",
      "properties": {
        "content": {
          "description": "Content is the new script content for the hook",
          "type": "string",
          "x-go-name": "Content"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditHookOption": {
      "description": "EditHookOption options when modify one hook",
      "type": "object",
      "properties": {
        "active": {
          "description": "Whether the webhook is active and will be triggered",
          "type": "boolean",
          "x-go-name": "Active"
        },
        "authorization_header": {
          "description": "Authorization header to include in webhook requests",
          "type": "string",
          "x-go-name": "AuthorizationHeader"
        },
        "branch_filter": {
          "description": "Branch filter pattern to determine which branches trigger the webhook",
          "type": "string",
          "x-go-name": "BranchFilter"
        },
        "config": {
          "description": "Configuration settings for the webhook",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "Config"
        },
        "events": {
          "description": "List of events that trigger this webhook",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Events"
        },
        "name": {
          "description": "Optional human-readable name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "EditIssueOption": {
      "description": "EditIssueOption options for editing an issue",
      "type": "object",
      "properties": {
        "assignee": {
          "description": "deprecated",
          "type": "string",
          "x-go-name": "Assignee"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "content_version": {
          "description": "The current version of the issue content to detect conflicts during editing",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentVersion"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "milestone": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "state": {
          "type": "string",
          "x-go-name": "State"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        },
        "unset_due_date": {
          "type": "boolean",
          "x-go-name": "RemoveDeadline"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditLabelOption": {
      "description": "EditLabelOption options for editing a label",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "#00aabb"
        },
        "description": {
          "description": "Description provides additional context about the label's purpose",
          "type": "string",
          "x-go-name": "Description"
        },
        "exclusive": {
          "type": "boolean",
          "x-go-name": "Exclusive",
          "example": false
        },
        "is_archived": {
          "type": "boolean",
          "x-go-name": "IsArchived",
          "example": false
        },
        "name": {
          "description": "Name is the new display name for the label",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditMilestoneOption": {
      "description": "EditMilestoneOption options for editing a milestone",
      "type": "object",
      "properties": {
        "description": {
          "description": "Description provides updated details about the milestone",
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "description": "Deadline is the updated due date for the milestone",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "state": {
          "description": "State indicates the updated state of the milestone",
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "x-go-name": "State"
        },
        "title": {
          "description": "Title is the updated title of the milestone",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditOrgOption": {
      "description": "EditOrgOption options for editing an organization",
      "type": "object",
      "properties": {
        "description": {
          "description": "The description of the organization",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "description": "The email address of the organization; use empty string to clear",
          "type": "string",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "The full display name of the organization",
          "type": "string",
          "x-go-name": "FullName"
        },
        "location": {
          "description": "The location of the organization",
          "type": "string",
          "x-go-name": "Location"
        },
        "repo_admin_change_team_access": {
          "description": "Whether repository administrators can change team access",
          "type": "boolean",
          "x-go-name": "RepoAdminChangeTeamAccess"
        },
        "visibility": {
          "description": "possible values are `public`, `limited` or `private`",
          "type": "string",
          "enum": [
            "public",
            "limited",
            "private"
          ],
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "The website URL of the organization",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditPullRequestOption": {
      "description": "EditPullRequestOption options when modify pull request",
      "type": "object",
      "properties": {
        "allow_maintainer_edit": {
          "description": "Whether to allow maintainer edits",
          "type": "boolean",
          "x-go-name": "AllowMaintainerEdit"
        },
        "assignee": {
          "description": "The new primary assignee username",
          "type": "string",
          "x-go-name": "Assignee"
        },
        "assignees": {
          "description": "The new list of assignee usernames",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Assignees"
        },
        "base": {
          "description": "The new base branch for the pull request",
          "type": "string",
          "x-go-name": "Base"
        },
        "body": {
          "description": "The new description body for the pull request",
          "type": "string",
          "x-go-name": "Body"
        },
        "content_version": {
          "description": "The current version of the pull request content to detect conflicts during editing",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentVersion"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "labels": {
          "description": "The new list of label IDs for the pull request",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "description": "The new milestone ID for the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Milestone"
        },
        "state": {
          "description": "The new state for the pull request",
          "type": "string",
          "x-go-name": "State"
        },
        "title": {
          "description": "The new title for the pull request",
          "type": "string",
          "x-go-name": "Title"
        },
        "unset_due_date": {
          "description": "Whether to remove the current deadline",
          "type": "boolean",
          "x-go-name": "RemoveDeadline"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditReactionOption": {
      "description": "EditReactionOption contain the reaction type",
      "type": "object",
      "properties": {
        "content": {
          "description": "The reaction content (e.g., emoji or reaction type)",
          "type": "string",
          "x-go-name": "Reaction"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditReleaseOption": {
      "description": "EditReleaseOption options when editing a release",
      "type": "object",
      "properties": {
        "body": {
          "description": "The new release notes or description",
          "type": "string",
          "x-go-name": "Note"
        },
        "draft": {
          "description": "Whether to change the draft status",
          "type": "boolean",
          "x-go-name": "IsDraft"
        },
        "name": {
          "description": "The new display title of the release",
          "type": "string",
          "x-go-name": "Title"
        },
        "prerelease": {
          "description": "Whether to change the prerelease status",
          "type": "boolean",
          "x-go-name": "IsPrerelease"
        },
        "tag_name": {
          "description": "The new name of the git tag",
          "type": "string",
          "x-go-name": "TagName"
        },
        "target_commitish": {
          "description": "The new target commitish for the release",
          "type": "string",
          "x-go-name": "Target"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditRepoOption": {
      "description": "EditRepoOption options when editing a repository's properties",
      "type": "object",
      "properties": {
        "allow_fast_forward_only_merge": {
          "description": "either `true` to allow fast-forward-only merging pull requests, or `false` to prevent fast-forward-only merging.",
          "type": "boolean",
          "x-go-name": "AllowFastForwardOnly"
        },
        "allow_manual_merge": {
          "description": "either `true` to allow mark pr as merged manually, or `false` to prevent it.",
          "type": "boolean",
          "x-go-name": "AllowManualMerge"
        },
        "allow_merge_commits": {
          "description": "either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.",
          "type": "boolean",
          "x-go-name": "AllowMerge"
        },
        "allow_rebase": {
          "description": "either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.",
          "type": "boolean",
          "x-go-name": "AllowRebase"
        },
        "allow_rebase_explicit": {
          "description": "either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.",
          "type": "boolean",
          "x-go-name": "AllowRebaseMerge"
        },
        "allow_rebase_update": {
          "description": "either `true` to allow updating pull request branch by rebase, or `false` to prevent it.",
          "type": "boolean",
          "x-go-name": "AllowRebaseUpdate"
        },
        "allow_squash_merge": {
          "description": "either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.",
          "type": "boolean",
          "x-go-name": "AllowSquash"
        },
        "archived": {
          "description": "set to `true` to archive this repository.",
          "type": "boolean",
          "x-go-name": "Archived"
        },
        "autodetect_manual_merge": {
          "description": "either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur.",
          "type": "boolean",
          "x-go-name": "AutodetectManualMerge"
        },
        "default_allow_maintainer_edit": {
          "description": "set to `true` to allow edits from maintainers by default",
          "type": "boolean",
          "x-go-name": "DefaultAllowMaintainerEdit"
        },
        "default_branch": {
          "description": "sets the default branch for this repository.",
          "type": "string",
          "x-go-name": "DefaultBranch"
        },
        "default_delete_branch_after_merge": {
          "description": "set to `true` to delete pr branch after merge by default",
          "type": "boolean",
          "x-go-name": "DefaultDeleteBranchAfterMerge"
        },
        "default_merge_style": {
          "description": "set to a merge style to be used by this repository: \"merge\", \"rebase\", \"rebase-merge\", \"squash\", or \"fast-forward-only\".",
          "type": "string",
          "x-go-name": "DefaultMergeStyle"
        },
        "description": {
          "description": "a short description of the repository.",
          "type": "string",
          "x-go-name": "Description"
        },
        "enable_prune": {
          "description": "enable prune - remove obsolete remote-tracking references when mirroring",
          "type": "boolean",
          "x-go-name": "EnablePrune"
        },
        "external_tracker": {
          "$ref": "#/definitions/ExternalTracker"
        },
        "external_wiki": {
          "$ref": "#/definitions/ExternalWiki"
        },
        "has_actions": {
          "description": "either `true` to enable actions unit, or `false` to disable them.",
          "type": "boolean",
          "x-go-name": "HasActions"
        },
        "has_code": {
          "description": "either `true` to enable code for this repository or `false` to disable it.",
          "type": "boolean",
          "x-go-name": "HasCode"
        },
        "has_issues": {
          "description": "either `true` to enable issues for this repository or `false` to disable them.",
          "type": "boolean",
          "x-go-name": "HasIssues"
        },
        "has_packages": {
          "description": "either `true` to enable packages unit, or `false` to disable them.",
          "type": "boolean",
          "x-go-name": "HasPackages"
        },
        "has_projects": {
          "description": "either `true` to enable project unit, or `false` to disable them.",
          "type": "boolean",
          "x-go-name": "HasProjects"
        },
        "has_pull_requests": {
          "description": "either `true` to allow pull requests, or `false` to prevent pull request.",
          "type": "boolean",
          "x-go-name": "HasPullRequests"
        },
        "has_releases": {
          "description": "either `true` to enable releases unit, or `false` to disable them.",
          "type": "boolean",
          "x-go-name": "HasReleases"
        },
        "has_wiki": {
          "description": "either `true` to enable the wiki for this repository or `false` to disable it.",
          "type": "boolean",
          "x-go-name": "HasWiki"
        },
        "ignore_whitespace_conflicts": {
          "description": "either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.",
          "type": "boolean",
          "x-go-name": "IgnoreWhitespaceConflicts"
        },
        "internal_tracker": {
          "$ref": "#/definitions/InternalTracker"
        },
        "mirror_interval": {
          "description": "set to a string like `8h30m0s` to set the mirror interval time",
          "type": "string",
          "x-go-name": "MirrorInterval"
        },
        "name": {
          "description": "name of the repository",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Name"
        },
        "private": {
          "description": "either `true` to make the repository private or `false` to make it public.\nNote: you will get a 422 error if the organization restricts changing repository visibility to organization\nowners and a non-owner tries to change the value of private.",
          "type": "boolean",
          "x-go-name": "Private"
        },
        "projects_mode": {
          "description": "`repo` to only allow repo-level projects, `owner` to only allow owner projects, `all` to allow both.",
          "type": "string",
          "x-go-name": "ProjectsMode"
        },
        "template": {
          "description": "either `true` to make this repository a template or `false` to make it a normal repository",
          "type": "boolean",
          "x-go-name": "Template"
        },
        "website": {
          "description": "a URL with more information about the repository.",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditTagProtectionOption": {
      "description": "EditTagProtectionOption options for editing a tag protection",
      "type": "object",
      "properties": {
        "name_pattern": {
          "description": "The pattern to match tag names for protection",
          "type": "string",
          "x-go-name": "NamePattern"
        },
        "whitelist_teams": {
          "description": "List of team names allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistTeams"
        },
        "whitelist_usernames": {
          "description": "List of usernames allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistUsernames"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditTeamOption": {
      "description": "EditTeamOption options for editing a team",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "can_create_org_repo": {
          "description": "Whether the team can create repositories in the organization",
          "type": "boolean",
          "x-go-name": "CanCreateOrgRepo"
        },
        "description": {
          "description": "The description of the team",
          "type": "string",
          "x-go-name": "Description"
        },
        "includes_all_repositories": {
          "description": "Whether the team has access to all repositories in the organization",
          "type": "boolean",
          "x-go-name": "IncludesAllRepositories"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "permission": {
          "type": "string",
          "enum": [
            "read",
            "write",
            "admin"
          ],
          "x-go-name": "Permission"
        },
        "units": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Units",
          "example": [
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.pulls",
            "repo.releases",
            "repo.projects",
            "repo.ext_wiki"
          ]
        },
        "units_map": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "UnitsMap",
          "example": {
            "repo.code": "read",
            "repo.ext_issues": "none",
            "repo.ext_wiki": "none",
            "repo.issues": "write",
            "repo.projects": "none",
            "repo.pulls": "owner",
            "repo.releases": "none",
            "repo.wiki": "admin"
          }
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "EditUserOption": {
      "description": "EditUserOption edit user options",
      "type": "object",
      "required": [
        "source_id",
        "login_name"
      ],
      "properties": {
        "active": {
          "description": "Whether the user account is active",
          "type": "boolean",
          "x-go-name": "Active"
        },
        "admin": {
          "description": "Whether the user has administrator privileges",
          "type": "boolean",
          "x-go-name": "Admin"
        },
        "allow_create_organization": {
          "description": "Whether the user can create organizations",
          "type": "boolean",
          "x-go-name": "AllowCreateOrganization"
        },
        "allow_git_hook": {
          "description": "Whether the user can use Git hooks",
          "type": "boolean",
          "x-go-name": "AllowGitHook"
        },
        "allow_import_local": {
          "description": "Whether the user can import local repositories",
          "type": "boolean",
          "x-go-name": "AllowImportLocal"
        },
        "description": {
          "description": "The user's personal description or bio",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "The full display name of the user",
          "type": "string",
          "x-go-name": "FullName"
        },
        "location": {
          "description": "The user's location or address",
          "type": "string",
          "x-go-name": "Location"
        },
        "login_name": {
          "description": "identifier of the user, provided by the external authenticator (if configured)",
          "type": "string",
          "default": "empty",
          "x-go-name": "LoginName"
        },
        "max_repo_creation": {
          "description": "Maximum number of repositories the user can create",
          "type": "integer",
          "format": "int64",
          "x-go-name": "MaxRepoCreation"
        },
        "must_change_password": {
          "description": "Whether the user must change password on next login",
          "type": "boolean",
          "x-go-name": "MustChangePassword"
        },
        "password": {
          "description": "The plain text password for the user",
          "type": "string",
          "x-go-name": "Password"
        },
        "prohibit_login": {
          "description": "Whether the user is prohibited from logging in",
          "type": "boolean",
          "x-go-name": "ProhibitLogin"
        },
        "restricted": {
          "description": "Whether the user has restricted access privileges",
          "type": "boolean",
          "x-go-name": "Restricted"
        },
        "source_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "visibility": {
          "description": "User visibility level: public, limited, or private",
          "type": "string",
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "The user's personal website URL",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Email": {
      "description": "Email an email address belonging to a user",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "primary": {
          "description": "Whether this is the primary email address",
          "type": "boolean",
          "x-go-name": "Primary"
        },
        "user_id": {
          "description": "The unique identifier of the user who owns this email",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UserID"
        },
        "username": {
          "description": "username of the user",
          "type": "string",
          "x-go-name": "UserName"
        },
        "verified": {
          "description": "Whether the email address has been verified",
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ExternalTracker": {
      "description": "ExternalTracker represents settings for external tracker",
      "type": "object",
      "properties": {
        "external_tracker_format": {
          "description": "External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.",
          "type": "string",
          "x-go-name": "ExternalTrackerFormat"
        },
        "external_tracker_regexp_pattern": {
          "description": "External Issue Tracker issue regular expression",
          "type": "string",
          "x-go-name": "ExternalTrackerRegexpPattern"
        },
        "external_tracker_style": {
          "description": "External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`",
          "type": "string",
          "x-go-name": "ExternalTrackerStyle"
        },
        "external_tracker_url": {
          "description": "URL of external issue tracker.",
          "type": "string",
          "x-go-name": "ExternalTrackerURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ExternalWiki": {
      "description": "ExternalWiki represents setting for external wiki",
      "type": "object",
      "properties": {
        "external_wiki_url": {
          "description": "URL of external wiki.",
          "type": "string",
          "x-go-name": "ExternalWikiURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "FileCommitResponse": {
      "type": "object",
      "title": "FileCommitResponse contains information generated from a Git commit for a repo's file.",
      "properties": {
        "author": {
          "$ref": "#/definitions/CommitUser"
        },
        "committer": {
          "$ref": "#/definitions/CommitUser"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing this commit",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "message": {
          "description": "Message is the commit message",
          "type": "string",
          "x-go-name": "Message"
        },
        "parents": {
          "description": "Parents contains parent commit metadata",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CommitMeta"
          },
          "x-go-name": "Parents"
        },
        "sha": {
          "description": "SHA is the commit SHA hash",
          "type": "string",
          "x-go-name": "SHA"
        },
        "tree": {
          "$ref": "#/definitions/CommitMeta"
        },
        "url": {
          "description": "URL is the API URL for the commit",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "FileDeleteResponse": {
      "description": "FileDeleteResponse contains information about a repo's file that was deleted",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/FileCommitResponse"
        },
        "content": {
          "description": "Content is always null for delete operations",
          "x-go-name": "Content"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "FileLinksResponse": {
      "description": "FileLinksResponse contains the links for a repo's file",
      "type": "object",
      "properties": {
        "git": {
          "description": "GitURL is the Git API URL for this file",
          "type": "string",
          "x-go-name": "GitURL"
        },
        "html": {
          "description": "HTMLURL is the web URL for this file",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "self": {
          "description": "Self is the API URL for this file",
          "type": "string",
          "x-go-name": "Self"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "FileResponse": {
      "description": "FileResponse contains information about a repo's file",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/FileCommitResponse"
        },
        "content": {
          "$ref": "#/definitions/ContentsResponse"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "FilesResponse": {
      "description": "FilesResponse contains information about multiple files from a repo",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/FileCommitResponse"
        },
        "files": {
          "description": "Files contains the list of file contents and metadata",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentsResponse"
          },
          "x-go-name": "Files"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GPGKey": {
      "description": "GPGKey a user GPG key to sign commit and tag in repository",
      "type": "object",
      "properties": {
        "can_certify": {
          "description": "Whether the key can be used for certification",
          "type": "boolean",
          "x-go-name": "CanCertify"
        },
        "can_encrypt_comms": {
          "description": "Whether the key can be used for encrypting communications",
          "type": "boolean",
          "x-go-name": "CanEncryptComms"
        },
        "can_encrypt_storage": {
          "description": "Whether the key can be used for encrypting storage",
          "type": "boolean",
          "x-go-name": "CanEncryptStorage"
        },
        "can_sign": {
          "description": "Whether the key can be used for signing",
          "type": "boolean",
          "x-go-name": "CanSign"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "emails": {
          "description": "List of email addresses associated with this GPG key",
          "type": "array",
          "items": {
            "$ref": "#/definitions/GPGKeyEmail"
          },
          "x-go-name": "Emails"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Expires"
        },
        "id": {
          "description": "The unique identifier of the GPG key",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key_id": {
          "description": "The key ID of the GPG key",
          "type": "string",
          "x-go-name": "KeyID"
        },
        "primary_key_id": {
          "description": "The primary key ID of the GPG key",
          "type": "string",
          "x-go-name": "PrimaryKeyID"
        },
        "public_key": {
          "description": "The public key content in armored format",
          "type": "string",
          "x-go-name": "PublicKey"
        },
        "subkeys": {
          "description": "List of subkeys of this GPG key",
          "type": "array",
          "items": {
            "$ref": "#/definitions/GPGKey"
          },
          "x-go-name": "SubsKey"
        },
        "verified": {
          "description": "Whether the GPG key has been verified",
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GPGKeyEmail": {
      "description": "GPGKeyEmail an email attached to a GPGKey",
      "type": "object",
      "properties": {
        "email": {
          "description": "The email address associated with the GPG key",
          "type": "string",
          "x-go-name": "Email"
        },
        "verified": {
          "description": "Whether the email address has been verified",
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GeneralAPISettings": {
      "description": "GeneralAPISettings contains global api settings exposed by it",
      "type": "object",
      "properties": {
        "default_git_trees_per_page": {
          "description": "DefaultGitTreesPerPage is the default number of Git tree items per page",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DefaultGitTreesPerPage"
        },
        "default_max_blob_size": {
          "description": "DefaultMaxBlobSize is the default maximum blob size for API responses",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DefaultMaxBlobSize"
        },
        "default_max_response_size": {
          "description": "DefaultMaxResponseSize is the default maximum response size",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DefaultMaxResponseSize"
        },
        "default_paging_num": {
          "description": "DefaultPagingNum is the default number of items per page",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DefaultPagingNum"
        },
        "max_response_items": {
          "description": "MaxResponseItems is the maximum number of items returned in API responses",
          "type": "integer",
          "format": "int64",
          "x-go-name": "MaxResponseItems"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GeneralAttachmentSettings": {
      "description": "GeneralAttachmentSettings contains global Attachment settings exposed by API",
      "type": "object",
      "properties": {
        "allowed_types": {
          "description": "AllowedTypes contains the allowed file types for attachments",
          "type": "string",
          "x-go-name": "AllowedTypes"
        },
        "enabled": {
          "description": "Enabled indicates if file attachments are enabled",
          "type": "boolean",
          "x-go-name": "Enabled"
        },
        "max_files": {
          "description": "MaxFiles is the maximum number of files per attachment",
          "type": "integer",
          "format": "int64",
          "x-go-name": "MaxFiles"
        },
        "max_size": {
          "description": "MaxSize is the maximum size for individual attachments",
          "type": "integer",
          "format": "int64",
          "x-go-name": "MaxSize"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GeneralRepoSettings": {
      "description": "GeneralRepoSettings contains global repository settings exposed by API",
      "type": "object",
      "properties": {
        "http_git_disabled": {
          "description": "HTTPGitDisabled indicates if HTTP Git operations are disabled",
          "type": "boolean",
          "x-go-name": "HTTPGitDisabled"
        },
        "lfs_disabled": {
          "description": "LFSDisabled indicates if Git LFS support is disabled",
          "type": "boolean",
          "x-go-name": "LFSDisabled"
        },
        "migrations_disabled": {
          "description": "MigrationsDisabled indicates if repository migrations are disabled",
          "type": "boolean",
          "x-go-name": "MigrationsDisabled"
        },
        "mirrors_disabled": {
          "description": "MirrorsDisabled indicates if repository mirroring is disabled",
          "type": "boolean",
          "x-go-name": "MirrorsDisabled"
        },
        "stars_disabled": {
          "description": "StarsDisabled indicates if repository starring is disabled",
          "type": "boolean",
          "x-go-name": "StarsDisabled"
        },
        "time_tracking_disabled": {
          "description": "TimeTrackingDisabled indicates if time tracking is disabled",
          "type": "boolean",
          "x-go-name": "TimeTrackingDisabled"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GeneralUISettings": {
      "description": "GeneralUISettings contains global ui settings exposed by API",
      "type": "object",
      "properties": {
        "allowed_reactions": {
          "description": "AllowedReactions contains the list of allowed emoji reactions",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AllowedReactions"
        },
        "custom_emojis": {
          "description": "CustomEmojis contains the list of custom emojis",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "CustomEmojis"
        },
        "default_theme": {
          "description": "DefaultTheme is the default UI theme",
          "type": "string",
          "x-go-name": "DefaultTheme"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GenerateRepoOption": {
      "description": "GenerateRepoOption options when creating a repository using a template",
      "type": "object",
      "required": [
        "owner",
        "name"
      ],
      "properties": {
        "avatar": {
          "description": "include avatar of the template repo",
          "type": "boolean",
          "x-go-name": "Avatar"
        },
        "default_branch": {
          "description": "Default branch of the new repository",
          "type": "string",
          "x-go-name": "DefaultBranch"
        },
        "description": {
          "description": "Description of the repository to create",
          "type": "string",
          "x-go-name": "Description"
        },
        "git_content": {
          "description": "include git content of default branch in template repo",
          "type": "boolean",
          "x-go-name": "GitContent"
        },
        "git_hooks": {
          "description": "include git hooks in template repo",
          "type": "boolean",
          "x-go-name": "GitHooks"
        },
        "labels": {
          "description": "include labels in template repo",
          "type": "boolean",
          "x-go-name": "Labels"
        },
        "name": {
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Name"
        },
        "owner": {
          "description": "the organization's name or individual user's name who will own the new repository",
          "type": "string",
          "x-go-name": "Owner"
        },
        "private": {
          "description": "Whether the repository is private",
          "type": "boolean",
          "x-go-name": "Private"
        },
        "protected_branch": {
          "description": "include protected branches in template repo",
          "type": "boolean",
          "x-go-name": "ProtectedBranch"
        },
        "topics": {
          "description": "include topics in template repo",
          "type": "boolean",
          "x-go-name": "Topics"
        },
        "webhooks": {
          "description": "include webhooks in template repo",
          "type": "boolean",
          "x-go-name": "Webhooks"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GetFilesOptions": {
      "description": "GetFilesOptions options for retrieving metadate and content of multiple files",
      "type": "object",
      "properties": {
        "files": {
          "description": "Files is the list of file paths to retrieve",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Files"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitBlobResponse": {
      "description": "GitBlobResponse represents a git blob",
      "type": "object",
      "properties": {
        "content": {
          "description": "The content of the git blob (may be base64 encoded)",
          "type": "string",
          "x-go-name": "Content"
        },
        "encoding": {
          "description": "The encoding used for the content (e.g., \"base64\")",
          "type": "string",
          "x-go-name": "Encoding"
        },
        "lfs_oid": {
          "description": "The LFS object ID if this blob is stored in LFS",
          "type": "string",
          "x-go-name": "LfsOid"
        },
        "lfs_size": {
          "description": "The size of the LFS object if this blob is stored in LFS",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LfsSize"
        },
        "sha": {
          "description": "The SHA hash of the git blob",
          "type": "string",
          "x-go-name": "SHA"
        },
        "size": {
          "description": "The size of the git blob in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "url": {
          "description": "The URL to access this git blob",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitEntry": {
      "description": "GitEntry represents a git tree",
      "type": "object",
      "properties": {
        "mode": {
          "description": "Mode is the file mode (permissions)",
          "type": "string",
          "x-go-name": "Mode"
        },
        "path": {
          "description": "Path is the file or directory path",
          "type": "string",
          "x-go-name": "Path"
        },
        "sha": {
          "description": "SHA is the Git object SHA",
          "type": "string",
          "x-go-name": "SHA"
        },
        "size": {
          "description": "Size is the file size in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "type": {
          "description": "Type indicates if this is a file, directory, or symlink",
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "description": "URL is the API URL for this tree entry",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitHook": {
      "description": "GitHook represents a Git repository hook",
      "type": "object",
      "properties": {
        "content": {
          "description": "Content contains the script content of the hook",
          "type": "string",
          "x-go-name": "Content"
        },
        "is_active": {
          "description": "IsActive indicates if the hook is active",
          "type": "boolean",
          "x-go-name": "IsActive"
        },
        "name": {
          "description": "Name is the name of the Git hook",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitObject": {
      "type": "object",
      "title": "GitObject represents a Git object.",
      "properties": {
        "sha": {
          "description": "The SHA hash of the Git object",
          "type": "string",
          "x-go-name": "SHA"
        },
        "type": {
          "description": "The type of the Git object (e.g., commit, tag, tree, blob)",
          "type": "string",
          "x-go-name": "Type"
        },
        "url": {
          "description": "The URL to access this Git object",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitTreeResponse": {
      "description": "GitTreeResponse returns a git tree",
      "type": "object",
      "properties": {
        "page": {
          "description": "Page is the current page number for pagination",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Page"
        },
        "sha": {
          "description": "SHA is the tree object SHA",
          "type": "string",
          "x-go-name": "SHA"
        },
        "total_count": {
          "description": "TotalCount is the total number of entries in the tree",
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "tree": {
          "description": "Entries contains the tree entries (files and directories)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/GitEntry"
          },
          "x-go-name": "Entries"
        },
        "truncated": {
          "description": "Truncated indicates if the response was truncated due to size",
          "type": "boolean",
          "x-go-name": "Truncated"
        },
        "url": {
          "description": "URL is the API URL for this tree",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "GitignoreTemplateInfo": {
      "description": "GitignoreTemplateInfo name and text of a gitignore template",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name is the name of the gitignore template",
          "type": "string",
          "x-go-name": "Name"
        },
        "source": {
          "description": "Source contains the content of the gitignore template",
          "type": "string",
          "x-go-name": "Source"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Hook": {
      "description": "Hook a hook is a web hook when one repository changed",
      "type": "object",
      "properties": {
        "active": {
          "description": "Whether the webhook is active and will be triggered",
          "type": "boolean",
          "x-go-name": "Active"
        },
        "authorization_header": {
          "description": "Authorization header to include in webhook requests",
          "type": "string",
          "x-go-name": "AuthorizationHeader"
        },
        "branch_filter": {
          "description": "Branch filter pattern to determine which branches trigger the webhook",
          "type": "string",
          "x-go-name": "BranchFilter"
        },
        "config": {
          "description": "Configuration settings for the webhook",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "Config"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "events": {
          "description": "List of events that trigger this webhook",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Events"
        },
        "id": {
          "description": "The unique identifier of the webhook",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "Optional human-readable name for the webhook",
          "type": "string",
          "x-go-name": "Name"
        },
        "type": {
          "description": "The type of the webhook (e.g., gitea, slack, discord)",
          "type": "string",
          "x-go-name": "Type"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Identity": {
      "description": "Identity for a person's identity like an author or committer",
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "name": {
          "description": "Name is the person's name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "InternalTracker": {
      "description": "InternalTracker represents settings for internal tracker",
      "type": "object",
      "properties": {
        "allow_only_contributors_to_track_time": {
          "description": "Let only contributors track time (Built-in issue tracker)",
          "type": "boolean",
          "x-go-name": "AllowOnlyContributorsToTrackTime"
        },
        "enable_issue_dependencies": {
          "description": "Enable dependencies for issues and pull requests (Built-in issue tracker)",
          "type": "boolean",
          "x-go-name": "EnableIssueDependencies"
        },
        "enable_time_tracker": {
          "description": "Enable time tracking (Built-in issue tracker)",
          "type": "boolean",
          "x-go-name": "EnableTimeTracker"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Issue": {
      "description": "Issue represents an issue in a repository",
      "type": "object",
      "properties": {
        "assets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-go-name": "Attachments"
        },
        "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"
        },
        "content_version": {
          "description": "The version of the issue content for optimistic locking",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentVersion"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_locked": {
          "type": "boolean",
          "x-go-name": "IsLocked"
        },
        "labels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Label"
          },
          "x-go-name": "Labels"
        },
        "milestone": {
          "$ref": "#/definitions/Milestone"
        },
        "number": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Index"
        },
        "original_author": {
          "type": "string",
          "x-go-name": "OriginalAuthor"
        },
        "original_author_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OriginalAuthorID"
        },
        "pin_order": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "PinOrder"
        },
        "pull_request": {
          "$ref": "#/definitions/PullRequestMeta"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "repository": {
          "$ref": "#/definitions/RepositoryMeta"
        },
        "state": {
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "x-go-enum-desc": "open StateOpen  StateOpen pr is opened\nclosed StateClosed  StateClosed pr is closed",
          "x-go-name": "State"
        },
        "time_estimate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TimeEstimate"
        },
        "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/modules/structs"
    },
    "IssueConfig": {
      "type": "object",
      "properties": {
        "blank_issues_enabled": {
          "type": "boolean",
          "x-go-name": "BlankIssuesEnabled"
        },
        "contact_links": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IssueConfigContactLink"
          },
          "x-go-name": "ContactLinks"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueConfigContactLink": {
      "type": "object",
      "properties": {
        "about": {
          "type": "string",
          "x-go-name": "About"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueConfigValidation": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "x-go-name": "Message"
        },
        "valid": {
          "type": "boolean",
          "x-go-name": "Valid"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "IssueFormField": {
      "description": "IssueFormField represents a form field",
      "type": "object",
      "properties": {
        "attributes": {
          "type": "object",
          "additionalProperties": {},
          "x-go-name": "Attributes"
        },
        "id": {
          "type": "string",
          "x-go-name": "ID"
        },
        "type": {
          "type": "string",
          "enum": [
            "markdown",
            "textarea",
            "input",
            "dropdown",
            "checkboxes"
          ],
          "x-go-enum-desc": "markdown IssueFormFieldTypeMarkdown\ntextarea IssueFormFieldTypeTextarea\ninput IssueFormFieldTypeInput\ndropdown IssueFormFieldTypeDropdown\ncheckboxes IssueFormFieldTypeCheckboxes",
          "x-go-name": "Type"
        },
        "validations": {
          "type": "object",
          "additionalProperties": {},
          "x-go-name": "Validations"
        },
        "visible": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "form",
              "content"
            ],
            "x-go-enum-desc": "form IssueFormFieldVisibleForm\ncontent IssueFormFieldVisibleContent"
          },
          "x-go-name": "Visible"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueLabelsOption": {
      "description": "IssueLabelsOption a collection of labels",
      "type": "object",
      "properties": {
        "labels": {
          "description": "Labels can be a list of integers representing label IDs\nor a list of strings representing label names",
          "type": "array",
          "items": {},
          "x-go-name": "Labels"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueMeta": {
      "description": "IssueMeta basic issue information",
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Index"
        },
        "owner": {
          "description": "owner of the issue's repo",
          "type": "string",
          "x-go-name": "Owner"
        },
        "repo": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueTemplate": {
      "description": "IssueTemplate represents an issue template for a repository",
      "type": "object",
      "properties": {
        "about": {
          "type": "string",
          "x-go-name": "About"
        },
        "assignees": {
          "$ref": "#/definitions/IssueTemplateStringSlice"
        },
        "body": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IssueFormField"
          },
          "x-go-name": "Fields"
        },
        "content": {
          "type": "string",
          "x-go-name": "Content"
        },
        "file_name": {
          "type": "string",
          "x-go-name": "FileName"
        },
        "labels": {
          "$ref": "#/definitions/IssueTemplateStringSlice"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "ref": {
          "type": "string",
          "x-go-name": "Ref"
        },
        "title": {
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "IssueTemplateStringSlice": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Label": {
      "description": "Label a label to an issue or a pr",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "00aabb"
        },
        "description": {
          "description": "Description provides additional context about the label's purpose",
          "type": "string",
          "x-go-name": "Description"
        },
        "exclusive": {
          "type": "boolean",
          "x-go-name": "Exclusive",
          "example": false
        },
        "id": {
          "description": "ID is the unique identifier for the label",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_archived": {
          "type": "boolean",
          "x-go-name": "IsArchived",
          "example": false
        },
        "name": {
          "description": "Name is the display name of the label",
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "description": "URL is the API endpoint for accessing this label",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "LabelTemplate": {
      "description": "LabelTemplate info of a Label template",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "x-go-name": "Color",
          "example": "00aabb"
        },
        "description": {
          "description": "Description provides additional context about the label template's purpose",
          "type": "string",
          "x-go-name": "Description"
        },
        "exclusive": {
          "type": "boolean",
          "x-go-name": "Exclusive",
          "example": false
        },
        "name": {
          "description": "Name is the display name of the label template",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "LicenseTemplateInfo": {
      "description": "LicensesInfo contains information about a License",
      "type": "object",
      "properties": {
        "body": {
          "description": "Body contains the full text of the license",
          "type": "string",
          "x-go-name": "Body"
        },
        "implementation": {
          "description": "Implementation contains license implementation details",
          "type": "string",
          "x-go-name": "Implementation"
        },
        "key": {
          "description": "Key is the unique identifier for the license template",
          "type": "string",
          "x-go-name": "Key"
        },
        "name": {
          "description": "Name is the display name of the license",
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "description": "URL is the reference URL for the license",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "LicensesTemplateListEntry": {
      "description": "LicensesListEntry is used for the API",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is the unique identifier for the license template",
          "type": "string",
          "x-go-name": "Key"
        },
        "name": {
          "description": "Name is the display name of the license",
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "description": "URL is the reference URL for the license",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "LockIssueOption": {
      "description": "LockIssueOption options to lock an issue",
      "type": "object",
      "properties": {
        "lock_reason": {
          "type": "string",
          "x-go-name": "Reason"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "MarkdownOption": {
      "description": "MarkdownOption markdown options",
      "type": "object",
      "properties": {
        "Context": {
          "description": "URL path for rendering issue, media and file links\nExpected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}\n\nin: body",
          "type": "string"
        },
        "Mode": {
          "description": "Mode to render (markdown, comment, wiki, file)\n\nin: body",
          "type": "string"
        },
        "Text": {
          "description": "Text markdown to render\n\nin: body",
          "type": "string"
        },
        "Wiki": {
          "description": "Is it a wiki page? (use mode=wiki instead)\n\nDeprecated: true\nin: body",
          "type": "boolean"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "MarkupOption": {
      "description": "MarkupOption markup options",
      "type": "object",
      "properties": {
        "Context": {
          "description": "URL path for rendering issue, media and file links\nExpected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}\n\nin: body",
          "type": "string"
        },
        "FilePath": {
          "description": "File path for detecting extension in file mode\n\nin: body",
          "type": "string"
        },
        "Mode": {
          "description": "Mode to render (markdown, comment, wiki, file)\n\nin: body",
          "type": "string"
        },
        "Text": {
          "description": "Text markup to render\n\nin: body",
          "type": "string"
        },
        "Wiki": {
          "description": "Is it a wiki page? (use mode=wiki instead)\n\nDeprecated: true\nin: body",
          "type": "boolean"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "MergePullRequestOption": {
      "description": "MergePullRequestForm form for merging Pull Request",
      "type": "object",
      "required": [
        "do"
      ],
      "properties": {
        "delete_branch_after_merge": {
          "type": "boolean",
          "x-go-name": "DeleteBranchAfterMerge"
        },
        "do": {
          "type": "string",
          "enum": [
            "merge",
            "rebase",
            "rebase-merge",
            "squash",
            "fast-forward-only",
            "manually-merged"
          ],
          "x-go-name": "Do"
        },
        "force_merge": {
          "type": "boolean",
          "x-go-name": "ForceMerge"
        },
        "head_commit_id": {
          "type": "string",
          "x-go-name": "HeadCommitID"
        },
        "merge_commit_id": {
          "type": "string",
          "x-go-name": "MergeCommitID"
        },
        "merge_message_field": {
          "type": "string",
          "x-go-name": "MergeMessageField"
        },
        "merge_title_field": {
          "type": "string",
          "x-go-name": "MergeTitleField"
        },
        "merge_when_checks_succeed": {
          "type": "boolean",
          "x-go-name": "MergeWhenChecksSucceed"
        }
      },
      "x-go-name": "MergePullRequestForm",
      "x-go-package": "code.gitea.io/gitea/services/forms"
    },
    "MergeUpstreamRequest": {
      "type": "object",
      "properties": {
        "branch": {
          "type": "string",
          "x-go-name": "Branch"
        },
        "ff_only": {
          "type": "boolean",
          "x-go-name": "FfOnly"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "MergeUpstreamResponse": {
      "type": "object",
      "properties": {
        "merge_type": {
          "type": "string",
          "x-go-name": "MergeStyle"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "MigrateRepoOptions": {
      "description": "MigrateRepoOptions options for migrating repository's\nthis is used to interact with api v1",
      "type": "object",
      "required": [
        "clone_addr",
        "repo_name"
      ],
      "properties": {
        "auth_password": {
          "type": "string",
          "x-go-name": "AuthPassword"
        },
        "auth_token": {
          "type": "string",
          "x-go-name": "AuthToken"
        },
        "auth_username": {
          "type": "string",
          "x-go-name": "AuthUsername"
        },
        "aws_access_key_id": {
          "type": "string",
          "x-go-name": "AWSAccessKeyID"
        },
        "aws_secret_access_key": {
          "type": "string",
          "x-go-name": "AWSSecretAccessKey"
        },
        "clone_addr": {
          "type": "string",
          "x-go-name": "CloneAddr"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "issues": {
          "type": "boolean",
          "x-go-name": "Issues"
        },
        "labels": {
          "type": "boolean",
          "x-go-name": "Labels"
        },
        "lfs": {
          "type": "boolean",
          "x-go-name": "LFS"
        },
        "lfs_endpoint": {
          "type": "string",
          "x-go-name": "LFSEndpoint"
        },
        "milestones": {
          "type": "boolean",
          "x-go-name": "Milestones"
        },
        "mirror": {
          "type": "boolean",
          "x-go-name": "Mirror"
        },
        "mirror_interval": {
          "type": "string",
          "x-go-name": "MirrorInterval"
        },
        "private": {
          "type": "boolean",
          "x-go-name": "Private"
        },
        "pull_requests": {
          "type": "boolean",
          "x-go-name": "PullRequests"
        },
        "releases": {
          "type": "boolean",
          "x-go-name": "Releases"
        },
        "repo_name": {
          "type": "string",
          "x-go-name": "RepoName"
        },
        "repo_owner": {
          "description": "the organization's name or individual user's name who will own the migrated repository",
          "type": "string",
          "x-go-name": "RepoOwner"
        },
        "service": {
          "type": "string",
          "enum": [
            "git",
            "github",
            "gitea",
            "gitlab",
            "gogs",
            "onedev",
            "gitbucket",
            "codebase",
            "codecommit"
          ],
          "x-go-name": "Service"
        },
        "uid": {
          "description": "deprecated (only for backwards compatibility, use repo_owner instead)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoOwnerID"
        },
        "wiki": {
          "type": "boolean",
          "x-go-name": "Wiki"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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": {
          "description": "ClosedIssues is the number of closed issues in this milestone",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ClosedIssues"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "description": {
          "description": "Description provides details about the milestone",
          "type": "string",
          "x-go-name": "Description"
        },
        "due_on": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "id": {
          "description": "ID is the unique identifier for the milestone",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "open_issues": {
          "description": "OpenIssues is the number of open issues in this milestone",
          "type": "integer",
          "format": "int64",
          "x-go-name": "OpenIssues"
        },
        "state": {
          "description": "State indicates if the milestone is open or closed\nopen StateOpen  StateOpen pr is opened\nclosed StateClosed  StateClosed pr is closed",
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "x-go-enum-desc": "open StateOpen  StateOpen pr is opened\nclosed StateClosed  StateClosed pr is closed",
          "x-go-name": "State"
        },
        "title": {
          "description": "Title is the title of the milestone",
          "type": "string",
          "x-go-name": "Title"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NewIssuePinsAllowed": {
      "description": "NewIssuePinsAllowed represents an API response that says if new Issue Pins are allowed",
      "type": "object",
      "properties": {
        "issues": {
          "type": "boolean",
          "x-go-name": "Issues"
        },
        "pull_requests": {
          "type": "boolean",
          "x-go-name": "PullRequests"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NodeInfo": {
      "description": "NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks",
      "type": "object",
      "properties": {
        "metadata": {
          "description": "Metadata contains free form key value pairs for software specific values",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "openRegistrations": {
          "description": "OpenRegistrations indicates if new user registrations are accepted",
          "type": "boolean",
          "x-go-name": "OpenRegistrations"
        },
        "protocols": {
          "description": "Protocols lists the protocols supported by this server",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Protocols"
        },
        "services": {
          "$ref": "#/definitions/NodeInfoServices"
        },
        "software": {
          "$ref": "#/definitions/NodeInfoSoftware"
        },
        "usage": {
          "$ref": "#/definitions/NodeInfoUsage"
        },
        "version": {
          "description": "Version specifies the schema version",
          "type": "string",
          "x-go-name": "Version"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NodeInfoServices": {
      "description": "NodeInfoServices contains the third party sites this server can connect to via their application API",
      "type": "object",
      "properties": {
        "inbound": {
          "description": "Inbound lists services that can deliver content to this server",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Inbound"
        },
        "outbound": {
          "description": "Outbound lists services this server can deliver content to",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Outbound"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NodeInfoSoftware": {
      "description": "NodeInfoSoftware contains Metadata about server software in use",
      "type": "object",
      "properties": {
        "homepage": {
          "description": "Homepage is the URL to the homepage of this server software",
          "type": "string",
          "x-go-name": "Homepage"
        },
        "name": {
          "description": "Name is the canonical name of this server software",
          "type": "string",
          "x-go-name": "Name"
        },
        "repository": {
          "description": "Repository is the URL to the source code repository",
          "type": "string",
          "x-go-name": "Repository"
        },
        "version": {
          "description": "Version is the version of this server software",
          "type": "string",
          "x-go-name": "Version"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NodeInfoUsage": {
      "description": "NodeInfoUsage contains usage statistics for this server",
      "type": "object",
      "properties": {
        "localComments": {
          "description": "LocalComments is the total amount of comments made by users local to this server",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LocalComments"
        },
        "localPosts": {
          "description": "LocalPosts is the total amount of posts made by users local to this server",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LocalPosts"
        },
        "users": {
          "$ref": "#/definitions/NodeInfoUsageUsers"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NodeInfoUsageUsers": {
      "description": "NodeInfoUsageUsers contains statistics about the users of this server",
      "type": "object",
      "properties": {
        "activeHalfyear": {
          "description": "ActiveHalfyear is the amount of users that signed in at least once in the last 180 days",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ActiveHalfyear"
        },
        "activeMonth": {
          "description": "ActiveMonth is the amount of users that signed in at least once in the last 30 days",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ActiveMonth"
        },
        "total": {
          "description": "Total is the total amount of users on this server",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Total"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Note": {
      "description": "Note contains information related to a git note",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/Commit"
        },
        "message": {
          "description": "The content message of the git note",
          "type": "string",
          "x-go-name": "Message"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NotificationCount": {
      "description": "NotificationCount number of unread notifications",
      "type": "object",
      "properties": {
        "new": {
          "description": "New is the number of unread notifications",
          "type": "integer",
          "format": "int64",
          "x-go-name": "New"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NotificationSubject": {
      "description": "NotificationSubject contains the notification subject (Issue/Pull/Commit)",
      "type": "object",
      "properties": {
        "html_url": {
          "description": "HTMLURL is the web URL for the notification subject",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "latest_comment_html_url": {
          "description": "LatestCommentHTMLURL is the web URL for the latest comment",
          "type": "string",
          "x-go-name": "LatestCommentHTMLURL"
        },
        "latest_comment_url": {
          "description": "LatestCommentURL is the API URL for the latest comment",
          "type": "string",
          "x-go-name": "LatestCommentURL"
        },
        "state": {
          "description": "State indicates the current state of the notification subject\nopen NotifySubjectStateOpen  NotifySubjectStateOpen is an open subject\nclosed NotifySubjectStateClosed  NotifySubjectStateClosed is a closed subject\nmerged NotifySubjectStateMerged  NotifySubjectStateMerged is a merged pull request",
          "type": "string",
          "enum": [
            "open",
            "closed",
            "merged"
          ],
          "x-go-enum-desc": "open NotifySubjectStateOpen  NotifySubjectStateOpen is an open subject\nclosed NotifySubjectStateClosed  NotifySubjectStateClosed is a closed subject\nmerged NotifySubjectStateMerged  NotifySubjectStateMerged is a merged pull request",
          "x-go-name": "State"
        },
        "title": {
          "description": "Title is the title of the notification subject",
          "type": "string",
          "x-go-name": "Title"
        },
        "type": {
          "description": "Type indicates the type of the notification subject\nIssue NotifySubjectIssue  NotifySubjectIssue an issue is subject of an notification\nPull NotifySubjectPull  NotifySubjectPull an pull is subject of an notification\nCommit NotifySubjectCommit  NotifySubjectCommit an commit is subject of an notification\nRepository NotifySubjectRepository  NotifySubjectRepository an repository is subject of an notification",
          "type": "string",
          "enum": [
            "Issue",
            "Pull",
            "Commit",
            "Repository"
          ],
          "x-go-enum-desc": "Issue NotifySubjectIssue  NotifySubjectIssue an issue is subject of an notification\nPull NotifySubjectPull  NotifySubjectPull an pull is subject of an notification\nCommit NotifySubjectCommit  NotifySubjectCommit an commit is subject of an notification\nRepository NotifySubjectRepository  NotifySubjectRepository an repository is subject of an notification",
          "x-go-name": "Type"
        },
        "url": {
          "description": "URL is the API URL for the notification subject",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "NotificationThread": {
      "description": "NotificationThread expose Notification on API",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID is the unique identifier for the notification thread",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "pinned": {
          "description": "Pinned indicates if the notification is pinned",
          "type": "boolean",
          "x-go-name": "Pinned"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "subject": {
          "$ref": "#/definitions/NotificationSubject"
        },
        "unread": {
          "description": "Unread indicates if the notification has been read",
          "type": "boolean",
          "x-go-name": "Unread"
        },
        "updated_at": {
          "description": "UpdatedAt is the time when the notification was last updated",
          "type": "string",
          "format": "date-time",
          "x-go-name": "UpdatedAt"
        },
        "url": {
          "description": "URL is the API URL for this notification thread",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "OAuth2Application": {
      "type": "object",
      "title": "OAuth2Application represents an OAuth2 application.",
      "properties": {
        "client_id": {
          "description": "The client ID of the OAuth2 application",
          "type": "string",
          "x-go-name": "ClientID"
        },
        "client_secret": {
          "description": "The client secret of the OAuth2 application",
          "type": "string",
          "x-go-name": "ClientSecret"
        },
        "confidential_client": {
          "description": "Whether the client is confidential",
          "type": "boolean",
          "x-go-name": "ConfidentialClient"
        },
        "created": {
          "description": "The timestamp when the application was created",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "The unique identifier of the OAuth2 application",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "The name of the OAuth2 application",
          "type": "string",
          "x-go-name": "Name"
        },
        "redirect_uris": {
          "description": "The list of allowed redirect URIs",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "RedirectURIs"
        },
        "skip_secondary_authorization": {
          "description": "Whether to skip secondary authorization",
          "type": "boolean",
          "x-go-name": "SkipSecondaryAuthorization"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Organization": {
      "description": "Organization represents an organization",
      "type": "object",
      "properties": {
        "avatar_url": {
          "description": "The URL of the organization's avatar",
          "type": "string",
          "x-go-name": "AvatarURL"
        },
        "description": {
          "description": "The description of the organization",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "description": "The email address of the organization",
          "type": "string",
          "x-go-name": "Email"
        },
        "full_name": {
          "description": "The full display name of the organization",
          "type": "string",
          "x-go-name": "FullName"
        },
        "id": {
          "description": "The unique identifier of the organization",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "location": {
          "description": "The location of the organization",
          "type": "string",
          "x-go-name": "Location"
        },
        "name": {
          "description": "The name of the organization",
          "type": "string",
          "x-go-name": "Name"
        },
        "repo_admin_change_team_access": {
          "description": "Whether repository administrators can change team access",
          "type": "boolean",
          "x-go-name": "RepoAdminChangeTeamAccess"
        },
        "username": {
          "description": "username of the organization\ndeprecated",
          "type": "string",
          "x-go-name": "UserName"
        },
        "visibility": {
          "description": "The visibility level of the organization (public, limited, private)",
          "type": "string",
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "The website URL of the organization",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "OrganizationPermissions": {
      "description": "OrganizationPermissions list different users permissions on an organization",
      "type": "object",
      "properties": {
        "can_create_repository": {
          "description": "Whether the user can create repositories in the organization",
          "type": "boolean",
          "x-go-name": "CanCreateRepository"
        },
        "can_read": {
          "description": "Whether the user can read the organization",
          "type": "boolean",
          "x-go-name": "CanRead"
        },
        "can_write": {
          "description": "Whether the user can write to the organization",
          "type": "boolean",
          "x-go-name": "CanWrite"
        },
        "is_admin": {
          "description": "Whether the user is an admin of the organization",
          "type": "boolean",
          "x-go-name": "IsAdmin"
        },
        "is_owner": {
          "description": "Whether the user is an owner of the organization",
          "type": "boolean",
          "x-go-name": "IsOwner"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PRBranchInfo": {
      "description": "PRBranchInfo information about a branch",
      "type": "object",
      "properties": {
        "label": {
          "description": "The display name of the branch",
          "type": "string",
          "x-go-name": "Name"
        },
        "ref": {
          "description": "The git reference of the branch",
          "type": "string",
          "x-go-name": "Ref"
        },
        "repo": {
          "$ref": "#/definitions/Repository"
        },
        "repo_id": {
          "description": "The unique identifier of the repository",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoID"
        },
        "sha": {
          "description": "The commit SHA of the branch head",
          "type": "string",
          "x-go-name": "Sha"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Package": {
      "description": "Package represents a package",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "creator": {
          "$ref": "#/definitions/User"
        },
        "html_url": {
          "description": "The HTML URL to view the package",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "The unique identifier of the package",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "The name of the package",
          "type": "string",
          "x-go-name": "Name"
        },
        "owner": {
          "$ref": "#/definitions/User"
        },
        "repository": {
          "$ref": "#/definitions/Repository"
        },
        "type": {
          "description": "The type of the package (e.g., npm, maven, docker)",
          "type": "string",
          "x-go-name": "Type"
        },
        "version": {
          "description": "The version of the package",
          "type": "string",
          "x-go-name": "Version"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PackageFile": {
      "description": "PackageFile represents a package file",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the package file",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "md5": {
          "description": "The MD5 hash of the package file",
          "type": "string",
          "x-go-name": "HashMD5"
        },
        "name": {
          "description": "The name of the package file",
          "type": "string",
          "x-go-name": "Name"
        },
        "sha1": {
          "description": "The SHA1 hash of the package file",
          "type": "string",
          "x-go-name": "HashSHA1"
        },
        "sha256": {
          "description": "The SHA256 hash of the package file",
          "type": "string",
          "x-go-name": "HashSHA256"
        },
        "sha512": {
          "description": "The SHA512 hash of the package file",
          "type": "string",
          "x-go-name": "HashSHA512"
        },
        "size": {
          "description": "The size of the package file in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PayloadCommit": {
      "description": "PayloadCommit represents a commit",
      "type": "object",
      "properties": {
        "added": {
          "description": "List of files added in this commit",
          "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": {
          "description": "The commit message",
          "type": "string",
          "x-go-name": "Message"
        },
        "modified": {
          "description": "List of files modified in this commit",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Modified"
        },
        "removed": {
          "description": "List of files removed in this commit",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Removed"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Timestamp"
        },
        "url": {
          "description": "The URL to view this commit",
          "type": "string",
          "x-go-name": "URL"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PayloadCommitVerification": {
      "description": "PayloadCommitVerification represents the GPG verification of a commit",
      "type": "object",
      "properties": {
        "payload": {
          "description": "The signed payload content",
          "type": "string",
          "x-go-name": "Payload"
        },
        "reason": {
          "description": "The reason for the verification status",
          "type": "string",
          "x-go-name": "Reason"
        },
        "signature": {
          "description": "The GPG signature of the commit",
          "type": "string",
          "x-go-name": "Signature"
        },
        "signer": {
          "$ref": "#/definitions/PayloadUser"
        },
        "verified": {
          "description": "Whether the commit signature is verified",
          "type": "boolean",
          "x-go-name": "Verified"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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": {
          "description": "username of the user",
          "type": "string",
          "x-go-name": "UserName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/modules/structs"
    },
    "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": {
          "description": "Fingerprint is the key's fingerprint",
          "type": "string",
          "x-go-name": "Fingerprint"
        },
        "id": {
          "description": "ID is the unique identifier for the public key",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "key": {
          "description": "Key contains the actual SSH public key content",
          "type": "string",
          "x-go-name": "Key"
        },
        "key_type": {
          "description": "KeyType indicates the type of the SSH key",
          "type": "string",
          "x-go-name": "KeyType"
        },
        "last_used_at": {
          "description": "Updated is the time when the key was last used",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "read_only": {
          "description": "ReadOnly indicates if the key has read-only access",
          "type": "boolean",
          "x-go-name": "ReadOnly"
        },
        "title": {
          "description": "Title is the human-readable name for the key",
          "type": "string",
          "x-go-name": "Title"
        },
        "url": {
          "description": "URL is the API URL for this key",
          "type": "string",
          "x-go-name": "URL"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PullRequest": {
      "description": "PullRequest represents a pull request",
      "type": "object",
      "properties": {
        "additions": {
          "description": "The number of lines added in the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Additions"
        },
        "allow_maintainer_edit": {
          "description": "Whether maintainers can edit the pull request",
          "type": "boolean",
          "x-go-name": "AllowMaintainerEdit"
        },
        "assignee": {
          "$ref": "#/definitions/User"
        },
        "assignees": {
          "description": "The list of users assigned to the pull request",
          "type": "array",
          "items": {
            "$ref": "#/definitions/User"
          },
          "x-go-name": "Assignees"
        },
        "base": {
          "$ref": "#/definitions/PRBranchInfo"
        },
        "body": {
          "description": "The description body of the pull request",
          "type": "string",
          "x-go-name": "Body"
        },
        "changed_files": {
          "description": "The number of files changed in the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ChangedFiles"
        },
        "closed_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Closed"
        },
        "comments": {
          "description": "The number of comments on the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Comments"
        },
        "content_version": {
          "description": "The version of the pull request content for optimistic locking",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentVersion"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "deletions": {
          "description": "The number of lines deleted in the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Deletions"
        },
        "diff_url": {
          "description": "The URL to download the diff patch",
          "type": "string",
          "x-go-name": "DiffURL"
        },
        "draft": {
          "description": "Whether the pull request is a draft",
          "type": "boolean",
          "x-go-name": "Draft"
        },
        "due_date": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Deadline"
        },
        "head": {
          "$ref": "#/definitions/PRBranchInfo"
        },
        "html_url": {
          "description": "The HTML URL to view the pull request",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "The unique identifier of the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_locked": {
          "description": "Whether the pull request conversation is locked",
          "type": "boolean",
          "x-go-name": "IsLocked"
        },
        "labels": {
          "description": "The labels attached to the pull request",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Label"
          },
          "x-go-name": "Labels"
        },
        "merge_base": {
          "description": "The merge base commit SHA",
          "type": "string",
          "x-go-name": "MergeBase"
        },
        "merge_commit_sha": {
          "description": "The SHA of the merge commit",
          "type": "string",
          "x-go-name": "MergedCommitID"
        },
        "mergeable": {
          "description": "Whether the pull request can be merged",
          "type": "boolean",
          "x-go-name": "Mergeable"
        },
        "merged": {
          "description": "Whether the pull request has been 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": {
          "description": "The pull request number",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Index"
        },
        "patch_url": {
          "description": "The URL to download the patch file",
          "type": "string",
          "x-go-name": "PatchURL"
        },
        "pin_order": {
          "description": "The pin order for the pull request",
          "type": "integer",
          "format": "int64",
          "x-go-name": "PinOrder"
        },
        "requested_reviewers": {
          "description": "The users requested to review the pull request",
          "type": "array",
          "items": {
            "$ref": "#/definitions/User"
          },
          "x-go-name": "RequestedReviewers"
        },
        "requested_reviewers_teams": {
          "description": "The teams requested to review the pull request",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Team"
          },
          "x-go-name": "RequestedReviewersTeams"
        },
        "review_comments": {
          "description": "number of review comments made on the diff of a PR review (not including comments on commits or issues in a PR)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReviewComments"
        },
        "state": {
          "description": "The current state of the pull request\nopen StateOpen  StateOpen pr is opened\nclosed StateClosed  StateClosed pr is closed",
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "x-go-enum-desc": "open StateOpen  StateOpen pr is opened\nclosed StateClosed  StateClosed pr is closed",
          "x-go-name": "State"
        },
        "title": {
          "description": "The title of the pull request",
          "type": "string",
          "x-go-name": "Title"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "description": "The API URL of the pull request",
          "type": "string",
          "x-go-name": "URL"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PullRequestMeta": {
      "description": "PullRequestMeta PR info if an issue is a PR",
      "type": "object",
      "properties": {
        "draft": {
          "type": "boolean",
          "x-go-name": "IsWorkInProgress"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "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/modules/structs"
    },
    "PullReview": {
      "description": "PullReview represents a pull request review",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "comments_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "CodeCommentsCount"
        },
        "commit_id": {
          "type": "string",
          "x-go-name": "CommitID"
        },
        "dismissed": {
          "type": "boolean",
          "x-go-name": "Dismissed"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing the review",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "official": {
          "type": "boolean",
          "x-go-name": "Official"
        },
        "pull_request_url": {
          "description": "HTMLPullURL is the web URL for the pull request",
          "type": "string",
          "x-go-name": "HTMLPullURL"
        },
        "stale": {
          "type": "boolean",
          "x-go-name": "Stale"
        },
        "state": {
          "type": "string",
          "enum": [
            "APPROVED",
            "PENDING",
            "COMMENT",
            "REQUEST_CHANGES",
            "REQUEST_REVIEW"
          ],
          "x-go-enum-desc": "APPROVED ReviewStateApproved  ReviewStateApproved pr is approved\nPENDING ReviewStatePending  ReviewStatePending pr state is pending\nCOMMENT ReviewStateComment  ReviewStateComment is a comment review\nREQUEST_CHANGES ReviewStateRequestChanges  ReviewStateRequestChanges changes for pr are requested\nREQUEST_REVIEW ReviewStateRequestReview  ReviewStateRequestReview review is requested from user",
          "x-go-name": "State"
        },
        "submitted_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Submitted"
        },
        "team": {
          "$ref": "#/definitions/Team"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PullReviewComment": {
      "description": "PullReviewComment represents a comment on a pull request review",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "commit_id": {
          "type": "string",
          "x-go-name": "CommitID"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "diff_hunk": {
          "type": "string",
          "x-go-name": "DiffHunk"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "original_commit_id": {
          "type": "string",
          "x-go-name": "OrigCommitID"
        },
        "original_position": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "OldLineNum"
        },
        "path": {
          "type": "string",
          "x-go-name": "Path"
        },
        "position": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "LineNum"
        },
        "pull_request_review_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReviewID"
        },
        "pull_request_url": {
          "type": "string",
          "x-go-name": "HTMLPullURL"
        },
        "resolver": {
          "$ref": "#/definitions/User"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PullReviewRequestOptions": {
      "description": "PullReviewRequestOptions are options to add or remove pull request review requests",
      "type": "object",
      "properties": {
        "reviewers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Reviewers"
        },
        "team_reviewers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "TeamReviewers"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "PushMirror": {
      "description": "PushMirror represents information of a push mirror",
      "type": "object",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedUnix"
        },
        "interval": {
          "description": "The sync interval for automatic updates",
          "type": "string",
          "x-go-name": "Interval"
        },
        "last_error": {
          "description": "The last error message encountered during sync",
          "type": "string",
          "x-go-name": "LastError"
        },
        "last_update": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastUpdateUnix"
        },
        "remote_address": {
          "description": "The remote repository URL being mirrored to",
          "type": "string",
          "x-go-name": "RemoteAddress"
        },
        "remote_name": {
          "description": "The name of the remote in the git configuration",
          "type": "string",
          "x-go-name": "RemoteName"
        },
        "repo_name": {
          "description": "The name of the source repository",
          "type": "string",
          "x-go-name": "RepoName"
        },
        "sync_on_commit": {
          "description": "Whether to sync on every commit",
          "type": "boolean",
          "x-go-name": "SyncOnCommit"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Reaction": {
      "description": "Reaction contain one reaction",
      "type": "object",
      "properties": {
        "content": {
          "description": "The reaction content (e.g., emoji or reaction type)",
          "type": "string",
          "x-go-name": "Reaction"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Reference": {
      "type": "object",
      "title": "Reference represents a Git reference.",
      "properties": {
        "object": {
          "$ref": "#/definitions/GitObject"
        },
        "ref": {
          "description": "The name of the Git reference (e.g., refs/heads/main)",
          "type": "string",
          "x-go-name": "Ref"
        },
        "url": {
          "description": "The URL to access this Git reference",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Release": {
      "description": "Release represents a repository release",
      "type": "object",
      "properties": {
        "assets": {
          "description": "The files attached to the release",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "x-go-name": "Attachments"
        },
        "author": {
          "$ref": "#/definitions/User"
        },
        "body": {
          "description": "The release notes or description",
          "type": "string",
          "x-go-name": "Note"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "draft": {
          "description": "Whether the release is a draft",
          "type": "boolean",
          "x-go-name": "IsDraft"
        },
        "html_url": {
          "description": "The HTML URL to view the release",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "The unique identifier of the release",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "The display title of the release",
          "type": "string",
          "x-go-name": "Title"
        },
        "prerelease": {
          "description": "Whether the release is a prerelease",
          "type": "boolean",
          "x-go-name": "IsPrerelease"
        },
        "published_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "PublishedAt"
        },
        "tag_name": {
          "description": "The name of the git tag associated with the release",
          "type": "string",
          "x-go-name": "TagName"
        },
        "tarball_url": {
          "description": "The URL to download the tarball archive",
          "type": "string",
          "x-go-name": "TarURL"
        },
        "target_commitish": {
          "description": "The target commitish for the release",
          "type": "string",
          "x-go-name": "Target"
        },
        "upload_url": {
          "description": "The URL template for uploading release assets",
          "type": "string",
          "x-go-name": "UploadURL"
        },
        "url": {
          "description": "The API URL of the release",
          "type": "string",
          "x-go-name": "URL"
        },
        "zipball_url": {
          "description": "The URL to download the zip archive",
          "type": "string",
          "x-go-name": "ZipURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RenameBranchRepoOption": {
      "description": "RenameBranchRepoOption options when renaming a branch in a repository",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "description": "New branch name",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RenameOrgOption": {
      "description": "RenameOrgOption options when renaming an organization",
      "type": "object",
      "required": [
        "new_name"
      ],
      "properties": {
        "new_name": {
          "description": "New username for this org. This name cannot be in use yet by any other user.",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "NewName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RenameUserOption": {
      "description": "RenameUserOption options when renaming a user",
      "type": "object",
      "required": [
        "new_username"
      ],
      "properties": {
        "new_username": {
          "description": "New username for this user. This name cannot be in use yet by any other user.",
          "type": "string",
          "uniqueItems": true,
          "x-go-name": "NewName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RepoCollaboratorPermission": {
      "description": "RepoCollaboratorPermission to get repository permission for a collaborator",
      "type": "object",
      "properties": {
        "permission": {
          "description": "Permission level of the collaborator",
          "type": "string",
          "x-go-name": "Permission"
        },
        "role_name": {
          "description": "RoleName is the name of the permission role",
          "type": "string",
          "x-go-name": "RoleName"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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": {
          "description": "Message is the commit message",
          "type": "string",
          "x-go-name": "Message"
        },
        "tree": {
          "$ref": "#/definitions/CommitMeta"
        },
        "url": {
          "description": "URL is the API URL for the commit",
          "type": "string",
          "x-go-name": "URL"
        },
        "verification": {
          "$ref": "#/definitions/PayloadCommitVerification"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RepoTopicOptions": {
      "description": "RepoTopicOptions a collection of repo topic names",
      "type": "object",
      "properties": {
        "topics": {
          "description": "list of topic names",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Topics"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RepoTransfer": {
      "description": "RepoTransfer represents a pending repo transfer",
      "type": "object",
      "properties": {
        "doer": {
          "$ref": "#/definitions/User"
        },
        "recipient": {
          "$ref": "#/definitions/User"
        },
        "teams": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Team"
          },
          "x-go-name": "Teams"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Repository": {
      "description": "Repository represents a repository",
      "type": "object",
      "properties": {
        "allow_fast_forward_only_merge": {
          "type": "boolean",
          "x-go-name": "AllowFastForwardOnly"
        },
        "allow_manual_merge": {
          "type": "boolean",
          "x-go-name": "AllowManualMerge"
        },
        "allow_merge_commits": {
          "type": "boolean",
          "x-go-name": "AllowMerge"
        },
        "allow_rebase": {
          "type": "boolean",
          "x-go-name": "AllowRebase"
        },
        "allow_rebase_explicit": {
          "type": "boolean",
          "x-go-name": "AllowRebaseMerge"
        },
        "allow_rebase_update": {
          "type": "boolean",
          "x-go-name": "AllowRebaseUpdate"
        },
        "allow_squash_merge": {
          "type": "boolean",
          "x-go-name": "AllowSquash"
        },
        "archived": {
          "type": "boolean",
          "x-go-name": "Archived"
        },
        "archived_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "ArchivedAt"
        },
        "autodetect_manual_merge": {
          "type": "boolean",
          "x-go-name": "AutodetectManualMerge"
        },
        "avatar_url": {
          "type": "string",
          "x-go-name": "AvatarURL"
        },
        "branch_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BranchCount"
        },
        "clone_url": {
          "type": "string",
          "x-go-name": "CloneURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "default_allow_maintainer_edit": {
          "type": "boolean",
          "x-go-name": "DefaultAllowMaintainerEdit"
        },
        "default_branch": {
          "type": "string",
          "x-go-name": "DefaultBranch"
        },
        "default_delete_branch_after_merge": {
          "type": "boolean",
          "x-go-name": "DefaultDeleteBranchAfterMerge"
        },
        "default_merge_style": {
          "type": "string",
          "x-go-name": "DefaultMergeStyle"
        },
        "default_target_branch": {
          "type": "string",
          "x-go-name": "DefaultTargetBranch"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "empty": {
          "type": "boolean",
          "x-go-name": "Empty"
        },
        "external_tracker": {
          "$ref": "#/definitions/ExternalTracker"
        },
        "external_wiki": {
          "$ref": "#/definitions/ExternalWiki"
        },
        "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"
        },
        "has_actions": {
          "type": "boolean",
          "x-go-name": "HasActions"
        },
        "has_code": {
          "type": "boolean",
          "x-go-name": "HasCode"
        },
        "has_issues": {
          "type": "boolean",
          "x-go-name": "HasIssues"
        },
        "has_packages": {
          "type": "boolean",
          "x-go-name": "HasPackages"
        },
        "has_projects": {
          "type": "boolean",
          "x-go-name": "HasProjects"
        },
        "has_pull_requests": {
          "type": "boolean",
          "x-go-name": "HasPullRequests"
        },
        "has_releases": {
          "type": "boolean",
          "x-go-name": "HasReleases"
        },
        "has_wiki": {
          "type": "boolean",
          "x-go-name": "HasWiki"
        },
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "ignore_whitespace_conflicts": {
          "type": "boolean",
          "x-go-name": "IgnoreWhitespaceConflicts"
        },
        "internal": {
          "type": "boolean",
          "x-go-name": "Internal"
        },
        "internal_tracker": {
          "$ref": "#/definitions/InternalTracker"
        },
        "language": {
          "type": "string",
          "x-go-name": "Language"
        },
        "languages_url": {
          "type": "string",
          "x-go-name": "LanguagesURL"
        },
        "licenses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Licenses"
        },
        "link": {
          "type": "string",
          "x-go-name": "Link"
        },
        "mirror": {
          "type": "boolean",
          "x-go-name": "Mirror"
        },
        "mirror_interval": {
          "type": "string",
          "x-go-name": "MirrorInterval"
        },
        "mirror_updated": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "MirrorUpdated"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "object_format_name": {
          "description": "ObjectFormatName of the underlying git repository",
          "type": "string",
          "enum": [
            "sha1",
            "sha256"
          ],
          "x-go-name": "ObjectFormatName"
        },
        "open_issues_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OpenIssues"
        },
        "open_pr_counter": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OpenPulls"
        },
        "original_url": {
          "type": "string",
          "x-go-name": "OriginalURL"
        },
        "owner": {
          "$ref": "#/definitions/User"
        },
        "parent": {
          "$ref": "#/definitions/Repository"
        },
        "permissions": {
          "$ref": "#/definitions/Permission"
        },
        "private": {
          "type": "boolean",
          "x-go-name": "Private"
        },
        "projects_mode": {
          "type": "string",
          "x-go-name": "ProjectsMode"
        },
        "release_counter": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Releases"
        },
        "repo_transfer": {
          "$ref": "#/definitions/RepoTransfer"
        },
        "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"
        },
        "template": {
          "type": "boolean",
          "x-go-name": "Template"
        },
        "topics": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Topics"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "url": {
          "type": "string",
          "x-go-name": "URL"
        },
        "watchers_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Watchers"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RepositoryMeta": {
      "description": "RepositoryMeta basic repository information",
      "type": "object",
      "properties": {
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "owner": {
          "type": "string",
          "x-go-name": "Owner"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "RunDetails": {
      "description": "RunDetails returns workflow_dispatch runid and url",
      "type": "object",
      "properties": {
        "html_url": {
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "run_url": {
          "type": "string",
          "x-go-name": "RunURL"
        },
        "workflow_run_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "WorkflowRunID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "SearchResults": {
      "description": "SearchResults results of a successful search",
      "type": "object",
      "properties": {
        "data": {
          "description": "Data contains the repository search results",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Repository"
          },
          "x-go-name": "Data"
        },
        "ok": {
          "description": "OK indicates if the search was successful",
          "type": "boolean",
          "x-go-name": "OK"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Secret": {
      "description": "Secret represents a secret",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "description": {
          "description": "the secret's description",
          "type": "string",
          "x-go-name": "Description"
        },
        "name": {
          "description": "the secret's name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "ServerVersion": {
      "description": "ServerVersion wraps the version of the server",
      "type": "object",
      "properties": {
        "version": {
          "description": "Version is the server version string",
          "type": "string",
          "x-go-name": "Version"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "StopWatch": {
      "description": "StopWatch represent a running stopwatch",
      "type": "object",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "duration": {
          "description": "Duration is a human-readable duration string",
          "type": "string",
          "x-go-name": "Duration"
        },
        "issue_index": {
          "description": "IssueIndex is the index number of the associated issue",
          "type": "integer",
          "format": "int64",
          "x-go-name": "IssueIndex"
        },
        "issue_title": {
          "description": "IssueTitle is the title of the associated issue",
          "type": "string",
          "x-go-name": "IssueTitle"
        },
        "repo_name": {
          "description": "RepoName is the name of the repository",
          "type": "string",
          "x-go-name": "RepoName"
        },
        "repo_owner_name": {
          "description": "RepoOwnerName is the name of the repository owner",
          "type": "string",
          "x-go-name": "RepoOwnerName"
        },
        "seconds": {
          "description": "Seconds is the total elapsed time in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Seconds"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "SubmitPullReviewOptions": {
      "description": "SubmitPullReviewOptions are options to submit a pending pull request review",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "x-go-name": "Body"
        },
        "event": {
          "type": "string",
          "enum": [
            "APPROVED",
            "PENDING",
            "COMMENT",
            "REQUEST_CHANGES",
            "REQUEST_REVIEW"
          ],
          "x-go-enum-desc": "APPROVED ReviewStateApproved  ReviewStateApproved pr is approved\nPENDING ReviewStatePending  ReviewStatePending pr state is pending\nCOMMENT ReviewStateComment  ReviewStateComment is a comment review\nREQUEST_CHANGES ReviewStateRequestChanges  ReviewStateRequestChanges changes for pr are requested\nREQUEST_REVIEW ReviewStateRequestReview  ReviewStateRequestReview review is requested from user",
          "x-go-name": "Event"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Tag": {
      "description": "Tag represents a repository tag",
      "type": "object",
      "properties": {
        "commit": {
          "$ref": "#/definitions/CommitMeta"
        },
        "id": {
          "description": "The ID (SHA) of the tag",
          "type": "string",
          "x-go-name": "ID"
        },
        "message": {
          "description": "The message associated with the tag",
          "type": "string",
          "x-go-name": "Message"
        },
        "name": {
          "description": "The name of the tag",
          "type": "string",
          "x-go-name": "Name"
        },
        "tarball_url": {
          "description": "The URL to download the tarball archive",
          "type": "string",
          "x-go-name": "TarballURL"
        },
        "zipball_url": {
          "description": "The URL to download the zipball archive",
          "type": "string",
          "x-go-name": "ZipballURL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TagProtection": {
      "description": "TagProtection represents a tag protection",
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "The unique identifier of the tag protection",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name_pattern": {
          "description": "The pattern to match tag names for protection",
          "type": "string",
          "x-go-name": "NamePattern"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "whitelist_teams": {
          "description": "List of team names allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistTeams"
        },
        "whitelist_usernames": {
          "description": "List of usernames allowed to create/delete protected tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "WhitelistUsernames"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Team": {
      "description": "Team represents a team in an organization",
      "type": "object",
      "properties": {
        "can_create_org_repo": {
          "description": "Whether the team can create repositories in the organization",
          "type": "boolean",
          "x-go-name": "CanCreateOrgRepo"
        },
        "description": {
          "description": "The description of the team",
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "description": "The unique identifier of the team",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "includes_all_repositories": {
          "description": "Whether the team has access to all repositories in the organization",
          "type": "boolean",
          "x-go-name": "IncludesAllRepositories"
        },
        "name": {
          "description": "The name of the team",
          "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",
          "items": {
            "type": "string"
          },
          "x-go-name": "Units",
          "example": [
            "repo.code",
            "repo.issues",
            "repo.ext_issues",
            "repo.wiki",
            "repo.pulls",
            "repo.releases",
            "repo.projects",
            "repo.ext_wiki"
          ]
        },
        "units_map": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-go-name": "UnitsMap",
          "example": {
            "repo.code": "read",
            "repo.ext_issues": "none",
            "repo.ext_wiki": "none",
            "repo.issues": "write",
            "repo.projects": "none",
            "repo.pulls": "owner",
            "repo.releases": "none",
            "repo.wiki": "admin"
          }
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TimeStamp": {
      "description": "TimeStamp defines a timestamp",
      "type": "integer",
      "format": "int64",
      "x-go-package": "code.gitea.io/gitea/modules/timeutil"
    },
    "TimelineComment": {
      "description": "TimelineComment represents a timeline comment (comment of any type) on a commit or issue",
      "type": "object",
      "properties": {
        "assignee": {
          "$ref": "#/definitions/User"
        },
        "assignee_team": {
          "$ref": "#/definitions/Team"
        },
        "body": {
          "description": "Body contains the timeline event content",
          "type": "string",
          "x-go-name": "Body"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "dependent_issue": {
          "$ref": "#/definitions/Issue"
        },
        "html_url": {
          "description": "HTMLURL is the web URL for viewing the comment",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "ID is the unique identifier for the timeline comment",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "issue_url": {
          "description": "IssueURL is the API URL for the issue",
          "type": "string",
          "x-go-name": "IssueURL"
        },
        "label": {
          "$ref": "#/definitions/Label"
        },
        "milestone": {
          "$ref": "#/definitions/Milestone"
        },
        "new_ref": {
          "type": "string",
          "x-go-name": "NewRef"
        },
        "new_title": {
          "type": "string",
          "x-go-name": "NewTitle"
        },
        "old_milestone": {
          "$ref": "#/definitions/Milestone"
        },
        "old_project_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "OldProjectID"
        },
        "old_ref": {
          "type": "string",
          "x-go-name": "OldRef"
        },
        "old_title": {
          "type": "string",
          "x-go-name": "OldTitle"
        },
        "project_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ProjectID"
        },
        "pull_request_url": {
          "description": "PRURL is the API URL for the pull request (if applicable)",
          "type": "string",
          "x-go-name": "PRURL"
        },
        "ref_action": {
          "type": "string",
          "x-go-name": "RefAction"
        },
        "ref_comment": {
          "$ref": "#/definitions/Comment"
        },
        "ref_commit_sha": {
          "description": "commit SHA where issue/PR was referenced",
          "type": "string",
          "x-go-name": "RefCommitSHA"
        },
        "ref_issue": {
          "$ref": "#/definitions/Issue"
        },
        "removed_assignee": {
          "description": "whether the assignees were removed or added",
          "type": "boolean",
          "x-go-name": "RemovedAssignee"
        },
        "resolve_doer": {
          "$ref": "#/definitions/User"
        },
        "review_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReviewID"
        },
        "tracked_time": {
          "$ref": "#/definitions/TrackedTime"
        },
        "type": {
          "description": "Type indicates the type of timeline event",
          "type": "string",
          "x-go-name": "Type"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        },
        "user": {
          "$ref": "#/definitions/User"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TopicName": {
      "description": "TopicName a list of repo topic names",
      "type": "object",
      "properties": {
        "topics": {
          "description": "List of topic names",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "TopicNames"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TopicResponse": {
      "description": "TopicResponse for returning topics",
      "type": "object",
      "properties": {
        "created": {
          "description": "The date and time when the topic was created",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "The unique identifier of the topic",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "repo_count": {
          "description": "The number of repositories using this topic",
          "type": "integer",
          "format": "int64",
          "x-go-name": "RepoCount"
        },
        "topic_name": {
          "description": "The name of the topic",
          "type": "string",
          "x-go-name": "Name"
        },
        "updated": {
          "description": "The date and time when the topic was last updated",
          "type": "string",
          "format": "date-time",
          "x-go-name": "Updated"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TrackedTime": {
      "description": "TrackedTime worked time for an issue / pr",
      "type": "object",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "id": {
          "description": "ID is the unique identifier for the tracked time entry",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "issue": {
          "$ref": "#/definitions/Issue"
        },
        "issue_id": {
          "description": "deprecated (only for backwards compatibility)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "IssueID"
        },
        "time": {
          "description": "Time in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Time"
        },
        "user_id": {
          "description": "deprecated (only for backwards compatibility)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UserID"
        },
        "user_name": {
          "description": "username of the user",
          "type": "string",
          "x-go-name": "UserName"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "TransferRepoOption": {
      "description": "TransferRepoOption options when transfer a repository's ownership",
      "type": "object",
      "required": [
        "new_owner"
      ],
      "properties": {
        "new_owner": {
          "type": "string",
          "x-go-name": "NewOwner"
        },
        "team_ids": {
          "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "TeamIDs"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateBranchProtectionPriories": {
      "description": "UpdateBranchProtectionPriories a list to update the branch protection rule priorities",
      "type": "object",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "IDs"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateBranchRepoOption": {
      "description": "UpdateBranchRepoOption options when updating a branch reference in a repository",
      "type": "object",
      "required": [
        "new_commit_id"
      ],
      "properties": {
        "force": {
          "description": "Force update even if the change is not a fast-forward",
          "type": "boolean",
          "x-go-name": "Force"
        },
        "new_commit_id": {
          "description": "New commit SHA (or any ref) the branch should point to",
          "type": "string",
          "x-go-name": "NewCommitID"
        },
        "old_commit_id": {
          "description": "Expected old commit SHA of the branch; if provided it must match the current tip",
          "type": "string",
          "x-go-name": "OldCommitID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateFileOptions": {
      "description": "UpdateFileOptions options for updating or creating a file\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
      "type": "object",
      "required": [
        "content"
      ],
      "properties": {
        "author": {
          "$ref": "#/definitions/Identity"
        },
        "branch": {
          "description": "branch (optional) is the base branch for the changes. If not supplied, the default branch is used",
          "type": "string",
          "x-go-name": "BranchName"
        },
        "committer": {
          "$ref": "#/definitions/Identity"
        },
        "content": {
          "description": "content must be base64 encoded",
          "type": "string",
          "x-go-name": "ContentBase64"
        },
        "dates": {
          "$ref": "#/definitions/CommitDateOptions"
        },
        "force_push": {
          "description": "force_push (optional) will do a force-push if the new branch already exists",
          "type": "boolean",
          "x-go-name": "ForcePush"
        },
        "from_path": {
          "description": "from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL",
          "type": "string",
          "x-go-name": "FromPath"
        },
        "message": {
          "description": "message (optional) is the commit message of the changes. If not supplied, a default message will be used",
          "type": "string",
          "x-go-name": "Message"
        },
        "new_branch": {
          "description": "new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch",
          "type": "string",
          "x-go-name": "NewBranchName"
        },
        "sha": {
          "description": "the blob ID (SHA) for the file that already exists to update, or leave it empty to create a new file",
          "type": "string",
          "x-go-name": "SHA"
        },
        "signoff": {
          "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
          "type": "boolean",
          "x-go-name": "Signoff"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateRepoAvatarOption": {
      "description": "UpdateRepoAvatarUserOption options when updating the repo avatar",
      "type": "object",
      "properties": {
        "image": {
          "description": "image must be base64 encoded",
          "type": "string",
          "x-go-name": "Image"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateUserAvatarOption": {
      "description": "UpdateUserAvatarUserOption options when updating the user avatar",
      "type": "object",
      "properties": {
        "image": {
          "description": "image must be base64 encoded",
          "type": "string",
          "x-go-name": "Image"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UpdateVariableOption": {
      "description": "UpdateVariableOption the option when updating variable",
      "type": "object",
      "required": [
        "value"
      ],
      "properties": {
        "description": {
          "description": "Description of the variable to update",
          "type": "string",
          "x-go-name": "Description"
        },
        "name": {
          "description": "New name for the variable. If the field is empty, the variable name won't be updated.",
          "type": "string",
          "x-go-name": "Name"
        },
        "value": {
          "description": "Value of the variable to update",
          "type": "string",
          "x-go-name": "Value"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "User": {
      "description": "User represents a user",
      "type": "object",
      "properties": {
        "active": {
          "description": "Is user active",
          "type": "boolean",
          "x-go-name": "IsActive"
        },
        "avatar_url": {
          "description": "URL to the user's avatar",
          "type": "string",
          "x-go-name": "AvatarURL"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "description": {
          "description": "the user's description",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "followers_count": {
          "description": "user counts",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Followers"
        },
        "following_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Following"
        },
        "full_name": {
          "description": "the user's full name",
          "type": "string",
          "x-go-name": "FullName"
        },
        "html_url": {
          "description": "URL to the user's gitea page",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "the user's id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_admin": {
          "description": "Is the user an administrator",
          "type": "boolean",
          "x-go-name": "IsAdmin"
        },
        "language": {
          "description": "User locale",
          "type": "string",
          "x-go-name": "Language"
        },
        "last_login": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastLogin"
        },
        "location": {
          "description": "the user's location",
          "type": "string",
          "x-go-name": "Location"
        },
        "login": {
          "description": "login of the user, same as `username`",
          "type": "string",
          "x-go-name": "UserName"
        },
        "login_name": {
          "description": "identifier of the user, provided by the external authenticator (if configured)",
          "type": "string",
          "default": "empty",
          "x-go-name": "LoginName"
        },
        "prohibit_login": {
          "description": "Is user login prohibited",
          "type": "boolean",
          "x-go-name": "ProhibitLogin"
        },
        "restricted": {
          "description": "Is user restricted",
          "type": "boolean",
          "x-go-name": "Restricted"
        },
        "source_id": {
          "description": "The ID of the user's Authentication Source",
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "starred_repos_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "StarredRepos"
        },
        "visibility": {
          "description": "User visibility level option: public, limited, private",
          "type": "string",
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "the user's website",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UserBadgeOption": {
      "description": "UserBadgeOption options for link between users and badges",
      "type": "object",
      "properties": {
        "badge_slugs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "BadgeSlugs",
          "example": [
            "badge1",
            "badge2"
          ]
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "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/activities"
    },
    "UserSettings": {
      "description": "UserSettings represents user settings",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "diff_view_style": {
          "type": "string",
          "x-go-name": "DiffViewStyle"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "hide_activity": {
          "type": "boolean",
          "x-go-name": "HideActivity"
        },
        "hide_email": {
          "description": "Privacy",
          "type": "boolean",
          "x-go-name": "HideEmail"
        },
        "language": {
          "type": "string",
          "x-go-name": "Language"
        },
        "location": {
          "type": "string",
          "x-go-name": "Location"
        },
        "theme": {
          "type": "string",
          "x-go-name": "Theme"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "UserSettingsOptions": {
      "description": "UserSettingsOptions represents options to change user settings",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "diff_view_style": {
          "type": "string",
          "x-go-name": "DiffViewStyle"
        },
        "full_name": {
          "type": "string",
          "x-go-name": "FullName"
        },
        "hide_activity": {
          "type": "boolean",
          "x-go-name": "HideActivity"
        },
        "hide_email": {
          "description": "Privacy",
          "type": "boolean",
          "x-go-name": "HideEmail"
        },
        "language": {
          "type": "string",
          "x-go-name": "Language"
        },
        "location": {
          "type": "string",
          "x-go-name": "Location"
        },
        "theme": {
          "type": "string",
          "x-go-name": "Theme"
        },
        "website": {
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "WatchInfo": {
      "description": "WatchInfo represents an API watch status of one repository",
      "type": "object",
      "properties": {
        "created_at": {
          "description": "The timestamp when the watch status was created",
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "ignored": {
          "description": "Whether notifications for the repository are ignored",
          "type": "boolean",
          "x-go-name": "Ignored"
        },
        "reason": {
          "description": "The reason for the current watch status",
          "x-go-name": "Reason"
        },
        "repository_url": {
          "description": "The URL of the repository being watched",
          "type": "string",
          "x-go-name": "RepositoryURL"
        },
        "subscribed": {
          "description": "Whether the repository is being watched for notifications",
          "type": "boolean",
          "x-go-name": "Subscribed"
        },
        "url": {
          "description": "The URL for managing the watch status",
          "type": "string",
          "x-go-name": "URL"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "WikiCommit": {
      "description": "WikiCommit page commit/revision",
      "type": "object",
      "properties": {
        "author": {
          "$ref": "#/definitions/CommitUser"
        },
        "commiter": {
          "$ref": "#/definitions/CommitUser"
        },
        "message": {
          "description": "The commit message",
          "type": "string",
          "x-go-name": "Message"
        },
        "sha": {
          "description": "The commit SHA hash",
          "type": "string",
          "x-go-name": "ID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "WikiCommitList": {
      "description": "WikiCommitList commit/revision list",
      "type": "object",
      "properties": {
        "commits": {
          "description": "The list of wiki commits",
          "type": "array",
          "items": {
            "$ref": "#/definitions/WikiCommit"
          },
          "x-go-name": "WikiCommits"
        },
        "count": {
          "description": "The total count of commits",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Count"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "WikiPage": {
      "description": "WikiPage a wiki page",
      "type": "object",
      "properties": {
        "commit_count": {
          "description": "The number of commits that modified this page",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CommitCount"
        },
        "content_base64": {
          "description": "Page content, base64 encoded",
          "type": "string",
          "x-go-name": "ContentBase64"
        },
        "footer": {
          "description": "The footer content for the wiki page",
          "type": "string",
          "x-go-name": "Footer"
        },
        "html_url": {
          "description": "The HTML URL to view the wiki page",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "last_commit": {
          "$ref": "#/definitions/WikiCommit"
        },
        "sidebar": {
          "description": "The sidebar content for the wiki page",
          "type": "string",
          "x-go-name": "Sidebar"
        },
        "sub_url": {
          "description": "The sub URL path for the wiki page",
          "type": "string",
          "x-go-name": "SubURL"
        },
        "title": {
          "description": "The title of the wiki page",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "WikiPageMetaData": {
      "description": "WikiPageMetaData wiki page meta information",
      "type": "object",
      "properties": {
        "html_url": {
          "description": "The HTML URL to view the wiki page",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "last_commit": {
          "$ref": "#/definitions/WikiCommit"
        },
        "sub_url": {
          "description": "The sub URL path for the wiki page",
          "type": "string",
          "x-go-name": "SubURL"
        },
        "title": {
          "description": "The title of the wiki page",
          "type": "string",
          "x-go-name": "Title"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    }
  },
  "responses": {
    "AccessToken": {
      "description": "AccessToken represents an API access token.",
      "schema": {
        "$ref": "#/definitions/AccessToken"
      }
    },
    "AccessTokenList": {
      "description": "AccessTokenList represents a list of API access token.",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/AccessToken"
        }
      }
    },
    "ActionVariable": {
      "description": "ActionVariable",
      "schema": {
        "$ref": "#/definitions/ActionVariable"
      }
    },
    "ActionWorkflow": {
      "description": "ActionWorkflow",
      "schema": {
        "$ref": "#/definitions/ActionWorkflow"
      }
    },
    "ActionWorkflowList": {
      "description": "ActionWorkflowList",
      "schema": {
        "$ref": "#/definitions/ActionWorkflowResponse"
      }
    },
    "ActivityFeedsList": {
      "description": "ActivityFeedsList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Activity"
        }
      }
    },
    "AnnotatedTag": {
      "description": "AnnotatedTag",
      "schema": {
        "$ref": "#/definitions/AnnotatedTag"
      }
    },
    "Artifact": {
      "description": "Artifact",
      "schema": {
        "$ref": "#/definitions/ActionArtifact"
      }
    },
    "ArtifactsList": {
      "description": "ArtifactsList",
      "schema": {
        "$ref": "#/definitions/ActionArtifactsResponse"
      }
    },
    "Attachment": {
      "description": "Attachment",
      "schema": {
        "$ref": "#/definitions/Attachment"
      }
    },
    "AttachmentList": {
      "description": "AttachmentList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Attachment"
        }
      }
    },
    "BadgeList": {
      "description": "BadgeList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Badge"
        }
      }
    },
    "Branch": {
      "description": "Branch",
      "schema": {
        "$ref": "#/definitions/Branch"
      }
    },
    "BranchList": {
      "description": "BranchList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Branch"
        }
      }
    },
    "BranchProtection": {
      "description": "BranchProtection",
      "schema": {
        "$ref": "#/definitions/BranchProtection"
      }
    },
    "BranchProtectionList": {
      "description": "BranchProtectionList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/BranchProtection"
        }
      }
    },
    "ChangedFileList": {
      "description": "ChangedFileList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/ChangedFile"
        }
      },
      "headers": {
        "X-HasMore": {
          "type": "boolean",
          "description": "True if there is another page"
        },
        "X-Page": {
          "type": "integer",
          "format": "int64",
          "description": "The current page"
        },
        "X-PageCount": {
          "type": "integer",
          "format": "int64",
          "description": "Total number of pages"
        },
        "X-PerPage": {
          "type": "integer",
          "format": "int64",
          "description": "Commits per page"
        },
        "X-Total": {
          "type": "integer",
          "format": "int64",
          "description": "Total commit count"
        }
      }
    },
    "CombinedStatus": {
      "description": "CombinedStatus",
      "schema": {
        "$ref": "#/definitions/CombinedStatus"
      }
    },
    "Comment": {
      "description": "Comment",
      "schema": {
        "$ref": "#/definitions/Comment"
      }
    },
    "CommentList": {
      "description": "CommentList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Comment"
        }
      }
    },
    "Commit": {
      "description": "Commit",
      "schema": {
        "$ref": "#/definitions/Commit"
      }
    },
    "CommitList": {
      "description": "CommitList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Commit"
        }
      },
      "headers": {
        "X-HasMore": {
          "type": "boolean",
          "description": "True if there is another page"
        },
        "X-Page": {
          "type": "integer",
          "format": "int64",
          "description": "The current page"
        },
        "X-PageCount": {
          "type": "integer",
          "format": "int64",
          "description": "Total number of pages"
        },
        "X-PerPage": {
          "type": "integer",
          "format": "int64",
          "description": "Commits per page"
        },
        "X-Total": {
          "type": "integer",
          "format": "int64",
          "description": "Total commit count"
        }
      }
    },
    "CommitStatus": {
      "description": "CommitStatus",
      "schema": {
        "$ref": "#/definitions/CommitStatus"
      }
    },
    "CommitStatusList": {
      "description": "CommitStatusList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/CommitStatus"
        }
      }
    },
    "Compare": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Compare"
      }
    },
    "ContentsExtResponse": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/ContentsExtResponse"
      }
    },
    "ContentsListResponse": {
      "description": "ContentsListResponse",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/ContentsResponse"
        }
      }
    },
    "ContentsResponse": {
      "description": "ContentsResponse",
      "schema": {
        "$ref": "#/definitions/ContentsResponse"
      }
    },
    "CronList": {
      "description": "CronList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Cron"
        }
      }
    },
    "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"
        }
      }
    },
    "EmptyRepository": {
      "description": "EmptyRepository",
      "schema": {
        "$ref": "#/definitions/APIError"
      }
    },
    "FileDeleteResponse": {
      "description": "FileDeleteResponse",
      "schema": {
        "$ref": "#/definitions/FileDeleteResponse"
      }
    },
    "FileResponse": {
      "description": "FileResponse",
      "schema": {
        "$ref": "#/definitions/FileResponse"
      }
    },
    "FilesResponse": {
      "description": "FilesResponse",
      "schema": {
        "$ref": "#/definitions/FilesResponse"
      }
    },
    "GPGKey": {
      "description": "GPGKey",
      "schema": {
        "$ref": "#/definitions/GPGKey"
      }
    },
    "GPGKeyList": {
      "description": "GPGKeyList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/GPGKey"
        }
      }
    },
    "GeneralAPISettings": {
      "description": "GeneralAPISettings",
      "schema": {
        "$ref": "#/definitions/GeneralAPISettings"
      }
    },
    "GeneralAttachmentSettings": {
      "description": "GeneralAttachmentSettings",
      "schema": {
        "$ref": "#/definitions/GeneralAttachmentSettings"
      }
    },
    "GeneralRepoSettings": {
      "description": "GeneralRepoSettings",
      "schema": {
        "$ref": "#/definitions/GeneralRepoSettings"
      }
    },
    "GeneralUISettings": {
      "description": "GeneralUISettings",
      "schema": {
        "$ref": "#/definitions/GeneralUISettings"
      }
    },
    "GitBlobResponse": {
      "description": "GitBlobResponse",
      "schema": {
        "$ref": "#/definitions/GitBlobResponse"
      }
    },
    "GitHook": {
      "description": "GitHook",
      "schema": {
        "$ref": "#/definitions/GitHook"
      }
    },
    "GitHookList": {
      "description": "GitHookList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/GitHook"
        }
      }
    },
    "GitTreeResponse": {
      "description": "GitTreeResponse",
      "schema": {
        "$ref": "#/definitions/GitTreeResponse"
      }
    },
    "GitignoreTemplateInfo": {
      "description": "GitignoreTemplateInfo",
      "schema": {
        "$ref": "#/definitions/GitignoreTemplateInfo"
      }
    },
    "GitignoreTemplateList": {
      "description": "GitignoreTemplateList",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "Hook": {
      "description": "Hook",
      "schema": {
        "$ref": "#/definitions/Hook"
      }
    },
    "HookList": {
      "description": "HookList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Hook"
        }
      }
    },
    "Issue": {
      "description": "Issue",
      "schema": {
        "$ref": "#/definitions/Issue"
      }
    },
    "IssueDeadline": {
      "description": "IssueDeadline",
      "schema": {
        "$ref": "#/definitions/IssueDeadline"
      }
    },
    "IssueList": {
      "description": "IssueList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Issue"
        }
      }
    },
    "IssueTemplates": {
      "description": "IssueTemplates",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/IssueTemplate"
        }
      }
    },
    "Label": {
      "description": "Label",
      "schema": {
        "$ref": "#/definitions/Label"
      }
    },
    "LabelList": {
      "description": "LabelList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Label"
        }
      }
    },
    "LabelTemplateInfo": {
      "description": "LabelTemplateInfo",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/LabelTemplate"
        }
      }
    },
    "LabelTemplateList": {
      "description": "LabelTemplateList",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "LanguageStatistics": {
      "description": "LanguageStatistics",
      "schema": {
        "type": "object",
        "additionalProperties": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "LicenseTemplateInfo": {
      "description": "LicenseTemplateInfo",
      "schema": {
        "$ref": "#/definitions/LicenseTemplateInfo"
      }
    },
    "LicenseTemplateList": {
      "description": "LicenseTemplateList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/LicensesTemplateListEntry"
        }
      }
    },
    "LicensesList": {
      "description": "LicensesList",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "MarkdownRender": {
      "description": "MarkdownRender is a rendered markdown document",
      "schema": {
        "type": "string"
      }
    },
    "MarkupRender": {
      "description": "MarkupRender is a rendered markup document",
      "schema": {
        "type": "string"
      }
    },
    "MergeUpstreamRequest": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/MergeUpstreamRequest"
      }
    },
    "MergeUpstreamResponse": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/MergeUpstreamResponse"
      }
    },
    "Milestone": {
      "description": "Milestone",
      "schema": {
        "$ref": "#/definitions/Milestone"
      }
    },
    "MilestoneList": {
      "description": "MilestoneList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Milestone"
        }
      }
    },
    "NodeInfo": {
      "description": "NodeInfo",
      "schema": {
        "$ref": "#/definitions/NodeInfo"
      }
    },
    "Note": {
      "description": "Note",
      "schema": {
        "$ref": "#/definitions/Note"
      }
    },
    "NotificationCount": {
      "description": "Number of unread notifications",
      "schema": {
        "$ref": "#/definitions/NotificationCount"
      }
    },
    "NotificationThread": {
      "description": "NotificationThread",
      "schema": {
        "$ref": "#/definitions/NotificationThread"
      }
    },
    "NotificationThreadList": {
      "description": "NotificationThreadList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/NotificationThread"
        }
      }
    },
    "OAuth2Application": {
      "description": "OAuth2Application",
      "schema": {
        "$ref": "#/definitions/OAuth2Application"
      }
    },
    "OAuth2ApplicationList": {
      "description": "OAuth2ApplicationList represents a list of OAuth2 applications.",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/OAuth2Application"
        }
      }
    },
    "Organization": {
      "description": "Organization",
      "schema": {
        "$ref": "#/definitions/Organization"
      }
    },
    "OrganizationList": {
      "description": "OrganizationList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Organization"
        }
      }
    },
    "OrganizationPermissions": {
      "description": "OrganizationPermissions",
      "schema": {
        "$ref": "#/definitions/OrganizationPermissions"
      }
    },
    "Package": {
      "description": "Package",
      "schema": {
        "$ref": "#/definitions/Package"
      }
    },
    "PackageFileList": {
      "description": "PackageFileList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PackageFile"
        }
      }
    },
    "PackageList": {
      "description": "PackageList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Package"
        }
      }
    },
    "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"
        }
      }
    },
    "PullReview": {
      "description": "PullReview",
      "schema": {
        "$ref": "#/definitions/PullReview"
      }
    },
    "PullReviewComment": {
      "description": "PullComment",
      "schema": {
        "$ref": "#/definitions/PullReviewComment"
      }
    },
    "PullReviewCommentList": {
      "description": "PullCommentList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PullReviewComment"
        }
      }
    },
    "PullReviewList": {
      "description": "PullReviewList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PullReview"
        }
      }
    },
    "PushMirror": {
      "description": "PushMirror",
      "schema": {
        "$ref": "#/definitions/PushMirror"
      }
    },
    "PushMirrorList": {
      "description": "PushMirrorList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/PushMirror"
        }
      }
    },
    "Reaction": {
      "description": "Reaction",
      "schema": {
        "$ref": "#/definitions/Reaction"
      }
    },
    "ReactionList": {
      "description": "ReactionList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Reaction"
        }
      }
    },
    "Reference": {
      "description": "Reference",
      "schema": {
        "$ref": "#/definitions/Reference"
      }
    },
    "ReferenceList": {
      "description": "ReferenceList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Reference"
        }
      }
    },
    "RegistrationToken": {
      "description": "RegistrationToken is response related to registration token",
      "headers": {
        "token": {
          "type": "string"
        }
      }
    },
    "Release": {
      "description": "Release",
      "schema": {
        "$ref": "#/definitions/Release"
      }
    },
    "ReleaseList": {
      "description": "ReleaseList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Release"
        }
      }
    },
    "RepoCollaboratorPermission": {
      "description": "RepoCollaboratorPermission",
      "schema": {
        "$ref": "#/definitions/RepoCollaboratorPermission"
      }
    },
    "RepoIssueConfig": {
      "description": "RepoIssueConfig",
      "schema": {
        "$ref": "#/definitions/IssueConfig"
      }
    },
    "RepoIssueConfigValidation": {
      "description": "RepoIssueConfigValidation",
      "schema": {
        "$ref": "#/definitions/IssueConfigValidation"
      }
    },
    "RepoNewIssuePinsAllowed": {
      "description": "RepoNewIssuePinsAllowed",
      "schema": {
        "$ref": "#/definitions/NewIssuePinsAllowed"
      }
    },
    "Repository": {
      "description": "Repository",
      "schema": {
        "$ref": "#/definitions/Repository"
      }
    },
    "RepositoryList": {
      "description": "RepositoryList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Repository"
        }
      }
    },
    "RunDetails": {
      "description": "RunDetails",
      "schema": {
        "$ref": "#/definitions/RunDetails"
      }
    },
    "Runner": {
      "description": "Runner",
      "schema": {
        "$ref": "#/definitions/ActionRunner"
      }
    },
    "RunnerList": {
      "description": "RunnerList",
      "schema": {
        "$ref": "#/definitions/ActionRunnersResponse"
      }
    },
    "SearchResults": {
      "description": "SearchResults",
      "schema": {
        "$ref": "#/definitions/SearchResults"
      }
    },
    "Secret": {
      "description": "Secret",
      "schema": {
        "$ref": "#/definitions/Secret"
      }
    },
    "SecretList": {
      "description": "SecretList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Secret"
        }
      }
    },
    "ServerVersion": {
      "description": "ServerVersion",
      "schema": {
        "$ref": "#/definitions/ServerVersion"
      }
    },
    "StopWatch": {
      "description": "StopWatch",
      "schema": {
        "$ref": "#/definitions/StopWatch"
      }
    },
    "StopWatchList": {
      "description": "StopWatchList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/StopWatch"
        }
      }
    },
    "StringSlice": {
      "description": "StringSlice",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "Tag": {
      "description": "Tag",
      "schema": {
        "$ref": "#/definitions/Tag"
      }
    },
    "TagList": {
      "description": "TagList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Tag"
        }
      }
    },
    "TagProtection": {
      "description": "TagProtection",
      "schema": {
        "$ref": "#/definitions/TagProtection"
      }
    },
    "TagProtectionList": {
      "description": "TagProtectionList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TagProtection"
        }
      }
    },
    "TasksList": {
      "description": "TasksList",
      "schema": {
        "$ref": "#/definitions/ActionTaskResponse"
      }
    },
    "Team": {
      "description": "Team",
      "schema": {
        "$ref": "#/definitions/Team"
      }
    },
    "TeamList": {
      "description": "TeamList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/Team"
        }
      }
    },
    "TimelineList": {
      "description": "TimelineList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TimelineComment"
        }
      }
    },
    "TopicListResponse": {
      "description": "TopicListResponse",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/TopicResponse"
        }
      }
    },
    "TopicNames": {
      "description": "TopicNames",
      "schema": {
        "$ref": "#/definitions/TopicName"
      }
    },
    "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"
        }
      }
    },
    "UserSettings": {
      "description": "UserSettings",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/UserSettings"
        }
      }
    },
    "VariableList": {
      "description": "VariableList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/ActionVariable"
        }
      }
    },
    "WatchInfo": {
      "description": "WatchInfo",
      "schema": {
        "$ref": "#/definitions/WatchInfo"
      }
    },
    "WikiCommitList": {
      "description": "WikiCommitList",
      "schema": {
        "$ref": "#/definitions/WikiCommitList"
      }
    },
    "WikiPage": {
      "description": "WikiPage",
      "schema": {
        "$ref": "#/definitions/WikiPage"
      }
    },
    "WikiPageList": {
      "description": "WikiPageList",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/WikiPageMetaData"
        }
      }
    },
    "WorkflowJob": {
      "description": "WorkflowJob",
      "schema": {
        "$ref": "#/definitions/ActionWorkflowJob"
      }
    },
    "WorkflowJobsList": {
      "description": "WorkflowJobsList",
      "schema": {
        "$ref": "#/definitions/ActionWorkflowJobsResponse"
      }
    },
    "WorkflowRun": {
      "description": "WorkflowRun",
      "schema": {
        "$ref": "#/definitions/ActionWorkflowRun"
      }
    },
    "WorkflowRunsList": {
      "description": "WorkflowRunsList",
      "schema": {
        "$ref": "#/definitions/ActionWorkflowRunsResponse"
      }
    },
    "conflict": {
      "description": "APIConflict is a conflict empty response"
    },
    "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"
        }
      }
    },
    "invalidTopicsError": {
      "description": "APIInvalidTopicsError is error format response to invalid topics",
      "headers": {
        "invalidTopics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        }
      }
    },
    "notFound": {
      "description": "APINotFound is a not found empty response"
    },
    "parameterBodies": {
      "description": "parameterBodies",
      "schema": {
        "$ref": "#/definitions/LockIssueOption"
      }
    },
    "redirect": {
      "description": "APIRedirect is a redirect response"
    },
    "repoArchivedError": {
      "description": "APIRepoArchivedError is an error that is raised when an archived repo should be modified",
      "headers": {
        "message": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "string": {
      "description": "APIString is a string response",
      "schema": {
        "type": "string"
      }
    },
    "validationError": {
      "description": "APIValidationError is error format response related to input validation",
      "headers": {
        "message": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    }
  },
  "securityDefinitions": {
    "AccessToken": {
      "description": "This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.",
      "type": "apiKey",
      "name": "access_token",
      "in": "query"
    },
    "AuthorizationHeaderToken": {
      "description": "API tokens must be prepended with \"token\" followed by a space.",
      "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"
    },
    "TOTPHeader": {
      "description": "Must be used in combination with BasicAuth if two-factor authentication is enabled.",
      "type": "apiKey",
      "name": "X-GITEA-OTP",
      "in": "header"
    },
    "Token": {
      "description": "This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.",
      "type": "apiKey",
      "name": "token",
      "in": "query"
    }
  },
  "security": [
    {
      "BasicAuth": []
    },
    {
      "Token": []
    },
    {
      "AccessToken": []
    },
    {
      "AuthorizationHeaderToken": []
    },
    {
      "SudoParam": []
    },
    {
      "SudoHeader": []
    },
    {
      "TOTPHeader": []
    }
  ]
}