{
  "openapi": "3.0.3",
  "info": {
    "title": "Gogs API",
    "version": "v1",
    "description": "RESTful API for interacting with your Gogs instance. Follows a format similar to the GitHub REST API v3."
  },
  "servers": [
    {
      "url": "https://gogs.example.com/api/v1"
    }
  ],
  "security": [
    {
      "AccessToken": []
    }
  ],
  "tags": [
    {
      "name": "Repositories",
      "description": "Create, search, and manage repositories, branches, commits, and contents"
    },
    {
      "name": "Collaborators and Deploy Keys",
      "description": "Manage repository collaborators and deploy keys"
    },
    {
      "name": "Releases",
      "description": "List repository releases"
    },
    {
      "name": "Webhooks",
      "description": "Create, edit, and delete repository webhooks"
    },
    {
      "name": "Issues",
      "description": "Manage issues, comments, labels, and milestones"
    },
    {
      "name": "Users",
      "description": "Search users, manage access tokens, emails, followers, and public keys"
    },
    {
      "name": "Organizations",
      "description": "Manage organizations, members, and teams"
    },
    {
      "name": "Administration",
      "description": "Site administration endpoints (requires admin privileges)"
    },
    {
      "name": "Miscellaneous",
      "description": "Markdown rendering and Git data endpoints"
    }
  ],
  "paths": {
    "/repos/search": {
      "get": {
        "operationId": "searchRepos",
        "summary": "Search repositories",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Repository"
                      }
                    },
                    "ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Search keyword"
          },
          {
            "name": "uid",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "User ID to filter by"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 10
            },
            "description": "Max results"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Page number"
          }
        ]
      }
    },
    "/user/repos": {
      "get": {
        "operationId": "listYourRepos",
        "summary": "List your repositories",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repository"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createRepo",
        "summary": "Create a repository",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "private": {
                    "type": "boolean",
                    "default": false
                  },
                  "auto_init": {
                    "type": "boolean",
                    "default": false
                  },
                  "gitignores": {
                    "type": "string"
                  },
                  "license": {
                    "type": "string"
                  },
                  "readme": {
                    "type": "string",
                    "default": "Default"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        }
      }
    },
    "/users/{username}/repos": {
      "get": {
        "operationId": "listUserRepos",
        "summary": "List user repositories",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repository"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/orgs/{orgname}/repos": {
      "get": {
        "operationId": "listOrgRepos",
        "summary": "List organization repositories",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repository"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "orgname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ]
      }
    },
    "/org/{org}/repos": {
      "post": {
        "operationId": "createOrgRepo",
        "summary": "Create a repository in an organization",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "private": {
                    "type": "boolean",
                    "default": false
                  },
                  "auto_init": {
                    "type": "boolean",
                    "default": false
                  },
                  "gitignores": {
                    "type": "string"
                  },
                  "license": {
                    "type": "string"
                  },
                  "readme": {
                    "type": "string",
                    "default": "Default"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "description": "The authenticated user must be an owner of the specified organization."
      }
    },
    "/repos/migrate": {
      "post": {
        "operationId": "migrateRepo",
        "summary": "Migrate a repository",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "clone_addr": {
                    "type": "string"
                  },
                  "auth_username": {
                    "type": "string"
                  },
                  "auth_password": {
                    "type": "string"
                  },
                  "uid": {
                    "type": "integer"
                  },
                  "repo_name": {
                    "type": "string"
                  },
                  "mirror": {
                    "type": "boolean",
                    "default": false
                  },
                  "private": {
                    "type": "boolean",
                    "default": false
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "clone_addr",
                  "uid",
                  "repo_name"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}": {
      "get": {
        "operationId": "getRepo",
        "summary": "Get a repository",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      },
      "delete": {
        "operationId": "deleteRepo",
        "summary": "Delete a repository",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "description": "Requires owner access to the repository."
      }
    },
    "/repos/{owner}/{repo}/issue-tracker": {
      "patch": {
        "operationId": "editIssueTracker",
        "summary": "Edit issue tracker settings",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "204": {
            "description": "Settings updated successfully."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enable_issues": {
                    "type": "boolean"
                  },
                  "enable_external_tracker": {
                    "type": "boolean"
                  },
                  "external_tracker_url": {
                    "type": "string"
                  },
                  "tracker_url_format": {
                    "type": "string"
                  },
                  "tracker_issue_style": {
                    "type": "string",
                    "enum": [
                      "numeric",
                      "alphanumeric"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/mirror-sync": {
      "post": {
        "operationId": "mirrorSync",
        "summary": "Mirror sync",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "202": {
            "description": "Mirror sync has been queued."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "description": "Add a mirror repository to the sync queue. Returns 404 if the repository is not a mirror."
      }
    },
    "/repos/{owner}/{repo}/branches": {
      "get": {
        "operationId": "listBranches",
        "summary": "List branches",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Branch"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/branches/{branch}": {
      "get": {
        "operationId": "getBranch",
        "summary": "Get a branch",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Branch"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Branch name"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/commits/{sha}": {
      "get": {
        "operationId": "getCommit",
        "summary": "Get a single commit",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Commit"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Commit SHA"
          }
        ],
        "description": "Get details for a single commit. Set Accept header to application/vnd.gogs.sha to return only the SHA-1 hash of a commit reference."
      }
    },
    "/repos/{owner}/{repo}/raw/{ref}/{filepath}": {
      "get": {
        "operationId": "getRawContent",
        "summary": "Download raw content",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Raw file content",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "ref",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Branch, tag, or commit"
          },
          {
            "name": "filepath",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "File path"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/archive/{archive}": {
      "get": {
        "operationId": "downloadArchive",
        "summary": "Download archive",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Archive file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "archive",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Ref and format, e.g. master.zip or master.tar.gz"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/contents/{path}": {
      "get": {
        "operationId": "getContents",
        "summary": "Get contents",
        "tags": [
          "Repositories"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Content"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "File or directory path"
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Branch, tag, or commit. Defaults to the default branch."
          }
        ],
        "description": "Get the contents of a file, directory, symlink, or submodule in a repository."
      },
      "put": {
        "operationId": "putContents",
        "summary": "Create or update a file",
        "description": "Creates or updates a file in the repository. The content must be base64 encoded.",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          },
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Path of the file to create or update"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string",
                    "description": "Commit message"
                  },
                  "content": {
                    "type": "string",
                    "description": "Base64-encoded file content"
                  },
                  "branch": {
                    "type": "string",
                    "description": "Branch to commit to. Defaults to the repository's default branch."
                  }
                },
                "required": [
                  "message",
                  "content"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "File created or updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "$ref": "#/components/schemas/Content"
                    },
                    "commit": {
                      "$ref": "#/components/schemas/Commit"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Repository not found."
          },
          "422": {
            "description": "Validation error."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/collaborators": {
      "get": {
        "operationId": "listCollaborators",
        "summary": "List collaborators",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Collaborator"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/collaborators/{collaborator}": {
      "put": {
        "operationId": "addCollaborator",
        "summary": "Add a collaborator",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "204": {
            "description": "Collaborator has been added."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "collaborator",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Collaborator username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permission": {
                    "type": "string",
                    "enum": [
                      "read",
                      "write",
                      "admin"
                    ],
                    "default": "write"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeCollaborator",
        "summary": "Remove a collaborator",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "collaborator",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Collaborator username"
          }
        ]
      },
      "get": {
        "operationId": "isCollaborator",
        "summary": "Check if a user is a collaborator",
        "description": "Returns 204 if the user is a collaborator, 404 if not.",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          },
          {
            "name": "collaborator",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username to check"
          }
        ],
        "responses": {
          "204": {
            "description": "User is a collaborator."
          },
          "404": {
            "description": "User is not a collaborator."
          },
          "422": {
            "description": "The specified user does not exist."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/keys": {
      "get": {
        "operationId": "listDeployKeys",
        "summary": "List deploy keys",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeployKey"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      },
      "post": {
        "operationId": "createDeployKey",
        "summary": "Add a deploy key",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeployKey"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "key"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/keys/{id}": {
      "get": {
        "operationId": "getDeployKey",
        "summary": "Get a deploy key",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeployKey"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Key ID"
          }
        ]
      },
      "delete": {
        "operationId": "removeDeployKey",
        "summary": "Remove a deploy key",
        "tags": [
          "Collaborators and Deploy Keys"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Key ID"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/releases": {
      "get": {
        "operationId": "listReleases",
        "summary": "List releases",
        "tags": [
          "Releases"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Release"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/hooks": {
      "get": {
        "operationId": "listHooks",
        "summary": "List hooks",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Hook"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      },
      "post": {
        "operationId": "createHook",
        "summary": "Create a hook",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hook"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "gogs",
                      "slack",
                      "discord",
                      "dingtalk"
                    ]
                  },
                  "config": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string"
                      },
                      "content_type": {
                        "type": "string",
                        "enum": [
                          "json",
                          "form"
                        ]
                      },
                      "secret": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "content_type"
                    ]
                  },
                  "events": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": [
                      "push"
                    ]
                  },
                  "active": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "type",
                  "config"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/hooks/{id}": {
      "patch": {
        "operationId": "editHook",
        "summary": "Edit a hook",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hook"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Hook ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string"
                      },
                      "content_type": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      }
                    }
                  },
                  "events": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "active": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "config"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteHook",
        "summary": "Delete a hook",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Hook ID"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/issues": {
      "get": {
        "operationId": "listIssues",
        "summary": "List issues for a repository",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "description": "This endpoint may also return pull requests. If an issue is a pull request, the object will include a pull_request key."
      },
      "post": {
        "operationId": "createIssue",
        "summary": "Create an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Issue"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "body": {
                    "type": "string"
                  },
                  "assignee": {
                    "type": "string"
                  },
                  "milestone": {
                    "type": "integer"
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "closed": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}": {
      "get": {
        "operationId": "getIssue",
        "summary": "Get a single issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Issue"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ]
      },
      "patch": {
        "operationId": "editIssue",
        "summary": "Edit an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Issue"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "body": {
                    "type": "string"
                  },
                  "assignee": {
                    "type": "string"
                  },
                  "milestone": {
                    "type": "integer"
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "open",
                      "closed"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/comments": {
      "get": {
        "operationId": "listIssueComments",
        "summary": "List comments on an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only comments updated at or after this time (RFC 3339)"
          }
        ]
      },
      "post": {
        "operationId": "createComment",
        "summary": "Create a comment",
        "tags": [
          "Issues"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  }
                },
                "required": [
                  "body"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues/comments": {
      "get": {
        "operationId": "listRepoComments",
        "summary": "List comments in a repository",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only comments updated at or after this time (RFC 3339)"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/comments/{id}": {
      "patch": {
        "operationId": "editComment",
        "summary": "Edit a comment",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Comment ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  }
                },
                "required": [
                  "body"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteComment",
        "summary": "Delete a comment",
        "tags": [
          "Issues"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Comment ID"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/labels": {
      "get": {
        "operationId": "listLabels",
        "summary": "List all labels for a repository",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Label"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      },
      "post": {
        "operationId": "createLabel",
        "summary": "Create a label",
        "tags": [
          "Issues"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Label"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string",
                    "description": "Hex color code with leading #"
                  }
                },
                "required": [
                  "name",
                  "color"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/labels/{id}": {
      "get": {
        "operationId": "getLabel",
        "summary": "Get a single label",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Label"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Label ID"
          }
        ]
      },
      "patch": {
        "operationId": "updateLabel",
        "summary": "Update a label",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Label"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Label ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteLabel",
        "summary": "Delete a label",
        "tags": [
          "Issues"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Label ID"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/labels": {
      "get": {
        "operationId": "listIssueLabels",
        "summary": "List labels on an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Label"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ]
      },
      "post": {
        "operationId": "addIssueLabels",
        "summary": "Add labels to an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Label"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  }
                },
                "required": [
                  "labels"
                ]
              }
            }
          }
        }
      },
      "put": {
        "operationId": "replaceIssueLabels",
        "summary": "Replace all labels for an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Label"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  }
                },
                "required": [
                  "labels"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeAllIssueLabels",
        "summary": "Remove all labels from an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/issues/{index}/labels/{id}": {
      "delete": {
        "operationId": "removeIssueLabel",
        "summary": "Remove a label from an issue",
        "tags": [
          "Issues"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Issue index"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Label ID"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/milestones": {
      "get": {
        "operationId": "listMilestones",
        "summary": "List milestones for a repository",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Milestone"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ]
      },
      "post": {
        "operationId": "createMilestone",
        "summary": "Create a milestone",
        "tags": [
          "Issues"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Milestone"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "due_on": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/milestones/{id}": {
      "get": {
        "operationId": "getMilestone",
        "summary": "Get a single milestone",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Milestone"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Milestone ID"
          }
        ]
      },
      "patch": {
        "operationId": "editMilestone",
        "summary": "Edit a milestone",
        "tags": [
          "Issues"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Milestone"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Milestone ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "due_on": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "open",
                      "closed"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteMilestone",
        "summary": "Delete a milestone",
        "tags": [
          "Issues"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Milestone ID"
          }
        ],
        "description": "Only users with write access to a repository can delete a milestone."
      }
    },
    "/users/search": {
      "get": {
        "operationId": "searchUsers",
        "summary": "Search for users",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Keyword of username"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 10
            },
            "description": "Max results"
          }
        ],
        "description": "Requests without authentication will return an empty email field for anti-spam purposes."
      }
    },
    "/users/{username}": {
      "get": {
        "operationId": "getUser",
        "summary": "Get a single user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/user": {
      "get": {
        "operationId": "getAuthenticatedUser",
        "summary": "Get the authenticated user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/tokens": {
      "get": {
        "operationId": "listAccessTokens",
        "summary": "List access tokens",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessToken"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "security": [
          {
            "BasicAuth": []
          }
        ],
        "description": "Requires basic authentication."
      },
      "post": {
        "operationId": "createAccessToken",
        "summary": "Create an access token",
        "tags": [
          "Users"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessToken"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ],
        "description": "Requires basic authentication."
      }
    },
    "/user/emails": {
      "get": {
        "operationId": "listEmails",
        "summary": "List email addresses",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Email"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "addEmails",
        "summary": "Add email addresses",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Email"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "emails": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "email"
                    }
                  }
                },
                "required": [
                  "emails"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteEmails",
        "summary": "Delete email addresses",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "emails": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "email"
                    }
                  }
                },
                "required": [
                  "emails"
                ]
              }
            }
          }
        }
      }
    },
    "/users/{username}/followers": {
      "get": {
        "operationId": "listUserFollowers",
        "summary": "List followers of a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/user/followers": {
      "get": {
        "operationId": "listMyFollowers",
        "summary": "List your followers",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/following": {
      "get": {
        "operationId": "listUserFollowing",
        "summary": "List users followed by a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/user/following": {
      "get": {
        "operationId": "listMyFollowing",
        "summary": "List who you are following",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/user/following/{target}": {
      "get": {
        "operationId": "checkFollowing",
        "summary": "Check if you follow a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "The user is being followed."
          },
          "404": {
            "description": "Not following"
          }
        },
        "parameters": [
          {
            "name": "target",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Target username"
          }
        ]
      },
      "put": {
        "operationId": "followUser",
        "summary": "Follow a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "Successfully followed the user."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "target",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Target username"
          }
        ]
      },
      "delete": {
        "operationId": "unfollowUser",
        "summary": "Unfollow a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "target",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Target username"
          }
        ]
      }
    },
    "/users/{username}/following/{target}": {
      "get": {
        "operationId": "checkUserFollowing",
        "summary": "Check if a user follows another",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "The user is being followed."
          },
          "404": {
            "description": "Not following"
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          },
          {
            "name": "target",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Target username"
          }
        ]
      }
    },
    "/users/{username}/keys": {
      "get": {
        "operationId": "listUserKeys",
        "summary": "List public keys for a user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicKey"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/user/keys/{id}": {
      "get": {
        "operationId": "getPublicKey",
        "summary": "Get a single public key",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKey"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Key ID"
          }
        ]
      },
      "delete": {
        "operationId": "deletePublicKey",
        "summary": "Delete a public key",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Key ID"
          }
        ]
      }
    },
    "/user/keys": {
      "get": {
        "operationId": "listMyKeys",
        "summary": "List your public keys",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicKey"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createPublicKey",
        "summary": "Create a public key",
        "tags": [
          "Users"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKey"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "key"
                ]
              }
            }
          }
        }
      }
    },
    "/user/orgs": {
      "get": {
        "operationId": "listMyOrgs",
        "summary": "List your organizations",
        "tags": [
          "Organizations"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createMyOrg",
        "summary": "Create an organization",
        "description": "Creates an organization for the authenticated user.",
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "website": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  }
                },
                "required": [
                  "username"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Organization created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "422": {
            "description": "Organization name already exists or is not allowed."
          }
        }
      }
    },
    "/users/{username}/orgs": {
      "get": {
        "operationId": "listUserOrgs",
        "summary": "List user organizations",
        "tags": [
          "Organizations"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ]
      }
    },
    "/orgs/{orgname}": {
      "get": {
        "operationId": "getOrg",
        "summary": "Get an organization",
        "tags": [
          "Organizations"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "orgname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ]
      },
      "patch": {
        "operationId": "editOrg",
        "summary": "Edit an organization",
        "tags": [
          "Organizations"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "orgname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "full_name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "website": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{orgname}/teams": {
      "get": {
        "operationId": "listOrgTeams",
        "summary": "List teams of an organization",
        "tags": [
          "Organizations"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Team"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "orgname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ]
      }
    },
    "/admin/users": {
      "post": {
        "operationId": "adminCreateUser",
        "summary": "Create a new user",
        "tags": [
          "Administration"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source_id": {
                    "type": "integer"
                  },
                  "login_name": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string"
                  },
                  "send_notify": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "username",
                  "email"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/users/{username}": {
      "patch": {
        "operationId": "adminEditUser",
        "summary": "Edit an existing user",
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source_id": {
                    "type": "integer"
                  },
                  "login_name": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string"
                  },
                  "website": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "admin": {
                    "type": "boolean"
                  },
                  "allow_git_hook": {
                    "type": "boolean"
                  },
                  "allow_import_local": {
                    "type": "boolean"
                  },
                  "max_repo_creation": {
                    "type": "integer",
                    "description": "Maximum number of repositories the user can create. -1 means no limit."
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      },
      "delete": {
        "operationId": "adminDeleteUser",
        "summary": "Delete a user",
        "tags": [
          "Administration"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/users/{username}/keys": {
      "post": {
        "operationId": "adminCreateUserKey",
        "summary": "Create a public key for a user",
        "tags": [
          "Administration"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKey"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "key"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/users/{username}/repos": {
      "post": {
        "operationId": "adminCreateRepo",
        "summary": "Create a repository for a user",
        "tags": [
          "Administration"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "private": {
                    "type": "boolean",
                    "default": false
                  },
                  "auto_init": {
                    "type": "boolean",
                    "default": false
                  },
                  "gitignores": {
                    "type": "string"
                  },
                  "license": {
                    "type": "string"
                  },
                  "readme": {
                    "type": "string",
                    "default": "Default"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/users/{username}/orgs": {
      "post": {
        "operationId": "adminCreateOrg",
        "summary": "Create an organization",
        "tags": [
          "Administration"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "website": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  }
                },
                "required": [
                  "username"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/orgs/{orgname}/teams": {
      "post": {
        "operationId": "adminCreateTeam",
        "summary": "Create a team",
        "tags": [
          "Administration"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "orgname",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Organization name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "permission": {
                    "type": "string",
                    "enum": [
                      "read",
                      "write",
                      "admin"
                    ],
                    "default": "read"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/teams/{teamid}/members": {
      "get": {
        "operationId": "adminListTeamMembers",
        "summary": "List all members of a team",
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "teamid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Team ID"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/teams/{teamid}/members/{username}": {
      "put": {
        "operationId": "adminAddTeamMember",
        "summary": "Add team membership",
        "tags": [
          "Administration"
        ],
        "responses": {
          "204": {
            "description": "Team membership has been updated."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "teamid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Team ID"
          },
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      },
      "delete": {
        "operationId": "adminRemoveTeamMember",
        "summary": "Remove team membership",
        "tags": [
          "Administration"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "teamid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Team ID"
          },
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Username"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/admin/teams/{teamid}/repos/{reponame}": {
      "put": {
        "operationId": "adminAddTeamRepo",
        "summary": "Add or update team repository",
        "tags": [
          "Administration"
        ],
        "responses": {
          "204": {
            "description": "Team repository has been updated."
          },
          "404": {
            "description": "Resource not found."
          },
          "422": {
            "description": "Validation error."
          }
        },
        "parameters": [
          {
            "name": "teamid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Team ID"
          },
          {
            "name": "reponame",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      },
      "delete": {
        "operationId": "adminRemoveTeamRepo",
        "summary": "Remove team repository",
        "tags": [
          "Administration"
        ],
        "responses": {
          "204": {
            "description": "The resource has been successfully deleted."
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "teamid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Team ID"
          },
          {
            "name": "reponame",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          }
        ],
        "description": "Requires the authenticated user to be a site administrator."
      }
    },
    "/markdown": {
      "post": {
        "operationId": "renderMarkdown",
        "summary": "Render a Markdown document",
        "tags": [
          "Miscellaneous"
        ],
        "responses": {
          "200": {
            "description": "Rendered HTML",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "context": {
                    "type": "string",
                    "description": "Repository context URL"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        }
      }
    },
    "/markdown/raw": {
      "post": {
        "operationId": "renderMarkdownRaw",
        "summary": "Render a Markdown document in raw mode",
        "tags": [
          "Miscellaneous"
        ],
        "responses": {
          "200": {
            "description": "Rendered HTML",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation error."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "text/plain": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "description": "Takes a Markdown document as plaintext and renders it without a repository context."
      }
    },
    "/repos/{owner}/{repo}/git/trees/{sha}": {
      "get": {
        "operationId": "getTree",
        "summary": "Get a tree",
        "tags": [
          "Miscellaneous"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitTree"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found."
          }
        },
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository owner"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Repository name"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Tree SHA"
          }
        ]
      }
    },
    "/repos/{owner}/{repo}/forks": {
      "get": {
        "operationId": "listForks",
        "summary": "List forks",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repository"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Repository not found."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/tags": {
      "get": {
        "operationId": "listTags",
        "summary": "List tags",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Repository not found."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits": {
      "get": {
        "operationId": "getAllCommits",
        "summary": "List all commits",
        "description": "Returns commits from the HEAD of the default branch.",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            },
            "description": "Number of commits to return"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Commit"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Repository not found."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/wiki": {
      "patch": {
        "operationId": "editWiki",
        "summary": "Edit wiki settings",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enable_wiki": {
                    "type": "boolean",
                    "description": "Whether to enable the wiki"
                  },
                  "allow_public_wiki": {
                    "type": "boolean",
                    "description": "Whether the wiki is publicly accessible"
                  },
                  "enable_external_wiki": {
                    "type": "boolean",
                    "description": "Whether to use an external wiki"
                  },
                  "external_wiki_url": {
                    "type": "string",
                    "description": "URL of the external wiki"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Wiki settings updated successfully."
          },
          "404": {
            "description": "Repository not found."
          },
          "422": {
            "description": "Validation error."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/editorconfig/{filename}": {
      "get": {
        "operationId": "getEditorconfig",
        "summary": "Get editorconfig definition",
        "description": "Returns the editorconfig definition for the given filename in the repository.",
        "tags": [
          "Repositories"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Filename to get the editorconfig definition for"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditorConfigDefinition"
                }
              }
            }
          },
          "404": {
            "description": "No editorconfig file exists or no matching definition for the filename."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/git/blobs/{sha}": {
      "get": {
        "operationId": "getGitBlob",
        "summary": "Get a git blob",
        "description": "Returns the content of a git blob object, base64 encoded.",
        "tags": [
          "Miscellaneous"
        ],
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Owner of the repository"
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the repository"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "SHA of the git blob"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitBlob"
                }
              }
            }
          },
          "404": {
            "description": "Blob not found."
          }
        }
      }
    },
    "/user/issues": {
      "get": {
        "operationId": "listUserIssues",
        "summary": "List issues assigned to the authenticated user",
        "description": "Lists issues across all repositories assigned to the authenticated user. Also available at `GET /issues`.",
        "tags": [
          "Issues"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Page number"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "open",
                "closed"
              ],
              "default": "open"
            },
            "description": "Filter by state"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic"
      },
      "AccessToken": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "Personal access token. Use format: token {YOUR_ACCESS_TOKEN}"
      }
    },
    "schemas": {
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "username": {
            "type": "string"
          },
          "login": {
            "type": "string",
            "description": "Alias of username for GitHub API compatibility"
          },
          "full_name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "avatar_url": {
            "type": "string"
          }
        }
      },
      "Collaborator": {
        "description": "A repository collaborator with permission information",
        "allOf": [
          {
            "$ref": "#/components/schemas/User"
          },
          {
            "type": "object",
            "properties": {
              "permissions": {
                "type": "object",
                "properties": {
                  "admin": {
                    "type": "boolean"
                  },
                  "push": {
                    "type": "boolean"
                  },
                  "pull": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        ]
      },
      "Repository": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "owner": {
            "$ref": "#/components/schemas/User"
          },
          "name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "private": {
            "type": "boolean"
          },
          "fork": {
            "type": "boolean"
          },
          "parent": {
            "$ref": "#/components/schemas/Repository",
            "nullable": true,
            "description": "Present when fork is true"
          },
          "empty": {
            "type": "boolean"
          },
          "mirror": {
            "type": "boolean"
          },
          "size": {
            "type": "integer"
          },
          "html_url": {
            "type": "string"
          },
          "ssh_url": {
            "type": "string"
          },
          "clone_url": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "stars_count": {
            "type": "integer"
          },
          "forks_count": {
            "type": "integer"
          },
          "watchers_count": {
            "type": "integer"
          },
          "open_issues_count": {
            "type": "integer"
          },
          "default_branch": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "permissions": {
            "type": "object",
            "properties": {
              "admin": {
                "type": "boolean"
              },
              "push": {
                "type": "boolean"
              },
              "pull": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "Branch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "commit": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  }
                }
              },
              "committer": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  }
                }
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "Commit": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "sha": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "commit": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "date": {
                    "type": "string"
                  }
                }
              },
              "committer": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "date": {
                    "type": "string"
                  }
                }
              },
              "tree": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "author": {
            "$ref": "#/components/schemas/User"
          },
          "committer": {
            "$ref": "#/components/schemas/User"
          },
          "parents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "sha": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Issue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "number": {
            "type": "integer"
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Label"
            }
          },
          "assignee": {
            "$ref": "#/components/schemas/User",
            "nullable": true
          },
          "milestone": {
            "$ref": "#/components/schemas/Milestone",
            "nullable": true
          },
          "comments": {
            "type": "integer"
          },
          "pull_request": {
            "type": "object",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Comment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "html_url": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "body": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Label": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "Milestone": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "open_issues": {
            "type": "integer"
          },
          "closed_issues": {
            "type": "integer"
          },
          "closed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "due_on": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Hook": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "type": {
            "type": "string",
            "enum": [
              "gogs",
              "slack",
              "discord",
              "dingtalk"
            ]
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "active": {
            "type": "boolean"
          },
          "config": {
            "type": "object"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Release": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "tag_name": {
            "type": "string"
          },
          "target_commitish": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "draft": {
            "type": "boolean"
          },
          "prerelease": {
            "type": "boolean"
          },
          "author": {
            "$ref": "#/components/schemas/User"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeployKey": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "key": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "read_only": {
            "type": "boolean"
          }
        }
      },
      "PublicKey": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "key": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccessToken": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "sha1": {
            "type": "string"
          }
        }
      },
      "Email": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "verified": {
            "type": "boolean"
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "username": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "location": {
            "type": "string"
          }
        }
      },
      "Team": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "permission": {
            "type": "string",
            "enum": [
              "read",
              "write",
              "admin",
              "owner"
            ]
          }
        }
      },
      "Content": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file",
              "dir",
              "symlink",
              "submodule"
            ]
          },
          "encoding": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "sha": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "git_url": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "download_url": {
            "type": "string"
          },
          "_links": {
            "type": "object",
            "properties": {
              "git": {
                "type": "string"
              },
              "self": {
                "type": "string"
              },
              "html": {
                "type": "string"
              }
            }
          }
        }
      },
      "GitTree": {
        "type": "object",
        "properties": {
          "sha": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "tree": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string"
                },
                "mode": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "size": {
                  "type": "integer"
                },
                "sha": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "GitBlob": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Base64-encoded blob content"
          },
          "encoding": {
            "type": "string",
            "example": "base64"
          },
          "url": {
            "type": "string"
          },
          "sha": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          }
        }
      },
      "Tag": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "commit": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "username": {
                    "type": "string"
                  }
                }
              },
              "committer": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "username": {
                    "type": "string"
                  }
                }
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "EditorConfigDefinition": {
        "type": "object",
        "properties": {
          "charset": {
            "type": "string"
          },
          "indent_style": {
            "type": "string"
          },
          "indent_size": {
            "type": "string"
          },
          "end_of_line": {
            "type": "string"
          }
        }
      }
    }
  }
}
