{
  "id": "github",
  "version": "1.0.0",
  "title": "GitHub API",
  "description": "GitHub REST API integration for repository management, issues, PRs, and workflows",
  "baseUrl": "https://api.github.com",
  "auth": {
    "type": "bearer",
    "header": "Authorization",
    "prefix": "Bearer",
    "docs": "https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens"
  },
  "modules": [
    {
      "id": "repos",
      "title": "Repositories",
      "description": "List, create, and manage repositories",
      "safe": true,
      "endpoints": [
        {
          "method": "GET",
          "path": "/user/repos",
          "description": "List authenticated user's repositories",
          "safe": true
        },
        {
          "method": "GET", 
          "path": "/repos/{owner}/{repo}",
          "description": "Get repository details",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" }
          ]
        },
        {
          "method": "GET",
          "path": "/repos/{owner}/{repo}/contents/{path}",
          "description": "Get repository content",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "path", "in": "path", "required": true, "type": "string" }
          ]
        }
      ]
    },
    {
      "id": "issues",
      "title": "Issues",
      "description": "Manage repository issues",
      "safe": true,
      "endpoints": [
        {
          "method": "GET",
          "path": "/repos/{owner}/{repo}/issues",
          "description": "List repository issues",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "state", "in": "query", "type": "string", "enum": ["open", "closed", "all"] },
            { "name": "labels", "in": "query", "type": "string" },
            { "name": "assignee", "in": "query", "type": "string" }
          ]
        },
        {
          "method": "GET",
          "path": "/repos/{owner}/{repo}/issues/{issue_number}",
          "description": "Get a single issue",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "issue_number", "in": "path", "required": true, "type": "number" }
          ]
        },
        {
          "method": "POST",
          "path": "/repos/{owner}/{repo}/issues",
          "description": "Create a new issue",
          "safe": false,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "title", "in": "body", "required": true, "type": "string" },
            { "name": "body", "in": "body", "type": "string" },
            { "name": "labels", "in": "body", "type": "array" }
          ]
        }
      ]
    },
    {
      "id": "pulls",
      "title": "Pull Requests",
      "description": "Manage pull requests",
      "safe": true,
      "endpoints": [
        {
          "method": "GET",
          "path": "/repos/{owner}/{repo}/pulls",
          "description": "List pull requests",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "state", "in": "query", "type": "string", "enum": ["open", "closed", "all"], "default": "open" }
          ]
        },
        {
          "method": "GET",
          "path": "/repos/{owner}/{repo}/pulls/{pull_number}",
          "description": "Get a single pull request",
          "safe": true,
          "params": [
            { "name": "owner", "in": "path", "required": true, "type": "string" },
            { "name": "repo", "in": "path", "required": true, "type": "string" },
            { "name": "pull_number", "in": "path", "required": true, "type": "number" }
          ]
        }
      ]
    },
    {
      "id": "search",
      "title": "Search",
      "description": "Search GitHub",
      "safe": true,
      "endpoints": [
        {
          "method": "GET",
          "path": "/search/repositories",
          "description": "Search repositories",
          "safe": true,
          "params": [
            { "name": "q", "in": "query", "required": true, "type": "string", "description": "Search query" },
            { "name": "sort", "in": "query", "type": "string", "enum": ["stars", "forks", "help-wanted-issues", "updated"] },
            { "name": "order", "in": "query", "type": "string", "enum": ["asc", "desc"], "default": "desc" }
          ]
        },
        {
          "method": "GET",
          "path": "/search/code",
          "description": "Search code",
          "safe": true,
          "params": [
            { "name": "q", "in": "query", "required": true, "type": "string" }
          ]
        }
      ]
    },
    {
      "id": "users",
      "title": "Users",
      "description": "User profile information",
      "safe": true,
      "endpoints": [
        {
          "method": "GET",
          "path": "/users/{username}",
          "description": "Get user profile",
          "safe": true,
          "params": [
            { "name": "username", "in": "path", "required": true, "type": "string" }
          ]
        },
        {
          "method": "GET",
          "path": "/users/{username}/repos",
          "description": "List user repositories",
          "safe": true,
          "params": [
            { "name": "username", "in": "path", "required": true, "type": "string" },
            { "name": "sort", "in": "query", "type": "string", "enum": ["created", "updated", "pushed", "full_name"] }
          ]
        }
      ]
    }
  ],
  "safeModules": 5,
  "totalModules": 5,
  "webhookSupport": true,
  "webhookEvents": [
    "push",
    "pull_request",
    "issues",
    "release",
    "workflow_run"
  ],
  "rateLimits": {
    "authenticated": 5000,
    "unauthenticated": 60
  },
  "docs": "https://docs.github.com/en/rest",
  "logo": "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png"
}
