mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
26314d7004
Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
368 lines
13 KiB
JSON
368 lines
13 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "Urlbox API",
|
|
"description": "A plugin that allows the user to capture screenshots of a web page from a URL or HTML using ChatGPT.",
|
|
"version": "v1"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://api.urlbox.io"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/v1/render/sync": {
|
|
"post": {
|
|
"summary": "Render a URL as an image or video",
|
|
"operationId": "renderSync",
|
|
"security": [
|
|
{
|
|
"SecretKey": []
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RenderRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful operation",
|
|
"headers": {
|
|
"x-renders-used": {
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "The number of renders used"
|
|
},
|
|
"x-renders-allowed": {
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"description": "The number of renders allowed"
|
|
},
|
|
"x-renders-reset": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The date and time when the render count will reset"
|
|
},
|
|
"x-urlbox-cache-status": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The cache status of the response"
|
|
},
|
|
"x-urlbox-cachekey": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The cache key used by URLBox"
|
|
},
|
|
"x-urlbox-requestid": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The request ID assigned by URLBox"
|
|
},
|
|
"x-urlbox-acceptedby": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The server that accepted the request"
|
|
},
|
|
"x-urlbox-renderedby": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "The server that rendered the response"
|
|
}
|
|
},
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RenderResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"307": {
|
|
"description": "Temporary Redirect",
|
|
"headers": {
|
|
"Location": {
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "The URL to follow for the long running request"
|
|
}
|
|
}
|
|
},
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RedirectResponse"
|
|
},
|
|
"example": {
|
|
"message": "Please follow the redirect to continue your long running request",
|
|
"location": "https://api.urlbox.io/v1/redirect/BQxxwO98uwkSsuJf/1dca9bae-c49d-42d3-8282-89450afb7e73/1"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"headers": {
|
|
"x-urlbox-error-message": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "An error message describing the reason the request failed"
|
|
}
|
|
},
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
},
|
|
"example": {
|
|
"error": {
|
|
"message": "Api Key does not exist",
|
|
"code": "ApiKeyNotFound"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"headers": {
|
|
"x-urlbox-error-message": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "An error message describing the reason the request failed"
|
|
}
|
|
},
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
},
|
|
"example": {
|
|
"error": {
|
|
"message": "Api Key does not exist",
|
|
"code": "ApiKeyNotFound"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"headers": {
|
|
"x-urlbox-error-message": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"description": "An error message describing the reason the request failed"
|
|
}
|
|
},
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
},
|
|
"example": {
|
|
"error": {
|
|
"message": "Something went wrong rendering that",
|
|
"code": "ApiKeyNotFound"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"RenderRequest": {
|
|
"type": "object",
|
|
"oneOf": [
|
|
{
|
|
"required": [
|
|
"url"
|
|
]
|
|
},
|
|
{
|
|
"required": [
|
|
"html"
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"format": {
|
|
"type": "string",
|
|
"description": "The format of the rendered output",
|
|
"enum": [
|
|
"png",
|
|
"jpg",
|
|
"pdf",
|
|
"svg",
|
|
"mp4",
|
|
"webp",
|
|
"webm",
|
|
"html"
|
|
]
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to render as an image or video"
|
|
},
|
|
"html": {
|
|
"type": "string",
|
|
"description": "The raw HTML to render as an image or video"
|
|
},
|
|
"width": {
|
|
"type": "integer",
|
|
"description": "The viewport width of the rendered output"
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"description": "The viewport height of the rendered output"
|
|
},
|
|
"block_ads": {
|
|
"type": "boolean",
|
|
"description": "Whether to block ads on the rendered page"
|
|
},
|
|
"hide_cookie_banners": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide cookie banners on the rendered page"
|
|
},
|
|
"click_accept": {
|
|
"type": "boolean",
|
|
"description": "Whether to automatically click accept buttons on the rendered page"
|
|
},
|
|
"gpu": {
|
|
"type": "boolean",
|
|
"description": "Whether to enable GPU rendering"
|
|
},
|
|
"retina": {
|
|
"type": "boolean",
|
|
"description": "Whether to render the image in retina quality"
|
|
},
|
|
"thumb_width": {
|
|
"type": "integer",
|
|
"description": "The width of the thumbnail image"
|
|
},
|
|
"thumb_height": {
|
|
"type": "integer",
|
|
"description": "The height of the thumbnail image"
|
|
},
|
|
"full_page": {
|
|
"type": "boolean",
|
|
"description": "Whether to capture the full page"
|
|
},
|
|
"selector": {
|
|
"type": "string",
|
|
"description": "The CSS selector of an element you would like to capture"
|
|
},
|
|
"delay": {
|
|
"type": "string",
|
|
"description": "The amount of milliseconds to delay before taking a screenshot"
|
|
},
|
|
"wait_until": {
|
|
"type": "string",
|
|
"description": "When",
|
|
"enum": [
|
|
"requestsfinished",
|
|
"mostrequestsfinished",
|
|
"loaded",
|
|
"domloaded"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "boolean",
|
|
"description": "Whether to return metadata about the URL"
|
|
},
|
|
"wait_for": {
|
|
"type": "string",
|
|
"description": "CSS selector of an element to wait to be present in the web page before rendering"
|
|
},
|
|
"wait_to_leave": {
|
|
"type": "string",
|
|
"description": "CSS selector of an element, such as a loading spinner, to wait to leave the web page before rendering"
|
|
}
|
|
}
|
|
},
|
|
"RenderResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"renderUrl": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "The URL where the rendered output is stored"
|
|
},
|
|
"size": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "The size of the rendered output in bytes"
|
|
}
|
|
}
|
|
},
|
|
"ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "A human-readable error message"
|
|
},
|
|
"code": {
|
|
"type": "string",
|
|
"description": "A machine-readable error code"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
},
|
|
"RedirectResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "A human-readable message indicating the need to follow the redirect"
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "The URL to follow for the long running request"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"location"
|
|
]
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"SecretKey": {
|
|
"type": "http",
|
|
"scheme": "bearer",
|
|
"bearerFormat": "JWT",
|
|
"description": "The Urlbox API uses your secret API key to authenticate. To find your secret key, login to the Urlbox dashboard at https://urlbox.io/dashboard."
|
|
}
|
|
}
|
|
}
|
|
} |