Προmɛːtʰéu̯s

Προmɛːtʰéu̯s · GPT 작업

Hacker News API

API for accessing Hacker News data including items, users, and real-time updates.

  • GET /topstories.jsonTop Stories

    Retrieve top stories from Hacker News.

  • GET /newstories.jsonNew Stories

    Retrieve latest stories from Hacker News.

  • GET /beststories.jsonBest Stories

    Retrieve best stories from Hacker News.

  • GET /item/{itemId}.jsonItem Information

    Retrieve information about a specific item by its ID.

  • GET /user/{userId}.jsonUser Information

    Retrieve information about a specific user by their ID.

원본 API 스키마
{
  "openapi": "3.0.0",
  "info": {
    "title": "Hacker News API",
    "version": "1.0.0",
    "description": "API for accessing Hacker News data including items, users, and real-time updates."
  },
  "servers": [
    {
      "url": "https://hacker-news.firebaseio.com/v0"
    }
  ],
  "paths": {
    "/topstories.json": {
      "get": {
        "summary": "Top Stories",
        "description": "Retrieve top stories from Hacker News.",
        "operationId": "getTopStories",
        "responses": {
          "200": {
            "description": "An array of item IDs for top stories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/newstories.json": {
      "get": {
        "summary": "New Stories",
        "description": "Retrieve latest stories from Hacker News.",
        "operationId": "getNewStories",
        "responses": {
          "200": {
            "description": "An array of item IDs for new stories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/beststories.json": {
      "get": {
        "summary": "Best Stories",
        "description": "Retrieve best stories from Hacker News.",
        "operationId": "getBestStories",
        "responses": {
          "200": {
            "description": "An array of item IDs for best stories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/item/{itemId}.json": {
      "get": {
        "summary": "Item Information",
        "description": "Retrieve information about a specific item by its ID.",
        "operationId": "getItemById",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed information about the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Item"
                }
              }
            }
          }
        },
        "x-examples": {
          "example1": {
            "summary": "Example request for an item",
            "value": {
              "itemId": 8863
            }
          }
        }
      }
    },
    "/user/{userId}.json": {
      "get": {
        "summary": "User Information",
        "description": "Retrieve information about a specific user by their ID.",
        "operationId": "getUserById",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The ID of the user",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed information about the user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Item": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The item's unique ID."
          },
          "deleted": {
            "type": "boolean",
            "description": "True if the item is deleted."
          },
          "type": {
            "type": "string",
            "description": "The type of item (e.g., story, comment)."
          },
          "by": {
            "type": "string",
            "description": "The username of the item's author."
          },
          "time": {
            "type": "integer",
            "description": "Creation time of the item, in Unix Time."
          },
          "text": {
            "type": "string",
            "description": "The text of the item, if available."
          },
          "dead": {
            "type": "boolean",
            "description": "True if the item is marked as dead."
          },
          "parent": {
            "type": "integer",
            "description": "The parent item's ID, for comments or replies."
          },
          "poll": {
            "type": "integer",
            "description": "The poll ID, if the item is a poll."
          },
          "kids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Array of comment IDs, if the item has comments."
          },
          "url": {
            "type": "string",
            "description": "The URL of the story, if applicable."
          },
          "score": {
            "type": "integer",
            "description": "The score of the story or poll."
          },
          "title": {
            "type": "string",
            "description": "The title of the story, poll, or other items."
          },
          "parts": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Parts of the poll, if the item is a poll."
          },
          "descendants": {
            "type": "integer",
            "description": "The number of direct and indirect child comments."
          }
        }
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The user's unique ID."
          },
          "delay": {
            "type": "integer",
            "description": "Delay in minutes before the user's comments are visible."
          },
          "created": {
            "type": "integer",
            "description": "Account creation time in Unix Time."
          },
          "karma": {
            "type": "integer",
            "description": "The user's karma score."
          },
          "about": {
            "type": "string",
            "description": "Brief profile description of the user."
          },
          "submitted": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "List of IDs for submissions made by the user."
          }
        }
      }
    }
  }
}

GitHub API for Custom GPT with Image Support

