Seldon External API
Connect to Seldon External API with 1 MCP tools for AI-powered API automation.
COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "http://seldon.local"
},
{
"url": "http://{host}:{port}",
"variables": {
"host": {
"default": "localhost",
"description": "host running seldon core"
},
"port": {
"default": "80"
}
}
},
{
"description": "fixed host as swagger UI has bug with variables for auth",
"url": "http://localhost:8002"
}
],
"info": {
"contact": {
"name": "Seldon Core",
"url": "https://github.com/SeldonIO/seldon-core"
},
"title": "Seldon External API",
"version": "0.1",
"x-apisguru-categories": [
"machine_learning"
],
"x-origin": [
{
"format": "openapi",
"url": "https://raw.githubusercontent.com/SeldonIO/seldon-core/master/openapi/wrapper.oas3.json",
"version": "3.0"
}
],
"x-providerName": "seldon.local",
"x-serviceName": "wrapper",
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
}
},
"externalDocs": {
"description": "Seldon Core Documentation",
"url": "https://github.com/SeldonIO/seldon-core"
},
"paths": {
"/aggregate": {
"get": {
"operationId": "Aggregate",
"parameters": [
{
"in": "query",
"name": "body",
"required": true,
"schema": {
"$ref": "#/components/schemas/SeldonMessageList"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "Aggregate2",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/SeldonMessageList"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
},
"/predict": {
"get": {
"operationId": "TransformInput4",
"parameters": [
{
"example": {
"json": "{\"data\":{\"names\" : [\"feature1\"],\"tensor\" : {\"shape\": [1,1],\"values\": [1]}}}"
},
"in": "query",
"name": "json",
"required": true,
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "TransformInput3",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/SeldonMessage"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
},
"/route": {
"get": {
"operationId": "Route2",
"parameters": [
{
"in": "query",
"name": "json",
"required": true,
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "Route",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/SeldonMessage"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
},
"/send-feedback": {
"get": {
"operationId": "SendFeedback2",
"parameters": [
{
"in": "query",
"name": "json",
"required": true,
"schema": {
"$ref": "#/components/schemas/Feedback"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "SendFeedback",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/Feedback"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
},
"/transform-input": {
"get": {
"operationId": "TransformInput2",
"parameters": [
{
"in": "query",
"name": "json",
"required": true,
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "TransformInput",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/SeldonMessage"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
},
"/transform-output": {
"get": {
"operationId": "TransformOutput2",
"parameters": [
{
"in": "query",
"name": "json",
"required": true,
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
},
"post": {
"operationId": "TransformOutput",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"encoding": {
"json": {
"contentType": "application/json"
}
},
"schema": {
"properties": {
"json": {
"$ref": "#/components/schemas/SeldonMessage"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeldonMessage"
}
}
},
"description": "A successful response."
}
},
"tags": [
"Internal"
]
}
}
},
"components": {
"schemas": {
"AnyValue": {
"description": "Can be anything: string, number, array, object, etc."
},
"DefaultData": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"ndarry": {
"items": {
"$ref": "#/components/schemas/AnyValue"
},
"type": "array"
},
"tensor": {
"$ref": "#/components/schemas/Tensor"
},
"tftensor": {
"$ref": "#/components/schemas/TensorflowTensorProto"
}
},
"type": "object"
},
"Feedback": {
"properties": {
"request": {
"$ref": "#/components/schemas/SeldonMessage"
},
"response": {
"$ref": "#/components/schemas/SeldonMessage"
},
"reward": {
"format": "float",
"type": "number"
},
"truth": {
"$ref": "#/components/schemas/SeldonMessage"
}
},
"type": "object"
},
"Meta": {
"properties": {
"metrics": {
"items": {
"$ref": "#/components/schemas/Metric"
},
"type": "array"
},
"puid": {
"type": "string"
},
"requestPath": {
"additionalProperties": {
"type": "string"
},
"example": {
"classifier": "seldonio/mock_classifier:1.0"
},
"type": "object"
},
"routing": {
"additionalProperties": {
"format": "int32",
"type": "integer"
},
"example": {
"router1": 1
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/components/schemas/AnyValue"
},
"example": {
"mytag": "myvalue"
},
"type": "object"
}
},
"type": "object"
},
"Metric": {
"properties": {
"key": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/MetricType"
},
"value": {
"format": "float",
"type": "number"
}
},
"type": "object"
},
"MetricType": {
"default": "COUNTER",
"enum": [
"COUNTER",
"GAUGE",
"TIMER"
],
"type": "string"
},
"SeldonMessage": {
"properties": {
"binData": {
"format": "byte",
"type": "string"
},
"data": {
"$ref": "#/components/schemas/DefaultData"
},
"meta": {
"$ref": "#/components/schemas/Meta"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"strData": {
"type": "string"
}
},
"type": "object"
},
"SeldonMessageList": {
"properties": {
"seldonMessages": {
"items": {
"$ref": "#/components/schemas/SeldonMessage"
},
"type": "array"
}
},
"type": "object"
},
"Status": {
"properties": {
"code": {
"format": "int32",
"type": "integer"
},
"info": {
"type": "string"
},
"reason": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/StatusStatusFlag"
}
},
"type": "object"
},
"StatusStatusFlag": {
"default": "SUCCESS",
"enum": [
"SUCCESS",
"FAILURE"
],
"type": "string"
},
"Tensor": {
"properties": {
"shape": {
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"values": {
"items": {
"format": "double",
"type": "number"
},
"type": "array"
}
},
"type": "object"
},
"TensorShapeProtoDim": {
"description": "One dimension of the tensor.",
"properties": {
"name": {
"description": "Optional name of the tensor dimension.",
"type": "string"
},
"size": {
"description": "Size of the tensor in that dimension.\nThis value must be >= -1, but values of -1 are reserved for \"unknown\"\nshapes (values of -1 mean \"unknown\" dimension). Certain wrappers\nthat work with TensorShapeProto may fail at runtime when deserializing\na TensorShapeProto containing a dim value of -1.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"TensorflowDataType": {
"default": "DT_INVALID",
"description": "- DT_INVALID: Not a legal value for DataType. Used to indicate a DataType field\nhas not been set.\n - DT_FLOAT: Data types that all computation devices are expected to be\ncapable to support.\n - DT_FLOAT_REF: Do not use! These are only for parameters. Every enum above\nshould have a corresponding value below (verified by types_test).",
"enum": [
"DT_INVALID",
"DT_FLOAT",
"DT_DOUBLE",
"DT_INT32",
"DT_UINT8",
"DT_INT16",
"DT_INT8",
"DT_STRING",
"DT_COMPLEX64",
"DT_INT64",
"DT_BOOL",
"DT_QINT8",
"DT_QUINT8",
"DT_QINT32",
"DT_BFLOAT16",
"DT_QINT16",
"DT_QUINT16",
"DT_UINT16",
"DT_COMPLEX128",
"DT_HALF",
"DT_RESOURCE",
"DT_VARIANT",
"DT_UINT32",
"DT_UINT64",
"DT_FLOAT_REF",
"DT_DOUBLE_REF",
"DT_INT32_REF",
"DT_UINT8_REF",
"DT_INT16_REF",
"DT_INT8_REF",
"DT_STRING_REF",
"DT_COMPLEX64_REF",
"DT_INT64_REF",
"DT_BOOL_REF",
"DT_QINT8_REF",
"DT_QUINT8_REF",
"DT_QINT32_REF",
"DT_BFLOAT16_REF",
"DT_QINT16_REF",
"DT_QUINT16_REF",
"DT_UINT16_REF",
"DT_COMPLEX128_REF",
"DT_HALF_REF",
"DT_RESOURCE_REF",
"DT_VARIANT_REF",
"DT_UINT32_REF",
"DT_UINT64_REF"
],
"title": "LINT.IfChange",
"type": "string"
},
"TensorflowResourceHandleProto": {
"description": "Protocol buffer representing a handle to a tensorflow resource. Handles are\nnot valid across executions, but can be serialized back and forth from within\na single run.",
"properties": {
"container": {
"description": "Container in which this resource is placed.",
"type": "string"
},
"device": {
"description": "Unique name for the device containing the resource.",
"type": "string"
},
"hash_code": {
"description": "Hash code for the type of the resource. Is only valid in the same device\nand in the same execution.",
"format": "uint64",
"type": "string"
},
"maybe_type_name": {
"description": "For debug-only, the name of the type pointed to by this handle, if\navailable.",
"type": "string"
},
"name": {
"description": "Unique name of this resource.",
"type": "string"
}
},
"type": "object"
},
"TensorflowTensorProto": {
"description": "Protocol buffer representing a tensor.",
"properties": {
"bool_val": {
"items": {
"format": "boolean",
"type": "boolean"
},
"title": "DT_BOOL",
"type": "array"
},
"dcomplex_val": {
"description": "DT_COMPLEX128. dcomplex_val(2*i) and dcomplex_val(2*i+1) are real\nand imaginary parts of i-th double precision complex.",
"items": {
"format": "double",
"type": "number"
},
"type": "array"
},
"double_val": {
"description": "DT_DOUBLE.",
"items": {
"format": "double",
"type": "number"
},
"type": "array"
},
"dtype": {
"$ref": "#/components/schemas/TensorflowDataType"
},
"float_val": {
"description": "DT_FLOAT.",
"items": {
"format": "float",
"type": "number"
},
"type": "array"
},
"half_val": {
"description": "DT_HALF, DT_BFLOAT16. Note that since protobuf has no int16 type, we'll\nhave some pointless zero padding for each value here.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"int64_val": {
"items": {
"format": "int64",
"type": "string"
},
"title": "DT_INT64",
"type": "array"
},
"int_val": {
"description": "DT_INT32, DT_INT16, DT_INT8, DT_UINT8.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"resource_handle_val": {
"items": {
"$ref": "#/components/schemas/TensorflowResourceHandleProto"
},
"title": "DT_RESOURCE",
"type": "array"
},
"scomplex_val": {
"description": "DT_COMPLEX64. scomplex_val(2*i) and scomplex_val(2*i+1) are real\nand imaginary parts of i-th single precision complex.",
"items": {
"format": "float",
"type": "number"
},
"type": "array"
},
"string_val": {
"items": {
"format": "byte",
"type": "string"
},
"title": "DT_STRING",
"type": "array"
},
"tensor_content": {
"description": "Serialized raw tensor content from either Tensor::AsProtoTensorContent or\nmemcpy in tensorflow::grpc::EncodeTensorToByteBuffer. This representation\ncan be used for all tensor types. The purpose of this representation is to\nreduce serialization overhead during RPC call by avoiding serialization of\nmany repeated small items.",
"format": "byte",
"type": "string"
},
"tensor_shape": {
"$ref": "#/components/schemas/TensorflowTensorShapeProto",
"description": "Shape of the tensor. TODO(touts): sort out the 0-rank issues."
},
"uint32_val": {
"items": {
"format": "int64",
"type": "integer"
},
"title": "DT_UINT32",
"type": "array"
},
"uint64_val": {
"items": {
"format": "uint64",
"type": "string"
},
"title": "DT_UINT64",
"type": "array"
},
"variant_val": {
"items": {
"$ref": "#/components/schemas/TensorflowVariantTensorDataProto"
},
"title": "DT_VARIANT",
"type": "array"
},
"version_number": {
"description": "Version number.\n\nIn version 0, if the \"repeated xxx\" representations contain only one\nelement, that element is repeated to fill the shape. This makes it easy\nto represent a constant Tensor with a single value.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"TensorflowTensorShapeProto": {
"description": "Dimensions of a tensor.",
"properties": {
"dim": {
"description": "Dimensions of the tensor, such as {\"input\", 30}, {\"output\", 40}\nfor a 30 x 40 2D tensor. If an entry has size -1, this\ncorresponds to a dimension of unknown size. The names are\noptional.\n\nThe order of entries in \"dim\" matters: It indicates the layout of the\nvalues in the tensor in-memory representation.\n\nThe first entry in \"dim\" is the outermost dimension used to layout the\nvalues, the last entry is the innermost dimension. This matches the\nin-memory layout of RowMajor Eigen tensors.\n\nIf \"dim.size()\" > 0, \"unknown_rank\" must be false.",
"items": {
"$ref": "#/components/schemas/TensorShapeProtoDim"
},
"type": "array"
},
"unknown_rank": {
"description": "If true, the number of dimensions in the shape is unknown.\n\nIf true, \"dim.size()\" must be 0.",
"format": "boolean",
"type": "boolean"
}
},
"type": "object"
},
"TensorflowVariantTensorDataProto": {
"description": "Protocol buffer representing the serialization format of DT_VARIANT tensors.",
"properties": {
"metadata": {
"description": "Portions of the object that are not Tensors.",
"format": "byte",
"type": "string"
},
"tensors": {
"description": "Tensors contained within objects being serialized.",
"items": {
"$ref": "#/components/schemas/TensorflowTensorProto"
},
"type": "array"
},
"type_name": {
"description": "Name of the type of objects being serialized.",
"type": "string"
}
},
"type": "object"
}
}
}
}