The content of this page has been auto-generated from an OpenAPI file.
Purrbot API 2.1.0¶
The Purrbot API (Formerly Purrbot Image API) is an open-source API that currently provides the following features:
- Receive a randomly selected image link based on the selected image path.
- Receive a list of image links based on the selected image path.
- "OWOify" provided text, replacing specific characters with other values.
Testing connection¶
This page does not support directly testing API endpoints. Instead are you required to use a tool such as cURL or Postman to access and test API paths.
To test it, connect to https://api.purrbot.site
and look for a response
similar to the following:
{
"name": "Purrbot API",
"version": "2.2.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",
"api": "https://api.purrbot.site/v2",
"legal": "https://docs.purrbot.site/legal/api"
},
"license": {
"type": "MIT",
"link": "https://github.com/purrbot-site/ImageAPI/blob/master/LICENSE"
}
}
links
object.
Versioning¶
The versioning of the API is simple. Whenever the API receives a breaking change will the version in the URL path get bumped.
Where possible will we try to still support the old API path for a while to allow an easier migration to the new version.
Current API deprecations¶
The following API URL paths are currently considered deprecated and will be removed in the future:
https://purrbot.site/api
(switch tohttps://api.purrbot.site/v2
)
Servers¶
URL | Description |
---|---|
https://api.purrbot.site/v2 | Main API endpoint to use. |
https://purrbot.site/api | [DEPRECATED] Old API Endpoint. |
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://cdn.purrbot.site/sfw/angry/gif/angry_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/background/color_black.png",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/bite/gif/bite_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/blush/gif/blush_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/comfy/gif/comfy_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/cry/gif/cry_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/cuddle/gif/cuddle_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/dance/gif/dance_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/eevee/gif/eevee_001.gif",
"error": false,
"time": 0
}
{
"link": "https://cdn.purrbot.site/sfw/eevee/img/eevee_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/fluff/gif/fluff_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/holo/img/holo_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/hug/gif/hug_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/icon/img/icon_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/kiss/gif/kiss_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/kitsune/img/kitsune_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/lay/gif/lay_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/lick/gif/lick_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/neko/gif/neko_001.gif",
"error": false,
"time": 0
}
{
"link": "https://cdn.purrbot.site/sfw/neko/img/neko_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/okami/img/okami_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/pat/gif/pat_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/poke/gif/poke_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/pout/gif/pout_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/senko/img/senko_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/shiro/img/shiro_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/slap/gif/slap_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/smile/gif/smile_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/tail/gif/tail_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/tickle/gif/tickle_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/sfw/background/img/color_black.png",
"https://cdn.purrbot.site/sfw/background/img/color_blue.png",
"https://cdn.purrbot.site/sfw/background/img/color_blurple.png",
"https://cdn.purrbot.site/sfw/background/img/color_green.png",
"https://cdn.purrbot.site/sfw/background/img/color_grey.png",
"https://cdn.purrbot.site/sfw/background/img/color_red.png",
"https://cdn.purrbot.site/sfw/background/img/color_white.png",
"https://cdn.purrbot.site/sfw/background/img/gradient.png",
"https://cdn.purrbot.site/sfw/background/img/gradient_blue.png",
"https://cdn.purrbot.site/sfw/background/img/gradient_dark_red.png",
"https://cdn.purrbot.site/sfw/background/img/gradient_green.png",
"https://cdn.purrbot.site/sfw/background/img/gradient_orange.png",
"https://cdn.purrbot.site/sfw/background/img/gradient_red.png",
"https://cdn.purrbot.site/sfw/background/img/rainbow.png"
],
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A success response returning a list of all available image links.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/anal/gif/anal_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/blowjob/gif/blowjob_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/cum/gif/cum_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/fuck/gif/fuck_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/neko/gif/neko_001.gif",
"error": false,
"time": 0
}
{
"link": "https://cdn.purrbot.site/nsfw/neko/img/neko_001.jpg",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/pussylick/gif/pussylick_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/solo/gif/solo_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/solo_male/gif/solo_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/threesome_fff/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/threesome_ffm/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/threesome_mmf/gif/threesome_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/yaoi/gif/yaoi_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/yuri/gif/yuri_001.gif",
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful response returning a randomly selected image link.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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://cdn.purrbot.site/nsfw/anal/gif/anal_001.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_002.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_003.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_004.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_005.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_006.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_007.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_008.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_009.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_010.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_011.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_012.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_013.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_014.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_015.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_016.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_017.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_018.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_019.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_020.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_021.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_022.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_023.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_024.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_025.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_026.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_027.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_028.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_029.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_030.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_031.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_032.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_033.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_034.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_035.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_036.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_037.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_038.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_039.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_040.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_041.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_042.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_043.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_044.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_045.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_046.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_047.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_048.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_049.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_050.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_051.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_052.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_053.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_054.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_055.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_056.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_057.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_058.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_059.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_060.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_061.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_062.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_063.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_064.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_065.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_066.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_067.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_068.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_069.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_070.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_071.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_072.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_073.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_074.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_075.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_076.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_077.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_078.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_079.gif",
"https://cdn.purrbot.site/nsfw/anal/gif/anal_080.gif"
],
"error": false,
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A success response returning a list of all available image links.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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
"OWOifies" text, meaning it replaces characters and words with others, depending on the provided configuration. Multiple configurations can be set via additional JSON properties:
- Only
text
: Replacesl
andr
withw
(Respects casing). replace-words
: Replaces specific key-words with others.stutter
: Randomly makes some word stutter by repeating the first character followed by a hyphon.emoticons
: Replaces punctuation characters (.!?
) with random text emoticons.
Request body
{
"text": "Hello World!"
}
Schema of the request body
{
"type": "object",
"description": "A JSON object for a proper POST request towards the OWOify endpoint.",
"properties": {
"text": {
"type": "string",
"description": "Text to OwOify."
},
"replace-words": {
"type": "boolean",
"description": "Whether to replace specific key-words with others",
"required": false
},
"stutter": {
"type": "boolean",
"description": "Whether stuttering should be added.",
"required": false
},
"emoticons": {
"type": "boolean",
"description": "Whether to replace punctuation characters (`.!?`) with random emoticons.",
"required": false
}
}
}
Responses
200 Successful operation
{
"error": false,
"text": "Hewwo Wowd owo",
"time": 0
}
Schema of the response body
{
"type": "object",
"description": "A successful OWOify response returning the converted text.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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
"OWOifies" text, meaning it replaces characters and words with others, depending on the provided configuration. Multiple configurations can be set via additional query parameters:
- Only
text
: Replacesl
andr
withw
(Respects casing). replace-words
: Replaces specific key-words with others.stutter
: Randomly makes some word stutter by repeating the first character followed by a hyphon.emoticons
: Replaces punctuation characters (.!?
) with random text emoticons.
Input parameters
Parameter | In | Type | Description |
---|---|---|---|
emoticons |
query | boolean | Whether to replace punctuation characters (`.!?`) with random emoticons. |
replace-words |
query | boolean | Whether to replace specific key-words with others. |
stutter |
query | boolean | Whether stuttering should be added. |
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",
"description": "A successful OWOify response returning the converted text.",
"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)."
},
"deprecation-warning": {
"type": "string",
"description": "Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints.",
"nullable": true
}
}
}
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",
"description": "A failed response for an API request.",
"properties": {
"details": {
"$ref": "#/components/schemas/DetailsContent"
},
"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.
Deprecated
This endpoint was deprecated. It will be removed in a future version!
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",
"api": "https://api.purrbot.site/v2"
},
"license": {
"type": "MIT",
"link": "https://github.com/purrbot-site/ImageAPI/blob/master/LICENSE"
}
}
Schema of the response body
{
"type": "object",
"description": "A successful response containing API information.",
"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"
},
"license": {
"$ref": "#/components/schemas/LicenseContent"
}
}
}
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 |
---|---|---|
deprecation-warning |
string (nullable) | Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints. |
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) | |
links |
Schema(LinksContent) | |
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 |
---|---|---|
api |
string | API link that can be used for requests. |
documentation |
string | Link to the API documentation. |
source |
string | Link to the Source Code of the API. |
ListSuccess¶
Name | Type | Description |
---|---|---|
deprecation-warning |
string (nullable) | Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints. |
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 |
---|---|---|
emoticons |
boolean | Whether to replace punctuation characters (.!? ) with random emoticons. |
replace-words |
boolean | Whether to replace specific key-words with others |
stutter |
boolean | Whether stuttering should be added. |
text |
string | Text to OwOify. |
OWOifySuccess¶
Name | Type | Description |
---|---|---|
deprecation-warning |
string (nullable) | Warning about the deprecation of the accessed endpoint. Not present for https://api.purrbot.site/v2 endpoints. |
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) | |
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 |