This API facilitates advanced interactions with GitHub, including enhanced support for image content associated with user profiles, repositories, issues, and pull requests.

  • GET /users/{username}Get user profile information, including avatar image URL.
  • GET /users/{username}/reposList repositories for a user.
  • GET /repos/{owner}/{repo}/issuesList all issues for a repository, including any image URLs in issue bodies.
  • POST /repos/{owner}/{repo}/issuesCreate an issue, potentially including image URLs in the body.
  • GET /repos/{owner}/{repo}/pullsList all pull requests for a repository, including any image URLs in pull request bodies.
  • GET /repos/{owner}/{repo}/commitsList recent commits in a repository.
  • GET /repos/{owner}/{repo}/contents/{path}Get the contents of a file or directory in a repository.
원본 API 스키마
{
  "openapi": "3.1.0",
  "info": {
    "title": "GitHub API for Custom GPT with Image Support",
    "version": "1.0",
    "description": "This API facilitates advanced interactions with GitHub, including enhanced support for image content associated with user profiles, repositories, issues, and pull requests."
  },
  "servers": [
    {
      "url": "https://api.github.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Bearer token for authorized access to GitHub API."
      }
    },
    "schemas": {
      "UserProfile": {
        "type": "object",
        "properties": {
          "login": {
            "type": "string",
            "description": "Username of the user."
          },
          "id": {
            "type": "integer",
            "description": "User ID."
          },
          "avatar_url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the user's avatar image."
          },
          "html_url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the user's GitHub profile."
          },
          "followers_count": {
            "type": "integer",
            "description": "Total number of followers."
          },
          "following_count": {
            "type": "integer",
            "description": "Total number of users the user is following."
          },
          "public_repos": {
            "type": "integer",
            "description": "Total number of public repositories."
          }
        }
      },
      "Repository": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Repository ID."
          },
          "name": {
            "type": "string",
            "description": "Name of the repository."
          },
          "full_name": {
            "type": "string",
            "description": "Full name of the repository, including owner."
          },
          "private": {
            "type": "boolean",
            "description": "Indicates if the repository is private."
          },
          "html_url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the repository."
          },
          "description": {
            "type": "string",
            "description": "Repository description."
          },
          "stargazers_count": {
            "type": "integer",
            "description": "Total number of stars."
          },
          "watchers_count": {
            "type": "integer",
            "description": "Total number of watchers."
          },
          "language": {
            "type": "string",
            "description": "Primary language of the repository."
          },
          "forks_count": {
            "type": "integer",
            "description": "Total number of forks."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of repository creation."
          }
        }
      },
      "Issue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the issue."
          },
          "title": {
            "type": "string",
            "description": "Title of the issue."
          },
          "body": {
            "type": "string",
            "description": "Detailed description of the issue, may include Markdown with embedded images."
          },
          "state": {
            "type": "string",
            "description": "State of the issue (open, closed)."
          }
        }
      },
      "Commit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the commit."
          },
          "message": {
            "type": "string",
            "description": "Commit message."
          },
          "author": {
            "$ref": "#/components/schemas/UserProfile"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the commit."
          }
        }
      },
      "PullRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the pull request."
          },
          "title": {
            "type": "string",
            "description": "Title of the pull request."
          },
          "body": {
            "type": "string",
            "description": "Detailed description of the pull request, may include Markdown with embedded images."
          },
          "state": {
            "type": "string",
            "description": "State of the pull request (open, closed)."
          }
        }
      },
      "DirectoryContent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dir"
            ],
            "description": "Indicates this is a directory."
          },
          "name": {
            "type": "string",
            "description": "Name of the directory."
          },
          "path": {
            "type": "string",
            "description": "Full path to the directory within the repository."
          },
          "download_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to download the directory (as an archive)."
          },
          "contents_url": {
            "type": "string",
            "format": "uri",
            "description": "API URL to retrieve the contents of the directory."
          }
        }
      },
      "FileContent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file"
            ],
            "description": "Indicates this is a file."
          },
          "encoding": {
            "type": "string",
            "description": "Encoding of the file content, e.g., base64."
          },
          "size": {
            "type": "integer",
            "description": "Size of the file in bytes."
          },
          "name": {
            "type": "string",
            "description": "Name of the file."
          },
          "path": {
            "type": "string",
            "description": "Full path to the file within the repository."
          },
          "content": {
            "type": "string",
            "description": "The content of the file."
          },
          "download_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to download the file."
          }
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/users/{username}": {
      "get": {
        "summary": "Get user profile information, including avatar image URL.",
        "operationId": "getUserProfile",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "GitHub username"
          }
        ],
        "responses": {
          "200": {
            "description": "Profile information of the user, including avatar image URL.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfile"
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/repos": {
      "get": {
        "summary": "List repositories for a user.",
        "operationId": "listUserRepos",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "GitHub username"
          }
        ],
        "responses": {
          "200": {
            "description": "List of repositories for the user.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repository"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/issues": {
      "get": {
        "summary": "List all issues for a repository, including any image URLs in issue bodies.",
        "operationId": "listRepoIssues",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The username of the owner of the repository."
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the repository."
          }
        ],
        "responses": {
          "200": {
            "description": "An array of issues.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Issue"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an issue, potentially including image URLs in the body.",
        "operationId": "createRepoIssue",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The username of the owner of the repository."
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the repository."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Issue"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Issue created."
          }
        }
      }
    },
    "/repos/{owner}/{repo}/pulls": {
      "get": {
        "summary": "List all pull requests for a repository, including any image URLs in pull request bodies.",
        "operationId": "listRepoPullRequests",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The username of the owner of the repository."
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the repository."
          }
        ],
        "responses": {
          "200": {
            "description": "An array of pull requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PullRequest"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/commits": {
      "get": {
        "summary": "List recent commits in a repository.",
        "operationId": "listRepoCommits",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The username of the owner of the repository."
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the repository."
          }
        ],
        "responses": {
          "200": {
            "description": "An array of commits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Commit"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/repos/{owner}/{repo}/contents/{path}": {
      "get": {
        "summary": "Get the contents of a file or directory in a repository.",
        "operationId": "getRepoContents",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The username of the owner of the repository."
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the repository."
          },
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The file or directory path within the repository."
          }
        ],
        "responses": {
          "200": {
            "description": "The content of the file or directory.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/DirectoryContent"
                    },
                    {
                      "$ref": "#/components/schemas/FileContent"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}

Enhanced DEV.to API

Extends the DEV.to platform capabilities, offering advanced access to articles, comments, user profiles, podcast episodes, reading lists, tags, listings, videos, and more. Designed for improved user engagement, content discovery, and community interaction.

  • GET /articlesRetrieve latest articles
  • GET /articles/{id}Get a specific article by ID
  • GET /podcast_episodesRetrieve podcast episodes
  • GET /tagsRetrieve a list of tags
  • GET /comments/article/{article_id}Retrieve comments for a given article
  • GET /users/{id}Retrieve a single user by ID or username
  • GET /users/{username}/articlesRetrieve all articles by a specific user
  • GET /users/{username}/podcast_episodesRetrieve all podcast episodes by a specific user
  • GET /users/{username}/commentsRetrieve all comments made by a specific user
  • GET /users/{username}/readinglistRetrieve reading list of a specific user
  • GET /users/{username}/tagsRetrieve all tags followed by a specific user
  • GET /users/{username}/videosRetrieve all video articles uploaded by a specific user
  • GET /readinglistRetrieve the authenticated user's reading list
  • GET /follows/tagsRetrieve a list of the tags followed by the authenticated user
  • GET /articles/meRetrieve the authenticated user's published articles
  • GET /articles/me/publishedRetrieve the authenticated user's published articles
  • GET /articles/me/unpublishedRetrieve the authenticated user's unpublished articles
  • GET /articles/me/allRetrieve all articles by the authenticated user
  • GET /users/meRetrieve information about the authenticated user
  • POST /admin/usersInvites a user to the Forem Instance
  • GET /videosRetrieve a list of articles with videos
  • GET /profile_images/{username}Retrieve a user or organization profile image
원본 API 스키마
{
  "openapi": "3.0.0",
  "info": {
    "title": "Enhanced DEV.to API",
    "version": "2.0",
    "description": "Extends the DEV.to platform capabilities, offering advanced access to articles, comments, user profiles, podcast episodes, reading lists, tags, listings, videos, and more. Designed for improved user engagement, content discovery, and community interaction.\n"
  },
  "servers": [
    {
      "url": "https://dev.to/api"
    }
  ],
  "paths": {
    "/articles": {
      "get": {
        "summary": "Retrieve latest articles",
        "operationId": "getLatestArticles",
        "responses": {
          "200": {
            "description": "An array of articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/articles/{id}": {
      "get": {
        "summary": "Get a specific article by ID",
        "operationId": "getArticleById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed article information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            }
          }
        }
      }
    },
    "/podcast_episodes": {
      "get": {
        "summary": "Retrieve podcast episodes",
        "operationId": "getPodcastEpisodes",
        "responses": {
          "200": {
            "description": "An array of podcast episodes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PodcastEpisode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tags": {
      "get": {
        "summary": "Retrieve a list of tags",
        "operationId": "getAllTags",
        "responses": {
          "200": {
            "description": "A list of tags ordered by popularity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/comments/article/{article_id}": {
      "get": {
        "summary": "Retrieve comments for a given article",
        "operationId": "getCommentsByArticleId",
        "parameters": [
          {
            "name": "article_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of comments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{id}": {
      "get": {
        "summary": "Retrieve a single user by ID or username",
        "operationId": "getUserById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "oneOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "User information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/articles": {
      "get": {
        "summary": "Retrieve all articles by a specific user",
        "operationId": "getUserArticlesByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/podcast_episodes": {
      "get": {
        "summary": "Retrieve all podcast episodes by a specific user",
        "operationId": "getUserPodcastEpisodesByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of podcast episodes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PodcastEpisode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/comments": {
      "get": {
        "summary": "Retrieve all comments made by a specific user",
        "operationId": "getUserCommentsByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of comments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/readinglist": {
      "get": {
        "summary": "Retrieve reading list of a specific user",
        "operationId": "getUserReadingListByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of reading list items",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "article": {
                        "$ref": "#/components/schemas/Article"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/tags": {
      "get": {
        "summary": "Retrieve all tags followed by a specific user",
        "operationId": "getUserTagsByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of tags",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{username}/videos": {
      "get": {
        "summary": "Retrieve all video articles uploaded by a specific user",
        "operationId": "getUserVideosByUsername",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of video articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/readinglist": {
      "get": {
        "summary": "Retrieve the authenticated user's reading list",
        "operationId": "getUserReadingList",
        "responses": {
          "200": {
            "description": "The reading list with an overview of the article",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/follows/tags": {
      "get": {
        "summary": "Retrieve a list of the tags followed by the authenticated user",
        "operationId": "getFollowedTags",
        "responses": {
          "200": {
            "description": "A list of followed tags",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/articles/me": {
      "get": {
        "summary": "Retrieve the authenticated user's published articles",
        "operationId": "getUserPublishedArticles",
        "responses": {
          "200": {
            "description": "A list of published articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/articles/me/published": {
      "get": {
        "summary": "Retrieve the authenticated user's published articles",
        "operationId": "getUserPublishedArticlesSpecific",
        "responses": {
          "200": {
            "description": "A list of published articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/articles/me/unpublished": {
      "get": {
        "summary": "Retrieve the authenticated user's unpublished articles",
        "operationId": "getUserUnpublishedArticles",
        "responses": {
          "200": {
            "description": "A list of unpublished articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/articles/me/all": {
      "get": {
        "summary": "Retrieve all articles by the authenticated user",
        "operationId": "getUserAllArticles",
        "responses": {
          "200": {
            "description": "A list of all articles, both published and unpublished",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/me": {
      "get": {
        "summary": "Retrieve information about the authenticated user",
        "operationId": "getAuthenticatedUser",
        "responses": {
          "200": {
            "description": "Information about the authenticated user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        }
      }
    },
    "/admin/users": {
      "post": {
        "summary": "Invites a user to the Forem Instance",
        "operationId": "inviteUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The invitation was created"
          }
        }
      }
    },
    "/videos": {
      "get": {
        "summary": "Retrieve a list of articles with videos",
        "operationId": "getVideoArticles",
        "responses": {
          "200": {
            "description": "A list of video articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/profile_images/{username}": {
      "get": {
        "summary": "Retrieve a user or organization profile image",
        "operationId": "getProfileImage",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Profile image information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type_of": {
                      "type": "string"
                    },
                    "image_of": {
                      "type": "string"
                    },
                    "profile_image": {
                      "type": "string"
                    },
                    "profile_image_90": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "API-Key"
      }
    },
    "schemas": {
      "Article": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "body_markdown": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "comments_count": {
            "type": "integer"
          },
          "published_at": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        }
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "twitter_username": {
            "type": "string"
          },
          "github_username": {
            "type": "string"
          },
          "website_url": {
            "type": "string"
          },
          "profile_image": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "PodcastEpisode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "podcast": {
            "$ref": "#/components/schemas/Podcast"
          },
          "published_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Podcast": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "Tag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "bg_color_hex": {
            "type": "string"
          },
          "text_color_hex": {
            "type": "string"
          }
        }
      },
      "Comment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "body_html": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Listing": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "category": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "body_markdown": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        }
      }
    }
  }
}

Stack Exchange API for Custom GPT Integration

This API schema enables extensive interaction with the Stack Exchange network, including querying questions, answers, users, and tags.

  • GET /questionsRetrieve a list of questions
  • GET /answersRetrieve answers for questions
원본 API 스키마
{
  "openapi": "3.1.0",
  "info": {
    "title": "Stack Exchange API for Custom GPT Integration",
    "version": "1.0.0",
    "description": "This API schema enables extensive interaction with the Stack Exchange network, including querying questions, answers, users, and tags."
  },
  "servers": [
    {
      "url": "https://api.stackexchange.com/2.3"
    }
  ],
  "paths": {
    "/questions": {
      "get": {
        "summary": "Retrieve a list of questions",
        "operationId": "getQuestions",
        "parameters": [
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Order of returned items (asc or desc)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sorting criterion (activity, votes, creation, hot)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagged",
            "in": "query",
            "required": false,
            "description": "Filter questions by tags",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "site",
            "in": "query",
            "required": true,
            "description": "Stack Exchange site to query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with a list of questions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Question"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/answers": {
      "get": {
        "summary": "Retrieve answers for questions",
        "operationId": "getAnswers",
        "parameters": [
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Order of returned items (asc or desc)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sorting criterion (activity, votes, creation)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "site",
            "in": "query",
            "required": true,
            "description": "Stack Exchange site to query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with a list of answers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Answer"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Question": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the question"
          },
          "title": {
            "type": "string",
            "description": "Title of the question"
          },
          "body": {
            "type": "string",
            "description": "Body of the question"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with the question"
          },
          "creation_date": {
            "type": "integer",
            "description": "Unix timestamp of when the question was created"
          },
          "last_activity_date": {
            "type": "integer",
            "description": "Unix timestamp of the question's last activity"
          },
          "score": {
            "type": "integer",
            "description": "Score of the question"
          },
          "answer_count": {
            "type": "integer",
            "description": "Number of answers the question has received"
          },
          "owner": {
            "$ref": "#/components/schemas/User"
          },
          "is_answered": {
            "type": "boolean",
            "description": "Indicates whether the question has an accepted answer"
          }
        }
      },
      "Answer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier for the answer"
          },
          "question_id": {
            "type": "integer",
            "description": "Identifier of the associated question"
          },
          "body": {
            "type": "string",
            "description": "Body of the answer"
          },
          "creation_date": {
            "type": "integer",
            "description": "Unix timestamp of when the answer was created"
          },
          "last_activity_date": {
            "type": "integer",
            "description": "Unix timestamp of the answer's last activity"
          },
          "score": {
            "type": "integer",
            "description": "Score of the answer"
          },
          "owner": {
            "$ref": "#/components/schemas/User"
          }
        }
      },
      "User": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "description": "Unique identifier for the user"
          },
          "display_name": {
            "type": "string",
            "description": "Display name of the user"
          },
          "profile_image": {
            "type": "string",
            "description": "URL to the user's profile image"
          },
          "reputation": {
            "type": "integer",
            "description": "User's reputation score"
          },
          "accept_rate": {
            "type": "integer",
            "description": "Percentage of the user's questions that have accepted answers"
          }
        }
      }
    }
  }
}