논문 영상 추천 - Lecture for PAPER · GPT 작업
Keymate.AI Web Search API
This is designed to enhance your knowledge grounded responses by searching the internet for up-to-date information to allow you to retrieve data beyond your data cutoff date. FALLBACK TO /search operation in case of an FUNCTION_INVOCATION_TIMEOUT or 504 or 500 error
GET /internetsearchSearch Google and fetch HTML content and PDF summary content from the links at the same time in one go.Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.
GET /browseurlThe plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.
GET /hybridSearch Google and fetch HTML content and search content on personal Keymate Memory at the same time in one go.Searches internet and personal Keymate Memory using the provided query that is recreated by ChatGPT and returns the results. Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or FUNCTION_INVOCATION_TIMEOUT occurs.Cite link field.
GET /metadatakbAllows you to answer introductory info about users Keymate memory.It brings the metadata about Keymate memory. Shows number of records and a sample record.
GET /documentAllows user to load and use content about specific uploaded documentUse this when you have fileUrl from listpdfs operation or fileName given by user
GET /pdfproAllows user to load and use content about specific uploaded pdfUse this when you have fileUrl from listpdfs operation or fileName given by user
GET /listpdfsLists pdf files uploaded by the userIt provides file name of the uploaded file to reference and the access url
GET /searchSearch Google and fetch HTML content and PDF summary content from the links at the same time in one go.Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.
GET /searchgiantSearch Google and fetch HTML content and PDF summary content from the links at the same time in one go.Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.
GET /ultrafastsearchThis plugin provides 10 ultra fast search results from multiple sources giving a more comprehensive view.This plugin uses official Google Plugin so it provides the fastest results available with edge processors. Use this endpoint first to give ultra fast quick and accurate responses, the results are structured with clear summaries, making it easier for the user to quickly grasp the information.
GET /browseThe plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.
GET /browsegiantThe plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.
GET /upsertLong term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.
POST /upsertjsonLong term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.
GET /insertLong term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.
GET /pdfloadRedirect user to the given link in the response that will allow them to store and search their PDF file contentExplain user they should login in the website given and press LOAD PDF button on top left. Any user can use this feature.
GET /listReturns a message from the server about commands that can be run on the internetSearch KeyMate plugin.You should obey user's command if user start the command with / character
GET /helpThis command returns latest information about how to use internetSearch KeyMate PluginYou should obey user's command if user start the command with / character
GET /queryQueries the user's Keymate Memory.It brings the data previously inserted by other sessions to user's Keymate Memory.
GET /pdfsearchQueries the user's Keymate Memory.It brings the data previously inserted by other sessions to user's Keymate Memory.
GET /resetDeletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USERIt deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.
GET /browseByUrlThe plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.
GET /upsertToUsersKnowledgeBaseLong term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.
GET /queryUsersKnowledgeBaseQueries the user's Keymate Memory.It brings the data previously inserted by other sessions to user's Keymate Memory.
GET /resetUsersKnowledgeBaseDeletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USERIt deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.
GET /automationrpaAutomationRPA should use this, it creates an automation on make.com based on a task created by WebsiteRPA.It helps user to create a web crawler based gpt-4 rpa automation that runs every 15 minutes
GET /resetKnowledgeBaseDeletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USERIt deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.
원본 API 스키마
{
"openapi": "3.0.3",
"info": {
"title": "Keymate.AI Web Search API",
"description": "This is designed to enhance your knowledge grounded responses by searching the internet for up-to-date information to allow you to retrieve data beyond your data cutoff date. FALLBACK TO /search operation in case of an FUNCTION_INVOCATION_TIMEOUT or 504 or 500 error",
"version": "1.0.1"
},
"paths": {
"/internetsearch": {
"get": {
"operationId": "internetsearch",
"summary": "Search Google and fetch HTML content and PDF summary content from the links at the same time in one go.",
"description": "Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search query",
"required": true,
"schema": {
"type": "string"
},
"example": "python"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '6' if ResponseTooLarge occurs, only reduce to '3' or '4' if user requests it.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Start it as '6'. Retry the request by decreasing only this one if 'ResponseTooLarge' occurs. Should be between 1 and 10.",
"required": true,
"schema": {
"type": "string"
},
"example": "6"
},
{
"name": "inputwindowwords",
"in": "query",
"description": "Set it as '1000' first if responsetoolarge occurs reduce it to 1000.",
"required": true,
"schema": {
"type": "string"
},
"example": "1000"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
},
{
"title": "Python (programming language) - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"summary": "Python is an interpreted, high-level, general-purpose programming language...",
"full_content": "Python is an interpreted, high-level, general-purpose programming language..."
}
],
"rules": "Follow the instructions provided."
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/browseurl": {
"get": {
"operationId": "browseurl",
"summary": "The plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.",
"description": "Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "URL of the website.",
"required": true,
"schema": {
"type": "string",
"format": "url"
},
"example": "https://keymate.ai"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '2' if ResponseTooLarge occurs you can multiply it with 2 for each retry.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Set it as '1'",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "inputwindowwords",
"in": "query",
"description": "Set it as '10000' first if responsetoolarge occurs reduce it to 2000.",
"required": true,
"schema": {
"type": "string"
},
"example": "10000"
},
{
"name": "paging",
"in": "query",
"description": "Set it as '1' first then according to results you can increase it by one to get the other part of the same page.",
"schema": {
"type": "string"
},
"example": "1"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
}
],
"rules": "Follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/hybrid": {
"get": {
"operationId": "hybrid",
"summary": "Search Google and fetch HTML content and search content on personal Keymate Memory at the same time in one go.",
"description": "Searches internet and personal Keymate Memory using the provided query that is recreated by ChatGPT and returns the results. Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or FUNCTION_INVOCATION_TIMEOUT occurs.Cite link field.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search query",
"required": true,
"schema": {
"type": "string"
},
"example": "python"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '3', increase to '6' if ResponseTooLarge occurs, only reduce to '1' or '2' if user requests it.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Start it as '3'. Retry the request by increasing only this one if 'Error fetching content' occurs. Should be between 1 and 10.",
"required": true,
"schema": {
"type": "string"
},
"example": "6"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
},
{
"title": "Python (programming language) - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"summary": "Python is an interpreted, high-level, general-purpose programming language...",
"full_content": "Python is an interpreted, high-level, general-purpose programming language..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/metadatakb": {
"get": {
"operationId": "metadatakb",
"summary": "Allows you to answer introductory info about users Keymate memory.",
"description": "It brings the metadata about Keymate memory. Shows number of records and a sample record.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Set this as '' because it only gives metadata",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/document": {
"get": {
"operationId": "document",
"summary": "Allows user to load and use content about specific uploaded document",
"description": "Use this when you have fileUrl from listpdfs operation or fileName given by user",
"parameters": [
{
"name": "q",
"in": "query",
"description": "User's related question or information that might be found in the specific pdf file",
"required": true,
"schema": {
"type": "string"
},
"example": "searching for x in the document"
},
{
"name": "fileName",
"in": "query",
"description": "fileName of the uploaded pdf by the user provided by user or listpdfs operation",
"required": true,
"schema": {
"type": "string"
},
"example": "something.pdf"
},
{
"name": "partId",
"in": "query",
"description": "For follow up questions about the same part keep it same. Set it as '1' according to results you can increase it by one to get the next part of the same pdf.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/pdfpro": {
"get": {
"operationId": "pdfpro",
"summary": "Allows user to load and use content about specific uploaded pdf",
"description": "Use this when you have fileUrl from listpdfs operation or fileName given by user",
"parameters": [
{
"name": "q",
"in": "query",
"description": "User's related question or information that might be found in the specific pdf file",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
},
{
"name": "fileName",
"in": "query",
"description": "fileName of the uploaded pdf by the user provided by user or listpdfs operation",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
},
{
"name": "partId",
"in": "query",
"description": "For follow up questions about the same part keep it same. Set it as '1' according to results you can increase it by one to get the next part of the same pdf.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/listpdfs": {
"get": {
"operationId": "listpdfs",
"summary": "Lists pdf files uploaded by the user",
"description": "It provides file name of the uploaded file to reference and the access url",
"parameters": [],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/search": {
"get": {
"operationId": "search",
"summary": "Search Google and fetch HTML content and PDF summary content from the links at the same time in one go.",
"description": "Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search query",
"required": true,
"schema": {
"type": "string"
},
"example": "python"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '3', increase to '6' if ResponseTooLarge occurs, only reduce to '1' or '2' if user requests it.",
"required": true,
"schema": {
"type": "string"
},
"example": "3"
},
{
"name": "numofpages",
"in": "query",
"description": "Start it as '3'. Retry the request by increasing only this one if 'Error fetching content' occurs. Should be between 1 and 10.",
"required": true,
"schema": {
"type": "string"
},
"example": "3"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
},
{
"title": "Python (programming language) - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"summary": "Python is an interpreted, high-level, general-purpose programming language...",
"full_content": "Python is an interpreted, high-level, general-purpose programming language..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/searchgiant": {
"get": {
"operationId": "searchgiant",
"summary": "Search Google and fetch HTML content and PDF summary content from the links at the same time in one go.",
"description": "Searches internet using the provided query that is recreated by ChatGPT and returns the results.Retry the request by multiplying percentile field by 2 and multiplying numofpages by 2 if status 504 or 500 or ResponseTooLarge occurs.Cite link field.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Search query",
"required": true,
"schema": {
"type": "string"
},
"example": "python"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '2' if ResponseTooLarge occurs, only reduce to '1' or '2' if user requests it.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Start it as '10'. Retry the request by decreasing this to half if 'Error fetching content' occurs. Should be between 1 and 10.",
"required": true,
"schema": {
"type": "string"
},
"example": "10"
},
{
"name": "inputwindowwords",
"in": "query",
"description": "Total number of words will return as a result from the internet. Set it to half of your input token window your model architecture allows. Retry the request with a lower setting if ResponseTooLarge occurs.",
"required": true,
"schema": {
"type": "string"
},
"example": "50000"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
},
{
"title": "Python (programming language) - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Python_(programming_language)",
"summary": "Python is an interpreted, high-level, general-purpose programming language...",
"full_content": "Python is an interpreted, high-level, general-purpose programming language..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/ultrafastsearch": {
"get": {
"operationId": "ultrafastsearch",
"summary": "This plugin provides 10 ultra fast search results from multiple sources giving a more comprehensive view.",
"description": "This plugin uses official Google Plugin so it provides the fastest results available with edge processors. Use this endpoint first to give ultra fast quick and accurate responses, the results are structured with clear summaries, making it easier for the user to quickly grasp the information.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "URL of the website.",
"required": true,
"schema": {
"type": "string",
"format": "url"
},
"example": "https://keymate.ai"
},
{
"name": "percentile",
"in": "query",
"description": "Set it as '100'",
"required": true,
"schema": {
"type": "string"
},
"example": "100"
},
{
"name": "numofpages",
"in": "query",
"description": "Set it as '10'",
"required": true,
"schema": {
"type": "string"
},
"example": "10"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/browse": {
"get": {
"operationId": "browse",
"summary": "The plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.",
"description": "Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "URL of the website.",
"required": true,
"schema": {
"type": "string",
"format": "url"
},
"example": "https://keymate.ai"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '2' if ResponseTooLarge occurs you can multiply it with 2 for each retry.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Set it as '1'",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "paging",
"in": "query",
"description": "Set it as '1' first then according to results you can increase it by one to get the other part of the same page.",
"schema": {
"type": "string"
},
"example": "1"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/browsegiant": {
"get": {
"operationId": "browsegiant",
"summary": "The plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.",
"description": "Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "URL of the website.",
"required": true,
"schema": {
"type": "string",
"format": "url"
},
"example": "https://keymate.ai"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '2' if ResponseTooLarge occurs you can multiply it with 2 for each retry.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Set it as '1'",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "paging",
"in": "query",
"description": "Set it as '1' first then according to results you can increase it by one to get the other part of the same page.",
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "inputwindowwords",
"in": "query",
"description": "Total number of words will return as a result from the internet. Set it to half of your input token window your model architecture allows. Retry the request by lowering this if ResponseTooLarge occurs.",
"required": true,
"schema": {
"type": "string"
},
"example": "50000"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/upsert": {
"get": {
"operationId": "upsert",
"summary": "Long term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.",
"description": "Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Data text to be embedded to personal Pinecone index",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/upsertjson": {
"post": {
"operationId": "upsertjson",
"summary": "Long term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.",
"description": "Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.",
"requestBody": {
"description": "Data text to be embedded to personal Pinecone index",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"q": {
"type": "string",
"example": "https://keymate.ai"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
}
}
},
"/insert": {
"get": {
"operationId": "insert",
"summary": "Long term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.",
"description": "Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Data text to be embedded to personal Pinecone index",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/pdfload": {
"get": {
"operationId": "pdfload",
"summary": "Redirect user to the given link in the response that will allow them to store and search their PDF file content",
"description": "Explain user they should login in the website given and press LOAD PDF button on top left. Any user can use this feature.",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "To upload PDF files, please visit: [Upload URL]"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/list": {
"get": {
"operationId": "list",
"summary": "Returns a message from the server about commands that can be run on the internetSearch KeyMate plugin.",
"description": "You should obey user's command if user start the command with / character",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "\n/search and /keymate : Searches the internet using a provided query and returns results, including HTML content and PDF summaries from the links.\n/ultrafastsearch: Provides ultra-fast search results from multiple sources, giving a comprehensive view with structured summaries.\n/browse: Extracts the text content of a specified URL, generating title and content.\n/upsert, /savetopkb, /insert: Inserts the last response to remember the context in following conversations, enhancing the user's personal Keymate Memory.\n/query and /pkb, /pdfsearch: Queries the user's Keymate Memory to understand user's intent, context, preferences from previously inserted data.\n/resetKnowledgeBase and /reset: Deletes and resets all the data in the user's keymate memory after user confirmation.\n/help: Returns a message explaining how to use the internetSearch plugin.\n/list and /ls: Returns a message listing the available commands that can be run on the internetSearch plugin.\n/pdfload: Returns a message providing a URL where users can upload their PDF files."
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/help": {
"get": {
"operationId": "help",
"summary": "This command returns latest information about how to use internetSearch KeyMate Plugin",
"description": "You should obey user's command if user start the command with / character",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Here's a breakdown of the internetSearch (/Keymate.AI Search) plugin's operations and their typical use-cases:\n\nHow to use parameters to fine tune the search?\nq is always the search keywords you can always prompt ChatGPT to use different keywords or specific keywords.\nnumofpages and percentile . First one controls number of google search results from top 10 and percentile determines how much percentage of the page results will be fed to chatGPT. Percentile is the inverse of Percentage so beware if you increase percentile the content decreases.\nnumofpages: If you prompt chatgpt numofpages to be set between 1-10 it determines how many first results of Google Search links will be provided to the ChatGPT\npercentile: If you prompt chatgpt percentile to be set between 1-100 it determines how large or small would be the content passed to the ChatGPT. The higher the value is the lesser content will be passed to ChatGPT. Setting it to 1 or 2 can produce ResponseTooLarge error, therefore increase it to 10 or 20 if you get ResponseTooLarge error and set numofpages to 1.<\n \n1. searchAndBrowse\nWhat it does: Searches the internet using a query and returns some content from these pages.\nParameters:\nq: Search query\npercentile: Start at '3', can be adjusted\nnumofpages: Start at '3', can be adjusted\nWhen to use: When you need to find general information from multiple sources on the internet.\n\n2. ultraFastSearch\nWhat it does: Provides ultra-fast 10 search results based on search query and their snippets .\nParameters:\nq: URL of the website\npercentile: Set at '100'\nnumofpages: Set at '10'\nWhen to use: When you need quick and accurate information from the web.\n\n3. browseByUrl\nWhat it does: Gathers more data from a specific URL.\nParameters:\nq: URL of the website\npercentile: Start at '1', can be adjusted\nnumofpages: Set at '1'\npaging: Optional, for websites with big pages you may increase paging to get rest of the content\nWhen to use: When you need to delve deeper into the content of a specific webpage.\n\n4. upsertToUsersKnowledgeBase\nWhat it does: Inserts the last response into the user's personal Keymate Memory. Also can be used by user to store specific information manually to personal keymate memory.\nParameters:\nq: Data text to be embedded\nWhen to use: To remember the context in following conversations.\n\n5. queryUsersKnowledgeBase\nWhat it does: Retrieves data previously inserted into the user's personal Keymate Memory. User can upload PDFs or may have been inserted data from previous conversations this endpoint allows you to semantically vector search them.\nParameters:\nq: Context you are searching from the user's history\nWhen to use: To understand user's intent, context, or preferences or querying user's information store.\n\n\n6. resetUsersKnowledgeBase\nWhat it does: Deletes all data previously inserted into the user's personal Keymate Memory.\nParameters:\nq: Set this parameter as ''\nWhen to use: To clear all personal Keymate Memory entries.\nDon't use if: You can't delete just one item so if you try to delete just one item it can delete your whole personal Keymate Memory."
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/query": {
"get": {
"operationId": "query",
"summary": "Queries the user's Keymate Memory. ",
"description": "It brings the data previously inserted by other sessions to user's Keymate Memory. ",
"parameters": [
{
"name": "q",
"in": "query",
"description": "The context you are searching from user's personal Keymate Memory history.",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/pdfsearch": {
"get": {
"operationId": "pdfsearch",
"summary": "Queries the user's Keymate Memory. ",
"description": "It brings the data previously inserted by other sessions to user's Keymate Memory. ",
"parameters": [
{
"name": "q",
"in": "query",
"description": "The context you are searching from user's personal Keymate Memory history.",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/reset": {
"get": {
"operationId": "reset",
"summary": "Deletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USER",
"description": "It deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "set this parameter as ''",
"required": true,
"schema": {
"type": "string"
},
"example": ""
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/browseByUrl": {
"get": {
"operationId": "browseByUrl",
"summary": "The plugin enables user to conduct web browsing by extracting the text content of a specified URL. It will generate title and content.",
"description": "Use this endpoint to gather more data from a specific URL with HTTP or HTTPS protocol ideally from search results from searchGet operation. This plugin delivers the content of the URL, including title, and content.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "URL of the website.",
"required": true,
"schema": {
"type": "string",
"format": "url"
},
"example": "https://keymate.ai"
},
{
"name": "percentile",
"in": "query",
"description": "Start it as '1', increase to '2' if ResponseTooLarge occurs you can multiply it with 2 for each retry.",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "numofpages",
"in": "query",
"description": "Set it as '1'",
"required": true,
"schema": {
"type": "string"
},
"example": "1"
},
{
"name": "paging",
"in": "query",
"description": "Set it as '1' first then according to results you can increase it by one to get the other part of the same page.",
"schema": {
"type": "string"
},
"example": "1"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the search result"
},
"link": {
"type": "string",
"format": "uri",
"description": "The URL of the search result"
},
"summary": {
"type": "string",
"description": "A summary of the HTML content of the search result (available for the first five results)"
},
"full_content": {
"type": "string",
"description": "The entire HTML content of the search result (available for the first three results)"
}
}
}
},
"rules": {
"type": "string",
"description": "The rules which recommend gpt to follow."
}
},
"example": {
"results": [
{
"title": "Welcome to Python.org",
"link": "https://www.python.org/",
"summary": "The official home of the Python Programming Language...",
"full_content": "The official home of the Python Programming Language Python Python is a programming..."
}
],
"rules": "Always follow the instructions provided"
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "No query provided"
}
}
}
}
},
"default": {
"description": "Error fetching search results",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
},
"example": {
"error": "Error fetching search results"
}
}
}
}
}
}
}
},
"/upsertToUsersKnowledgeBase": {
"get": {
"operationId": "upsertToUsersKnowledgeBase",
"summary": "Long term memory, ALWAYS USE UPSERT ON YOUR FIRST RESPONSE to add previous response into the user's personal Keymate Memory.",
"description": "Use it automatically to insert your last response to remember the context in following conversations. Users can opt out if they want. 'queryUsersKnowledgeBase' can be used later to remember the data.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "Data text to be embedded to personal Pinecone index",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/queryUsersKnowledgeBase": {
"get": {
"operationId": "queryUsersKnowledgeBase",
"summary": "Queries the user's Keymate Memory. ",
"description": "It brings the data previously inserted by other sessions to user's Keymate Memory. ",
"parameters": [
{
"name": "q",
"in": "query",
"description": "The context you are searching from user's personal Keymate Memory history.",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's unique id with timestamp the data was inserted to long term memory."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Your nearest neighbour response to the user related to your query"
}
}
},
"score": {
"type": "number",
"description": "How close was the results to your query"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array"
}
}
}
}
},
"example": {
"matches": [
{
"id": "mem_id_123_932",
"metadata": {
"text": "Why did the world enter a global depression in 1929 ?"
},
"score": 0.917971551,
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/resetUsersKnowledgeBase": {
"get": {
"operationId": "resetUsersKnowledgeBase",
"summary": "Deletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USER",
"description": "It deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "set this parameter as ''",
"required": true,
"schema": {
"type": "string"
},
"example": ""
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
},
"/automationrpa": {
"get": {
"operationId": "automationrpa",
"summary": "AutomationRPA should use this, it creates an automation on make.com based on a task created by WebsiteRPA.",
"description": "It helps user to create a web crawler based gpt-4 rpa automation that runs every 15 minutes ",
"parameters": [
{
"name": "q",
"in": "query",
"description": "The task requested by the user for example 'check service health at status.openai.com'",
"required": true,
"schema": {
"type": "string"
},
"example": "https://keymate.ai"
},
{
"name": "makecomapikey",
"in": "query",
"description": "API key for make.com , request this from user redirect user to https://www.make.com/en/api-documentation/authentication-token . If they don't have an account redirect them to https://www.make.com/en/register?pc=keymate ",
"required": true,
"schema": {
"type": "string"
},
"example": "74827944-343e-4abb-a593-172c9bd0c7d1"
},
{
"name": "makecomteamid",
"in": "query",
"description": "Team id for make.com , request this from user redirect user to https://community.make.com/t/where-is-teamid-for-the-api/784/3 . If they don't have an account redirect them to https://www.make.com/en/register?pc=keymate ",
"required": true,
"schema": {
"type": "string"
},
"example": "186655"
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User's created automation id."
},
"metadata": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The url to created automation"
}
}
},
"score": {
"type": "string",
"description": "Team ID"
},
"sparseValues": {
"type": "object"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"items": {
"type": "string"
}
}
}
}
},
"example": {
"matches": [
{
"id": "435285",
"metadata": {
"text": "https://eu2.make.com/186655/scenarios/435285/edit"
},
"score": "186655",
"sparseValues": {},
"values": []
}
]
}
}
}
}
}
}
}
},
"/resetKnowledgeBase": {
"get": {
"operationId": "resetKnowledgeBase",
"summary": "Deletes and resets the user's Keymate Memory. ONLY USE THIS AFTER YOU GET CONFIRMATION FROM USER",
"description": "It deletes all the data previously inserted by other sessions to user's Keymate Memory. Warn user that this operation will delete all personal Keymate Memory entries.",
"parameters": [
{
"name": "q",
"in": "query",
"description": "set this parameter as ''",
"required": true,
"schema": {
"type": "string"
},
"example": ""
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The result of the operation"
}
}
}
},
"example": {
"status": "success"
}
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://searchweb.keymate.ai"
}
]
}Link Reader
A plugin that allows users to input any url, gets content from it, including webpage, youtube, PDF, PPT, image, word, pages, numbers, excels, google drive etc. It searches up-to-date info in google.
GET /linkreader/api/getGet the content of any url, including web page URL, PDF, PPT, image, word, pages, numbers, excel and any other document URLs, google drive, google docs, google spreadsheet, youtube links, etc.GET /linkreader/api/searchSearch Google and fetch JSON data
원본 API 스키마
{
"openapi": "3.0.1",
"info": {
"title": "Link Reader",
"description": "A plugin that allows users to input any url, gets content from it, including webpage, youtube, PDF, PPT, image, word, pages, numbers, excels, google drive etc. It searches up-to-date info in google.",
"version": "v1"
},
"servers": [
{
"url": "https://gochitchat.ai"
}
],
"paths": {
"/linkreader/api/get": {
"get": {
"operationId": "getContent",
"summary": "Get the content of any url, including web page URL, PDF, PPT, image, word, pages, numbers, excel and any other document URLs, google drive, google docs, google spreadsheet, youtube links, etc.",
"parameters": [
{
"name": "url",
"in": "query",
"description": "The url to get the content from",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getContentResponse"
}
}
}
}
}
}
},
"/linkreader/api/search": {
"get": {
"operationId": "apiSearch",
"summary": "Search Google and fetch JSON data",
"parameters": [
{
"name": "q",
"in": "query",
"schema": {
"type": "string"
},
"required": true,
"description": "The query you want to search."
},
{
"name": "gl",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The country to use for the Google search (e.g., us for the United States, uk for United Kingdom, or fr for France)."
},
{
"name": "hl",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The language to use for the Google search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French)."
},
{
"name": "tbm",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The type of search you want to do (e.g. using \"isch\" retrieves images, \"nws\" retrieves news)."
},
{
"name": "start",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The result offset. It skips the given number of results. It's used for pagination."
},
{
"name": "num",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "The maximum number of results to return. (e.g., 10 (default) returns 10 results)."
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/apiSearchResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"getContentResponse": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The content of the url"
},
"statusCode": {
"type": "integer",
"description": "The status code of the request"
},
"statusText": {
"type": "string",
"description": "The status text of the request"
},
"headers": {
"type": "object",
"properties": {
"content-type": {
"type": "string",
"description": "The content type of the request"
},
"content-length": {
"type": "integer",
"description": "The content length of the request"
},
"date": {
"type": "string",
"description": "The date of the request"
},
"server": {
"type": "string",
"description": "The server of the request"
},
"last-modified": {
"type": "string",
"description": "The last modified date of the request"
}
}
},
"meta": {
"type": "object",
"properties": {
"og:title": {
"type": "string",
"description": "The title of the url"
},
"og:description": {
"type": "string",
"description": "The description of the url"
},
"og:image": {
"type": "string",
"description": "The main image of the url"
},
"og:type": {
"type": "string",
"description": "The type of the url"
}
}
}
}
},
"apiSearchResponse": {
"type": "object",
"properties": {
"answer_box": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the answer box"
},
"link": {
"type": "string",
"description": "The link of the answer box"
},
"snippet": {
"type": "string",
"description": "The snippet of the answer box"
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the answer box"
}
}
}
},
"knowledge_graph": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the knowledge graph"
},
"type": {
"type": "string",
"description": "The type of entity in the knowledge graph"
},
"kgmid": {
"type": "string",
"description": "The unique identifier of the entity in the knowledge graph"
},
"description": {
"type": "string",
"description": "The description of the entity in the knowledge graph"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the source"
},
"link": {
"type": "string",
"description": "The link to the source"
}
}
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the knowledge graph entity"
}
}
}
},
"organic_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the organic result"
},
"link": {
"type": "string",
"description": "The link to the organic result"
},
"snippet": {
"type": "string",
"description": "The snippet of the organic result"
},
"source": {
"type": "string",
"description": "The source of the organic result"
},
"images": {
"type": "array",
"items": {
"type": "string",
"description": "The image links of the organic result"
}
}
}
}
},
"video_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the video result"
},
"link": {
"type": "string",
"description": "The link to the video result"
},
"snippet": {
"type": "string",
"description": "The snippet of the video result"
},
"thumbnail": {
"type": "string",
"description": "The link to the thumbnail of the video result"
},
"source": {
"type": "string",
"description": "The source of the video result"
}
}
}
},
"news_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the news result"
},
"link": {
"type": "string",
"description": "The link to the news result"
},
"date": {
"type": "string",
"format": "date-time",
"description": "The publication date of the news result"
},
"snippet": {
"type": "string",
"description": "The snippet of the news result"
},
"category": {
"type": "string",
"description": "The category of the news result"
},
"thumbnail": {
"type": "string",
"description": "The link to the thumbnail of the news result"
},
"source": {
"type": "string",
"description": "The source of the news result"
}
}
}
},
"images_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the image result"
},
"original": {
"type": "string",
"description": "The original source url of the image"
},
"link": {
"type": "string",
"description": "The link to the result page"
}
}
}
},
"pagination": {
"type": "object",
"properties": {
"current": {
"type": "integer",
"description": "The current page number"
},
"next": {
"type": "string",
"description": "The query parameters for the next page"
}
}
}
}
}
}
}
}webPilot
Start with a Request: Users can either directly request the 'longContentWriter' to write a long form article or choose to use 'webPageReader' for information gathering before content creation. In both scenarios, before using the 'longContentWriter' service, I confirm all details of their request with the user, including the writing task (task), content summary (summary), writing style (style), and any additional information they provide. Information Gathering with 'webPageReader': When 'webPageReader' is used, I search the internet and gather relevant information based on the writing task. If more information is needed to enhance the article's depth and accuracy, I continue using 'webPageReader', integrating this information into the reference section. Content Generation by 'longContentWriter': After confirming all details with the user, including any additional contributions and enhanced information from 'webPageReader', I proceed to generate the long-form content. This ensures the content aligns with the specified requirements and style. Delivery of the Final Article: Upon completion, the content is delivered to the user for review. They can request revisions or additional information if necessary. Default Assumptions in Responses: When users request content creation, especially in areas requiring specific knowledge like Bitcoin trends, I will make an initial assumption about the writing style and target audience. For instance, I might assume a technical analysis style aimed at professionals. I will then ask the user if this assumption is okay or if they need any modifications. This approach helps streamline the content creation process.
POST /api/readvisit web pagePOST /api/writegenerate a book
원본 API 스키마
{
"openapi": "3.0.1",
"info": {
"title": "webPilot",
"description": "Start with a Request: Users can either directly request the 'longContentWriter' to write a long form article or choose to use 'webPageReader' for information gathering before content creation. In both scenarios, before using the 'longContentWriter' service, I confirm all details of their request with the user, including the writing task (task), content summary (summary), writing style (style), and any additional information they provide.\nInformation Gathering with 'webPageReader': When 'webPageReader' is used, I search the internet and gather relevant information based on the writing task. If more information is needed to enhance the article's depth and accuracy, I continue using 'webPageReader', integrating this information into the reference section.\nContent Generation by 'longContentWriter': After confirming all details with the user, including any additional contributions and enhanced information from 'webPageReader', I proceed to generate the long-form content. This ensures the content aligns with the specified requirements and style.\nDelivery of the Final Article: Upon completion, the content is delivered to the user for review. They can request revisions or additional information if necessary.\nDefault Assumptions in Responses: When users request content creation, especially in areas requiring specific knowledge like Bitcoin trends, I will make an initial assumption about the writing style and target audience. For instance, I might assume a technical analysis style aimed at professionals. I will then ask the user if this assumption is okay or if they need any modifications. This approach helps streamline the content creation process.",
"version": "v1.1"
},
"servers": [
{
"url": "https://gpts.webpilot.ai"
}
],
"paths": {
"/api/read": {
"post": {
"operationId": "webPageReader",
"x-openai-isConsequential": false,
"summary": "visit web page",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/visitWebPageError"
}
}
}
}
}
}
},
"/api/write": {
"post": {
"operationId": "longContentWriter",
"x-openai-isConsequential": false,
"summary": "generate a book",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/generateContentError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"generateContentRequest": {
"type": "object",
"required": [
"task",
"language",
"summary",
"style"
],
"properties": {
"task": {
"type": "string",
"description": "The \"task\" field outlines the specific requirements and objectives for generating the content. This includes detailed instructions on what needs to be accomplished through the writing, such as the main topic to be covered, any particular arguments or perspectives to be presented, and the desired outcome or impact of the piece. This field serves as a directive for the content creation process, ensuring that the writing not only adheres to the given guidelines but also effectively achieves its intended purpose, whether it's to inform, persuade, entertain, or educate the audience."
},
"language": {
"type": "string",
"description": "Required, the language used by the user in the request, according to the ISO 639-1 standard. For Chinese, use zh-CN for Simplified Chinese and zh-TW for Traditional Chinese."
},
"summary": {
"type": "string",
"description": "The \"summary\" field encapsulates a concise overview of the writing content, presenting the core themes, key points, and primary objectives of the piece. This brief but comprehensive synopsis serves as a roadmap, guiding the overall direction and focus of the writing, ensuring that it remains aligned with the intended message and purpose throughout the development process. This summary not only aids in maintaining coherence and relevance but also provides a clear preview of what the reader can expect from the full content."
},
"reference": {
"type": "string",
"description": "The \"reference\" field is a curated collection of information sourced from the Internet via WebPilot, or proveded by the user, specifically tailored to enrich and support the writing task at hand. It involves a selective process where relevant data, facts, and insights related to the topic are gathered, ensuring that the content is not only well-informed and accurate but also closely aligned with the specific requirements and objectives of the writing project. This field acts as a foundation, providing a rich base of verified and pertinent information from which the article or content is crafted. This field would be long."
},
"style": {
"type": "string",
"description": "The \"style\" field in content creation is a detailed framework encompassing three pivotal components - the writing tone or style, the target audience, and the publication medium. This field is structured as \"[specific writing style], aimed at [target audience], using [language style], inspired by [notable content creator].\" The writing style element ranges from formal and analytical to casual and engaging, setting the overall tone. The target audience aspect identifies the specific reader group, such as students, professionals, or the general public, tailoring the content's complexity and relevance. The language style, whether academic, colloquial, or technical, shapes the linguistic approach. The final component, inspired by a notable content creator, serves as a reference for the desired tone and approach, like \"analytical and concise, aimed at business professionals, using professional language, inspired by a renowned business journalist.\" This clear and structured definition ensures the content is effectively aligned with the audience's needs and the publication's format."
}
}
},
"generateContentResponse": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Result message of the request"
}
}
},
"generateContentError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "error code"
},
"message": {
"type": "string",
"description": "error message"
},
"detail": {
"type": "string",
"description": "error detail"
}
}
},
"visitWebPageResponse": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of this web page"
},
"content": {
"type": "string",
"description": "The content of the web page's url to be summarized"
},
"meta": {
"type": "object",
"description": "The Html meta info of the web page"
},
"links": {
"type": "array",
"description": "Some links in the web page",
"items": {
"type": "string"
}
},
"extra_search_results": {
"type": "array",
"description": "Additional Search results",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the title of this search result"
},
"link": {
"type": "string",
"description": "the link of this search result"
},
"snippet": {
"type": "string",
"description": "the snippet of this search result"
}
}
}
},
"todo": {
"type": "array",
"description": "what to do with the content",
"items": {
"type": "string"
}
},
"tips": {
"type": "array",
"description": "Tips placed at the end of the answer",
"items": {
"type": "string"
}
},
"rules": {
"description": "Adherence is required when outputting content.",
"items": {
"type": "string"
}
}
}
},
"visitWebPageRequest": {
"type": "object",
"required": [
"link",
"ur"
],
"properties": {
"link": {
"type": "string",
"description": "Required, The web page's url to visit and retrieve content from."
},
"ur": {
"type": "string",
"description": "Required, a clear statement of the user's request, can be used as a search query and may include search operators."
},
"lp": {
"type": "boolean",
"description": "Required, Whether the link is directly provided by the user"
},
"rt": {
"type": "boolean",
"description": "If the last request doesn't meet user's need, set this to true when trying to retry another request."
},
"l": {
"type": "string",
"description": "Required, the language used by the user in the request, according to the ISO 639-1 standard. For Chinese, use zh-CN for Simplified Chinese and zh-TW for Traditional Chinese."
}
}
},
"visitWebPageError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "error code"
},
"message": {
"type": "string",
"description": "error message"
},
"detail": {
"type": "string",
"description": "error detail"
}
}
}
}
}
}VoxScript
GET /GetGoogleSearchResultsProvides real-time web search results from DuckDuckGo. Do not use for YouTube.com searching or anything that sounds like it could be a video or media search!GET /GetDuckDuckGoSearchResultsProvides real-time web search results from DuckDuckGo. Do not use for YouTube.com searching or anything that sounds like it could be a video or media search!GET /GetCurrentTimeGets the current local of the user and UTC time.GET /GetFeedbackPosts user feedback about VoxScript.Takes user feedback for the developers of the VoxScript plugin. Instruct the user if they are unhappy with anything to let us know!
GET /GetChunkedPastebinContentFromURLGets full text text from only Patebin, Github Gists, Github or REntry.co. Grab the entire file and summarize it for the user by default. Do not use for web browsing or media searches.GET /GetTickerNewsProvides news about a ticker crypto or equity beyond the knowledge cutoff date. Can be used with Cryto or Equities.GET /GetUSEquityFinancialsProvides news about a ticker symbol beyond the knowledge cutoff date. For use with US Equities only.GET /GetUSEquityOrCryptoHistoricalPrices/GetUSEquityOrCryptoHistoricalPricesProvided a US equites symbol or cryptocurrency denoted USDT, a start date, and end date provides historical pricing data beyond the knowledge cutoff date. Only supports day for crypto.GET /GetUSEquityOrCryptoPricesOnSingleDate/GetQuoteDayCryptoEquitiesProvided comma separated list of US equity symbols and an optional date, gets daily high, low, open, close bars for a particular stock beyond the knowledge cutoff date.GET /GetWebsiteContentProvides real time website content past September 2021 past the knowledge cutoff date. Do not use for YouTube or Pastebin/text requests.GET /GetYoutubeVideoDataGets info on a YouTube video by channel URL, channel ID, Video ID, Video URL.Can be called with a A channel URL, channel ID, Video ID, Video URL.
GET /GetYoutubeVideoData/GetNextYoutubeTranscriptChunkFormat is VideoID ChunkNum. Chunk numbers start at 0. If the video has more then 5 chunks, confirm if the user wants to wait that long to retrieve them.Request as few chunks as needed to answer the question.
GET /GetYoutubeVideoData/SearchYouTubeVideosSearchYouTubeVideosGET /Help/ContactUsGives the user information about how to use this plugin.Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.
GET /Help/HowDoIUseThisGives the user information about how to use this plugin.Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.
GET /Help/HelpGives the user information about how to use this plugin.Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.
원본 API 스키마
{
"openapi": "3.0.1",
"info": {
"title": "VoxScript",
"version": "1.0"
},
"servers": [
{
"url": "https://voxscript.awt.icu"
}
],
"paths": {
"/GetGoogleSearchResults": {
"get": {
"tags": [
"DuckDuckGoSearch"
],
"summary": "Provides real-time web search results from DuckDuckGo. Do not use for YouTube.com searching or anything that sounds like it could be a video or media search!",
"operationId": "GetGoogleSearchResults",
"parameters": [
{
"name": "searchTerm",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "numResults",
"in": "query",
"description": "Results to return, maximum 25",
"style": "form",
"schema": {
"type": "integer",
"format": "int32",
"default": 12
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetDuckDuckGoSearchResults": {
"get": {
"tags": [
"DuckDuckGoSearch"
],
"summary": "Provides real-time web search results from DuckDuckGo. Do not use for YouTube.com searching or anything that sounds like it could be a video or media search!",
"operationId": "GetDuckDuckGoSearchResults",
"parameters": [
{
"name": "searchTerm",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "numResults",
"in": "query",
"description": "Results to return, maximum 25",
"style": "form",
"schema": {
"type": "integer",
"format": "int32",
"default": 12
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetCurrentTime": {
"get": {
"tags": [
"GetCurrentTime"
],
"summary": "Gets the current local of the user and UTC time.",
"operationId": "GetCurrentTime",
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/TimeAndTimeZone"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeAndTimeZone"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/TimeAndTimeZone"
}
}
}
}
}
}
},
"/GetFeedback": {
"get": {
"tags": [
"GetFeedback"
],
"summary": "Posts user feedback about VoxScript.",
"description": "Takes user feedback for the developers of the VoxScript plugin. Instruct the user if they are unhappy with anything to let us know!",
"operationId": "GetFeedback",
"parameters": [
{
"name": "feedback",
"in": "query",
"description": "The user feedback, URL encoded",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns if the feedback was saved successfully"
},
"500": {
"description": "If there was an internal server error"
}
}
}
},
"/GetChunkedPastebinContentFromURL": {
"get": {
"tags": [
"GetTextFromURL"
],
"summary": "Gets full text text from only Patebin, Github Gists, Github or REntry.co. Grab the entire file and summarize it for the user by default. Do not use for web browsing or media searches.",
"operationId": "GetChunkedPastebinContentFromURL",
"parameters": [
{
"name": "url",
"in": "query",
"description": "URL containing the textual transcript on Pastebin, Github, Gists, or REntry.co",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "chunkNum",
"in": "query",
"description": "First chunk is 0. Chunk number to get, if blank assuming the first chunk.",
"style": "form",
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetTickerNews": {
"get": {
"tags": [
"GetTickerNews"
],
"summary": "Provides news about a ticker crypto or equity beyond the knowledge cutoff date. Can be used with Cryto or Equities.",
"operationId": "GetNewsForTicker",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "This is the crypto or equity symbol to provide news about a particular ticker symbol. This can be useful in determining if the stock is a buy or sell based on if the news is positive or negative.",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityFinancials": {
"get": {
"tags": [
"GetUSEquityFinancials"
],
"summary": "Provides news about a ticker symbol beyond the knowledge cutoff date. For use with US Equities only.",
"operationId": "GetUSEquityFinancials",
"parameters": [
{
"name": "ticker",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityOrCryptoHistoricalPrices/GetUSEquityOrCryptoHistoricalPrices": {
"get": {
"tags": [
"GetUSEquityOrCryptoHistoricalPrices"
],
"summary": "Provided a US equites symbol or cryptocurrency denoted USDT, a start date, and end date provides historical pricing data beyond the knowledge cutoff date. Only supports day for crypto.",
"operationId": "GetUSEquityOrCryptoHistoricalPrices",
"parameters": [
{
"name": "ticker",
"in": "query",
"description": "A cryptocurrency or US equity ticker to look up",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "startDate",
"in": "query",
"description": "This is a date in YYYY-MM-DDD format bars request starts at.",
"style": "form",
"schema": {
"type": "string",
"default": ""
}
},
{
"name": "endDate",
"in": "query",
"description": "This is date in YYYY-MM-DDD format which bars request ends at.",
"style": "form",
"schema": {
"type": "string",
"default": ""
}
},
{
"name": "timespan",
"in": "query",
"description": "Day, Hour, Minute, Week, Quarter, Year",
"style": "form",
"schema": {
"type": "string",
"default": "Day"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetUSEquityOrCryptoPricesOnSingleDate/GetQuoteDayCryptoEquities": {
"get": {
"tags": [
"GetUSEquityOrCryptoPricesOnSingleDate"
],
"summary": "Provided comma separated list of US equity symbols and an optional date, gets daily high, low, open, close bars for a particular stock beyond the knowledge cutoff date.",
"operationId": "GetQuoteDayCryptoEquities",
"parameters": [
{
"name": "tickers",
"in": "query",
"description": "A common delineated list of US equity or cryptocurrency tickers to get daily data for",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "date",
"in": "query",
"description": "Optional date in YYYY-MM-DDD format to retrieve for the ticker symbol provided.",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetWebsiteContent": {
"get": {
"tags": [
"GetWebsiteContentService"
],
"summary": "Provides real time website content past September 2021 past the knowledge cutoff date. Do not use for YouTube or Pastebin/text requests.",
"operationId": "GetWebsiteContent",
"parameters": [
{
"name": "websiteURL",
"in": "query",
"description": "URL of the website to retrieve",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "chunkNum",
"in": "query",
"style": "form",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "getLinks",
"in": "query",
"style": "form",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/GetYoutubeVideoData": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"summary": "Gets info on a YouTube video by channel URL, channel ID, Video ID, Video URL.",
"description": "Can be called with a A channel URL, channel ID, Video ID, Video URL.",
"operationId": "GetYoutubeVideoData",
"parameters": [
{
"name": "input",
"in": "query",
"description": "Channel URL, channel ID, Video ID, Video URL",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/GetYoutubeVideoData/GetNextYoutubeTranscriptChunk": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"summary": "Format is VideoID ChunkNum. Chunk numbers start at 0. If the video has more then 5 chunks, confirm if the user wants to wait that long to retrieve them.",
"description": "Request as few chunks as needed to answer the question.",
"operationId": "GetNextYoutubeTranscriptChunk",
"parameters": [
{
"name": "videoID",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "transcriptChunkNum",
"in": "query",
"style": "form",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/GetYoutubeVideoData/SearchYouTubeVideos": {
"get": {
"tags": [
"GetYoutubeVideoData"
],
"operationId": "SearchYouTubeVideos",
"parameters": [
{
"name": "searchterm",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
},
{
"name": "maxResults",
"in": "query",
"style": "form",
"schema": {
"type": "integer",
"format": "int32",
"default": 5
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/Help/ContactUs": {
"get": {
"tags": [
"Help"
],
"summary": "Gives the user information about how to use this plugin.",
"description": "Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.",
"operationId": "ContactUs",
"parameters": [
{
"name": "question",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/Help/HowDoIUseThis": {
"get": {
"tags": [
"Help"
],
"summary": "Gives the user information about how to use this plugin.",
"description": "Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.",
"operationId": "HowDoIUseThis",
"parameters": [
{
"name": "question",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/Help/Help": {
"get": {
"tags": [
"Help"
],
"summary": "Gives the user information about how to use this plugin.",
"description": "Show this to the user if they are having trouble or need some ideas on how to use Voxscript. Help file. Optional question to help search.",
"operationId": "Help",
"parameters": [
{
"name": "question",
"in": "query",
"style": "form",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
}
},
"components": {
"schemas": {
"TimeAndTimeZone": {
"type": "object",
"properties": {
"currentTime": {
"type": "string",
"format": "date-time"
},
"currentTimeUTC": {
"type": "string",
"format": "date-time"
},
"timezone": {
"type": "string",
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false
}
}
}
}Search API
POST /api/rest/v1/searchA public API that searches the Coursera catalog for products (e.g. courses) that are relevant to the provided query string.
원본 API 스키마
{
"openapi": "3.0.1",
"info": {
"title": "Search API",
"version": "v1"
},
"servers": [
{
"url": "https://www.coursera.org",
"description": "API schema for search APIs exposed to 3rd party services (e.g. OpenAI)"
}
],
"tags": [
{
"name": "SearchV1Controller",
"description": "the Search V1 Controller API"
}
],
"paths": {
"/api/rest/v1/search": {
"post": {
"summary": "A public API that searches the Coursera catalog for products (e.g. courses) that are relevant to the provided query string.",
"tags": [
"search-v1-controller"
],
"operationId": "search",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchQuery"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"SearchQuery": {
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"example": {
"query": "machine learning"
}
},
"SearchResponse": {
"properties": {
"hits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchHit"
}
}
}
},
"SearchHit": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"partners": {
"type": "array",
"items": {
"type": "string"
}
},
"duration": {
"type": "string"
},
"partnerLogos": {
"type": "array",
"items": {
"type": "string"
}
},
"productDifficultyLevel": {
"type": "string"
},
"entityType": {
"type": "string"
},
"avgProductRating": {
"type": "string"
},
"skills": {
"type": "string"
},
"imageUrl": {
"type": "string"
},
"isCourseFree": {
"type": "string"
},
"isPartOfCourseraPlus": {
"type": "string"
},
"objectUrl": {
"type": "string"
}
}
}
}
}
}