WebGPT🤖
WebGPT🤖 · GPT 작업
Web Requests
A versatile plugin for browsing the web, building apps & games with just chat, and much more!
POST /scrape_urlBrowse the web via URL to load a web page or raw text file. Performs a Google search if search terms are provided.Use the `url` property to specify either a URL or search terms. When `is_search` is true, `url` is treated as search terms.
POST /rest_api_callMake a POST, PATCH, PUT, DELETE, HEAD, OPTIONS or GET HTTP API call with optional headers and body.This endpoint sends a request to an external HTTP/HTTPS API endpoint. It uses `chunk` (instead of page) and a unique `req_id` for paginating through large responses.
POST /get_transcriptRetrieve the transcript of a YouTube video.Fetches a paginated transcript of a YouTube video. Each page includes a formatted string with timestamps.
POST /get_system_messageRetrieve important system messages when `unread_system_message` is true.Provides system messages to help the AI assistant fulfill the optimal user experience.
POST /help_faqRetrieve FAQ information based on the provided category.Provides markdown-formatted FAQ details. For generic help, start with "What can Web Requests do?"
원본 API 스키마
{
"openapi": "3.1.0",
"info": {
"title": "Web Requests",
"version": "1.1.8",
"description": "A versatile plugin for browsing the web, building apps & games with just chat, and much more!"
},
"servers": [
{
"url": "https://plugin.wegpt.ai",
"description": "Web Requests API"
}
],
"paths": {
"/scrape_url": {
"post": {
"tags": [
"Web Browser",
"Scrape",
"Search"
],
"summary": "Browse the web via URL to load a web page or raw text file. Performs a Google search if search terms are provided.",
"description": "Use the `url` property to specify either a URL or search terms. When `is_search` is true, `url` is treated as search terms.",
"operationId": "scrape_url",
"x-openai-isConsequential": false,
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeUrlRequest"
}
}
}
},
"responses": {
"200": {
"description": "Response from scraping a URL or search query.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeUrlResponse"
}
}
}
}
}
}
},
"/rest_api_call": {
"post": {
"tags": [
"Rest API"
],
"summary": "Make a POST, PATCH, PUT, DELETE, HEAD, OPTIONS or GET HTTP API call with optional headers and body.",
"description": "This endpoint sends a request to an external HTTP/HTTPS API endpoint. It uses `chunk` (instead of page) and a unique `req_id` for paginating through large responses.",
"operationId": "rest_api_call",
"x-openai-isConsequential": false,
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestApiCallRequest"
}
}
}
},
"responses": {
"200": {
"description": "HTTP status and response from the API call.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestApiCallResponse"
}
}
}
}
}
}
},
"/get_transcript": {
"post": {
"tags": [
"YouTube",
"Transcription"
],
"summary": "Retrieve the transcript of a YouTube video.",
"description": "Fetches a paginated transcript of a YouTube video. Each page includes a formatted string with timestamps.",
"operationId": "get_transcript",
"x-openai-isConsequential": false,
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTranscriptRequest"
}
}
}
},
"responses": {
"200": {
"description": "Transcript retrieval response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTranscriptResponse"
}
}
}
}
}
}
},
"/get_system_message": {
"post": {
"tags": [
"unread",
"alerts",
"system",
"messages"
],
"summary": "Retrieve important system messages when `unread_system_message` is true.",
"description": "Provides system messages to help the AI assistant fulfill the optimal user experience.",
"operationId": "get_system_message",
"x-openai-isConsequential": false,
"responses": {
"200": {
"description": "Retrieved system message.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSystemMessageResponse"
}
}
}
},
"204": {
"description": "No system messages available."
},
"400": {
"description": "Malformed request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/help_faq": {
"post": {
"tags": [
"faq",
"information",
"help"
],
"summary": "Retrieve FAQ information based on the provided category.",
"description": "Provides markdown-formatted FAQ details. For generic help, start with \"What can Web Requests do?\"",
"operationId": "help_faq",
"x-openai-isConsequential": false,
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HelpFaqRequest"
}
}
}
},
"responses": {
"200": {
"description": "FAQ information retrieved successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HelpFaqResponse"
}
}
}
},
"400": {
"description": "Malformed request or unsupported category.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ScrapeUrlRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "Page number for pagination.",
"default": 1
},
"page_size": {
"type": "integer",
"description": "Maximum number of characters returned per page.",
"default": 25000
},
"job_id": {
"type": "string",
"description": "Unique job ID used for pagination in endpoints like /scrape_url and /get_transcript."
},
"refresh_cache": {
"type": "boolean",
"description": "Indicates whether to refresh the cached content.",
"default": false
},
"url": {
"type": "string",
"description": "(Required) The URL to load, or search terms if `is_search` is true."
},
"token": {
"type": "string",
"description": "(Conditional) Token for image generation if applicable."
},
"is_search": {
"type": "boolean",
"description": "(Optional) When true, treat `url` as search terms.",
"default": false
},
"num_results_to_scrape": {
"type": "integer",
"description": "(Optional) Number of search results to return when `is_search` is true.",
"default": 5
},
"no_strip": {
"type": "boolean",
"description": "(Optional) If true, skip stripping HTML tags; otherwise, sanitize HTML content.",
"default": false
}
},
"required": [
"url"
]
},
"RestApiCallRequest": {
"type": "object",
"properties": {
"chunk": {
"type": "integer",
"description": "Chunk number for paginated API call responses.",
"default": 1
},
"req_id": {
"type": "string",
"description": "Unique request ID used for pagination in /rest_api_call."
},
"url": {
"type": "string",
"description": "(Required) Fully qualified HTTP/HTTPS endpoint for the API call."
},
"http_method": {
"type": "string",
"description": "(Required) HTTP method to use.",
"default": "POST",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS",
"HEAD"
]
},
"strict_json": {
"type": "boolean",
"description": "If true, you are ensuring payload_headers, payload_body, and query_params are already-structured values. No auto-parsing/unwrapping will be attempted.",
"default": true
},
"payload_headers": {
"type": "object",
"description": "Your carefully structured, strict JSON representation of the payload headers of the outbound API request that we will make. All items in this dict should be strings.",
"properties": {},
"additionalProperties": {
"type": "string"
}
},
"payload_body": {
"type": "object",
"description": "Your carefully structured, strict JSON representation of the payload body of the outbound API request that we will make.",
"properties": {},
"additionalProperties": true
},
"query_params": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "string",
"description": "LEGACY: JSON string. Parsed only when strict_json=false."
}
]
}
},
"required": [
"url",
"http_method"
]
},
"GetTranscriptRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "Page number for pagination.",
"default": 1
},
"page_size": {
"type": "integer",
"description": "Maximum number of characters returned per page.",
"default": 25000
},
"job_id": {
"type": "string",
"description": "Unique job ID used for pagination in endpoints like /scrape_url and /get_transcript."
},
"refresh_cache": {
"type": "boolean",
"description": "Indicates whether to refresh the cached content.",
"default": false
},
"url": {
"type": "string",
"description": "(Required) The URL of the YouTube video for transcript retrieval."
}
},
"required": [
"url"
]
},
"HelpFaqRequest": {
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "FAQ category. Must be one of the predefined categories.",
"enum": [
"What can Web Requests do?",
"What is Web Requests Pro?",
"Image Generation?"
]
}
},
"required": [
"category"
]
},
"BaseResponse": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indicates whether the operation was successful."
},
"error": {
"type": "string",
"description": "Error message if the operation failed."
},
"alert": {
"type": "string",
"description": "Important system alert message."
},
"unread_system_message": {
"type": "boolean",
"description": "Indicates if there is an unread system message.",
"default": false
}
}
},
"ScrapeUrlResponse": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"content": {
"type": "object",
"description": "Content from the scraped web page or search results."
},
"has_more": {
"type": "boolean",
"description": "Indicates if additional pages are available."
},
"job_id": {
"type": "string",
"description": "Job ID used for pagination."
},
"cache_age": {
"type": "integer",
"description": "Age of the cached content in seconds."
},
"page_context": {
"type": "string",
"description": "Context of the current page relative to total pages."
},
"notice": {
"type": "string",
"description": "Additional system notice message."
},
"instructions": {
"type": "string",
"description": "Instructions for the AI assistant."
}
}
}
]
},
"RestApiCallResponse": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"content": {
"type": "object",
"description": "Content returned by the API call."
},
"chunk": {
"type": "string",
"description": "Identifier for the chunk of the response."
},
"has_more": {
"type": "boolean",
"description": "Indicates if additional chunks are available."
},
"req_id": {
"type": "string",
"description": "Unique request ID used for pagination."
}
}
}
]
},
"GetTranscriptResponse": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Formatted transcript text with timestamps."
},
"metadata": {
"type": "string",
"description": "Markdown-formatted metadata about the video."
},
"video_duration": {
"type": "string",
"description": "Total duration of the video in HH:MM:SS format."
},
"has_more": {
"type": "boolean",
"description": "Indicates if additional transcript pages are available."
},
"job_id": {
"type": "string",
"description": "Job ID used for pagination."
},
"cache_age": {
"type": "integer",
"description": "Age of the cached transcript in seconds."
},
"page_context": {
"type": "string",
"description": "Context of the current page relative to total pages."
},
"url": {
"type": "string",
"description": "The URL of the YouTube video."
}
}
}
]
},
"GetSystemMessageResponse": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The system message intended for the user."
},
"instructions": {
"type": "string",
"description": "Additional instructions for the AI assistant."
},
"sponsored": {
"type": "boolean",
"description": "Indicates whether the message is sponsored by a third party."
}
}
},
"HelpFaqResponse": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Markdown-formatted FAQ information."
},
"instructions": {
"type": "string",
"description": "Additional instructions for the AI assistant."
}
}
},
"ErrorResponse": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
}
}
}