The content of this page has been auto-generated from an OpenAPI file.
Purrbot Image API 1.8.0¶
The Purrbot Image API is an open-source API to provide randomly selected images
or gifs based on the API path selected.
It was created as a replacement to
commonly known APIs like nekos.life or weeb.sh, with the goal of having more
control over the returned images for platforms like Discord.
Access is
given free of charge without any authorization required.
Servers¶
URL | Description |
---|---|
https://purrbot.site/api | Main API endpoint to use. |
SFW¶
GET /img/sfw/angry/gif¶
Get a random angry gif
Returns a randomly selected gif of someone being angry.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/angry/gif/angry_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/angry/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/angry",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/background/img¶
Get a random background image
Returns a randomly selected background image used in the bots welcome feature.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/background/color_black.png",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/background/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/background",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/bite/gif¶
Get a random bite gif
Returns a randomly selected bite gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/bite/gif/bite_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/bite/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/bite",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/blush/gif¶
Get a random blush gif
Returns a randomly selected blush gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/blush/gif/blush_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/blush/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/blush",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/comfy/gif¶
Get a random comfy gif
Returns a randomly selected comfy gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/comfy/gif/comfy_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/comfy/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/comfy",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/cry/gif¶
Get a random cry gif
Returns a randomly selected cry gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/cry/gif/cry_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/cry/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/cry",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/cuddle/gif¶
Get a random cuddle gif
Returns a randomly selected cuddle gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/cuddle/gif/cuddle_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/cuddle/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/cuddle",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/dance/gif¶
Get a random dance gif
Returns a randomly selected dance gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/dance/gif/dance_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/dance/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/dance",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/eevee/{type}¶
Get a random Gif or Image of Eevee
Returns a randomly selected Gif or Image of the Pokemon Eevee, depending on the
provided {type}
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
type |
path | string |
Type of media to return. Available values: gif, img |
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/eevee/gif/eevee_001.gif",
"error": false,
"time": 0
}
{
"link": "https://purrbot.site/img/sfw/eevee/img/eevee_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/eevee/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/eevee",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/fluff/gif¶
Get a random fluff gif
Returns a randomly selected fluff gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/fluff/gif/fluff_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/fluff/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/fluff",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/holo/img¶
Get a random holo image
Returns a randomly selected image from Holo of the anime "Spice and Wolf".
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/holo/img/holo_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/holo/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/holo",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/hug/gif¶
Get a random hug gif
Returns a randomly selected hug gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/hug/gif/hug_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/hug/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/hug",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/icon/img¶
Get a random icon image
Returns a randomly selected icon image used in the bots welcome feature.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/icon/img/icon_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/icon/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/icon",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/kiss/gif¶
Get a random kiss gif
Returns a randomly selected kiss gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/kiss/gif/kiss_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/kiss/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/kiss",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/kitsune/img¶
Get a random kitsune image
Returns a randomly selected kitsune image.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/kitsune/img/kitsune_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/kitsune/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/kitsune",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/lay/gif¶
Get a random gif of someone laying down
Returns a randomly selected gif of someone laying down/resting.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/lay/gif/lay_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/lay/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/lay",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/lick/gif¶
Get a random lick gif
Returns a randomly selected lick gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/lick/gif/lick_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/lick/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/lick",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/neko/{type}¶
Get a random Gif or Image of a Neko
Returns a randomly selected Gif or Image of a Neko (Cat girl), depending on the
provided {type}
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
type |
path | string |
Type of media to return. Available values: gif, img |
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/neko/gif/neko_001.gif",
"error": false,
"time": 0
}
{
"link": "https://purrbot.site/img/sfw/neko/img/neko_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/neko/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/neko",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/okami/img¶
Get a random okami image
Returns a randomly selected okami (Fox girl) image.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/okami/img/okami_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/okami/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/okami",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/pat/gif¶
Get a random pat gif
Returns a randomly selected pat gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/pat/gif/pat_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/pat/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/pat",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/poke/gif¶
Get a random poke gif
Returns a randomly selected poke gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/poke/gif/poke_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/poke/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/poke",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/pout/gif¶
Get a random pouting gif
Returns a randomly selected gif of someone pouting.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/pout/gif/pout_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/pout/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/pout",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/senko/img¶
Get a random senko image
Returns a randomly selected senko image.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/senko/img/_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/senko/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/senko",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/shiro/img¶
Get a random shiro image
Returns a randomly selected shiro image.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/shiro/img/shiro_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/shiro/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/shiro",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/slap/gif¶
Get a random slap gif
Returns a randomly selected slap gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/slap/gif/slap_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/slap/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/slap",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/smile/gif¶
Get a random smile gif
Returns a randomly selected smile gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/smile/gif/smile_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/smile/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/smile",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/tail/gif¶
Get a random tail wagging gif
Returns a randomly selected tail wagging gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/tail/gif/tail_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/tail/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/tail",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/sfw/tickle/gif¶
Get a random tickle gif
Returns a randomly selected tickle gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/sfw/tickle/gif/tickle_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/sfw/tickle/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/sfw/tickle",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /list/sfw/{path}¶
Get all available images of the path
Returns a list of all available images (as URLs) from the provided {path}
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
path |
path | string | The path to list all available images in. Allowed are all available `/api/img/sfw/` paths. |
Responses
200 Successful operation
{
"links": [
"https://purrbot.site/img/sfw/background/img/color_black.png",
"https://purrbot.site/img/sfw/background/img/color_blue.png",
"https://purrbot.site/img/sfw/background/img/color_blurple.png",
"https://purrbot.site/img/sfw/background/img/color_green.png",
"https://purrbot.site/img/sfw/background/img/color_grey.png",
"https://purrbot.site/img/sfw/background/img/color_red.png",
"https://purrbot.site/img/sfw/background/img/color_white.png",
"https://purrbot.site/img/sfw/background/img/gradient.png",
"https://purrbot.site/img/sfw/background/img/gradient_blue.png",
"https://purrbot.site/img/sfw/background/img/gradient_dark_red.png",
"https://purrbot.site/img/sfw/background/img/gradient_green.png",
"https://purrbot.site/img/sfw/background/img/gradient_orange.png",
"https://purrbot.site/img/sfw/background/img/gradient_red.png",
"https://purrbot.site/img/sfw/background/img/rainbow.png"
],
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"links": {
"type": "array",
"description": "List of Image URLs found within the provided path.",
"items": {
"type": "string"
}
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/list/sfw/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/list/sfw/",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
NSFW¶
GET /img/nsfw/anal/gif¶
Get a random anal sex gif
Returns a randomly selected anal sex gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/anal/gif/anal_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/anal/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/anal",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/blowjob/gif¶
Get a random blowjob gif
Returns a randomly selected blowjob gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/blowjob/gif/blowjob_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/blowjob/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/blowjob",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/cum/gif¶
Get a random cum gif
Returns a randomly selected cum gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/cum/gif/cum_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/cum/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/cum",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/fuck/gif¶
Get a random fuck gif
Returns a randomly selected fuck gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/fuck/gif/_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/fuck/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/fuck",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/neko/{type}¶
Get a random Gif or Image of a Neko
Returns a randomly selected Gif or Image of a Neko (Cat girl), depending on the
provided {type}
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
type |
path | string |
Type of media to return. Available values: gif, img |
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/neko/gif/neko_001.gif",
"error": false,
"time": 0
}
{
"link": "https://purrbot.site/img/nsfw/neko/img/neko_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/neko/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/neko",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/pussylick/gif¶
Get a random pussylick gif
Returns a randomly selected pussylick gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/pussylick/gif/pussylick_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/pussylick/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/pussylick",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/solo/gif¶
Get a random solo masturbation gif
Returns a randomly selected solo masturbation gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/solo/gif/solo_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/solo/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/solo",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/solo_male/gif¶
Get a random solo masturbation gif of a man
Returns a randomly selected solo masturbation gif of a man.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/solo_male/gif/solo_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/solo_male/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/solo_male",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/threesome_fff/gif¶
Get a random threesome (Females only) gif
Returns a randomly selected threesome (Females only) gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/threesome_fff/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/threesome_fff/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/threesome_fff",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/threesome_ffm/gif¶
Get a random threesome (2 Females, 1 Male) gif
Returns a randomly selected threesome (2 Females, 1 Male) gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/threesome_ffm/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/threesome_ffm/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/threesome_ffm",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/threesome_mmf/gif¶
Get a random threesome (2 Males, 1 Female) gif
Returns a randomly selected threesome (2 Males, 1 Female) gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/threesome_mmf/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/threesome_mmf/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/threesome_mmf",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/yaoi/gif¶
Get a random yaoi (gay) gif
Returns a randomly selected yaoi (gay) gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/yaoi/gif/yaoi_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/yaoi/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/yaoi",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /img/nsfw/yuri/gif¶
Get a random yuri (lesbian) gif
Returns a randomly selected yuri (lesbian) gif.
Responses
200 Successful operation
{
"link": "https://purrbot.site/img/nsfw/yuri/gif/yuri_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"link": {
"type": "string",
"description": "URL of the randomly selected image file."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw/yuri/invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/yuri",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /list/nsfw/{path}¶
Get all available images of the path
Returns a list of all available images (as URLs) from the provided {path}
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
path |
path | string | The path to list all available images in. Allowed are all available `/api/img/nsfw/` paths. |
Responses
200 Successful operation
{
"links": [
"https://purrbot.site/img/nsfw/anal/gif/anal_001.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_002.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_003.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_004.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_005.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_006.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_007.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_008.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_009.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_010.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_011.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_012.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_013.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_014.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_015.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_016.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_017.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_018.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_019.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_020.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_021.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_022.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_023.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_024.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_025.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_026.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_027.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_028.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_029.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_030.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_031.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_032.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_033.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_034.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_035.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_036.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_037.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_038.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_039.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_040.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_041.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_042.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_043.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_044.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_045.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_046.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_047.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_048.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_049.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_050.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_051.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_052.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_053.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_054.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_055.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_056.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_057.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_058.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_059.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_060.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_061.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_062.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_063.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_064.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_065.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_066.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_067.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_068.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_069.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_070.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_071.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_072.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_073.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_074.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_075.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_076.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_077.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_078.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_079.gif",
"https://purrbot.site/img/nsfw/anal/gif/anal_080.gif"
],
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"links": {
"type": "array",
"description": "List of Image URLs found within the provided path.",
"items": {
"type": "string"
}
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
403 Invalid path provided
{
"details": {
"path": "/api/img/nsfw//invalid",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path is not valid.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
404 Path doesn't contain images
{
"details": {
"path": "/api/img/nsfw/",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "The provided path does not contain any images.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
MISC¶
POST /owoify¶
OWOify text
OWOify text. This means replacing specific characters with other characters or words.
Request body
{
"text": "Hello World!"
}
Schema of the request body
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Text to OwOify."
}
}
}
Responses
200 Successful operation
{
"error": false,
"text": "Hewwo Wowd owo",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"text": {
"type": "string",
"description": "The OwOified text."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
400 Received Malformed JSON Body
{
"details": {
"path": "/api/owoify",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "Received JSON Body does not contain a 'text' value.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /owoify¶
OWOify text
OWOify text. This means replacing specific characters with other characters or words.
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
text |
query | string | The text to OwOify. |
Responses
200 Successful operation
{
"error": false,
"text": "Hewwo Wowd owo",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `false` for this response type."
},
"text": {
"type": "string",
"description": "The OwOified text."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
400 Received Malformed Query
{
"details": {
"path": "/api/owoify",
"content-type": "application/json",
"user-agent": "Some_User-Agent/1.0"
},
"error": true,
"message": "Received request does not contain a 'text' query parameter, or it was empty.",
"time": 0
}
Schema of the response body
{
"type": "object",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent",
"description": "Request details."
},
"error": {
"type": "boolean",
"description": "Whether the response is an error response. Always `true` for this response type."
},
"message": {
"type": "string",
"description": "The error message."
},
"time": {
"type": "integer",
"format": "int64",
"description": "How long the request took to be processed (in milliseconds)."
}
}
}
GET /info¶
Provides info about the API
Returns info about the API including version, license, source code link, etc.
Responses
200 Successful operation
{
"name": "Purrbot ImageAPI",
"version": "2.0.0",
"description": "A public API made for the Discord Bot *Purr* that contains random image and text features.",
"links": {
"documentation": "https://docs.purrbot.site/api",
"source": "https://github.com/purrbot-site/ImageAPI"
},
"license": {
"type": "MIT",
"link": "https://github.com/purrbot-site/ImageAPI/blob/master/LICENSE"
}
}
Schema of the response body
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the API."
},
"version": {
"type": "string",
"description": "Current version used of the API."
},
"description": {
"type": "string",
"description": "Description of the API."
},
"links": {
"$ref": "#/components/schemas/LinksContent",
"description": "Links for documentation and source of the API."
},
"license": {
"$ref": "#/components/schemas/LicenseContent",
"description": "License information about the API."
}
}
}
Schemas¶
DetailsContent¶
Name | Type | Description |
---|---|---|
content-type |
string | The content-type header the user provided. |
path |
string | The API path that was used by the user. |
user-agent |
string | The User-Agent header the user provided. |
ImgSuccess¶
Name | Type | Description |
---|---|---|
error |
boolean | Whether the response is an error response. Always false for this response type. |
link |
string | URL of the randomly selected image file. |
time |
integer(int64) | How long the request took to be processed (in milliseconds). |
InfoSuccess¶
Name | Type | Description |
---|---|---|
description |
string | Description of the API. |
license |
Schema(LicenseContent) | License information about the API. |
links |
Schema(LinksContent) | Links for documentation and source of the API. |
name |
string | Name of the API. |
version |
string | Current version used of the API. |
LicenseContent¶
Name | Type | Description |
---|---|---|
link |
string | Link to the License file. |
type |
string | License Type (Name of the license). |
LinksContent¶
Name | Type | Description |
---|---|---|
documentation |
string | Link to the API documentation. |
source |
string | Link to the Source Code of the API. |
ListSuccess¶
Name | Type | Description |
---|---|---|
error |
boolean | Whether the response is an error response. Always false for this response type. |
links |
Array(string) | List of Image URLs found within the provided path. |
time |
integer(int64) | How long the request took to be processed (in milliseconds). |
OWOifyRequest¶
Name | Type | Description |
---|---|---|
text |
string | Text to OwOify. |
OWOifySuccess¶
Name | Type | Description |
---|---|---|
error |
boolean | Whether the response is an error response. Always false for this response type. |
text |
string | The OwOified text. |
time |
integer(int64) | How long the request took to be processed (in milliseconds). |
RequestFailure¶
Name | Type | Description |
---|---|---|
details |
Schema(DetailsContent) | Request details. |
error |
boolean | Whether the response is an error response. Always true for this response type. |
message |
string | The error message. |
time |
integer(int64) | How long the request took to be processed (in milliseconds). |
Tags¶
Name | Description |
---|---|
sfw | Safe for Work endpoints |
nsfw | Not safe for Work endpoints |
misc | Miscellaneous Endpoints |