API Reference

Subscriptions API

List subscriptions for a pipeline

get
Query parameters
namespacestringOptional

The namespace to which the pipeline and model in the subscription belong.

pipelineNamestringOptional

The name of the pipeline associated with the subscription.

Responses
200

OK

application/json
get
/api/v1/pipeline/subscriptions
GET /api/v1/pipeline/subscriptions HTTP/1.1
Host: 
Accept: */*
{
  "subscriptions": [
    {
      "subscriptionId": "text",
      "modelName": "text",
      "featuresMetadata": [
        {
          "numeric": {
            "name": "Age"
          },
          "categorical": {
            "name": "Marital Status",
            "categories": [
              "Married",
              "Single",
              "Divorced"
            ]
          },
          "categoricalProbaTensor": {
            "name": "Marital Status",
            "categories": [
              "Married",
              "Single",
              "Divorced"
            ]
          }
        }
      ],
      "namespace": "text",
      "pipelineName": "text"
    }
  ]
}

Subscribe to a pipeline model

post
Body
namespacestringRequired

The namespace to which the pipeline and model belong.

Example: my-namespace
pipelineNamestringRequired

The name of the pipeline to which the model belongs.

Example: my-pipeline
modelNamestringRequired

The name of the model.

Example: my-model
Responses
200

OK

application/json
post
/api/v1/pipeline/model/subscribe
POST /api/v1/pipeline/model/subscribe HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 309

{
  "namespace": "my-namespace",
  "pipelineName": "my-pipeline",
  "modelName": "my-model",
  "featuresMetadata": [
    {
      "numeric": {
        "name": "Age"
      },
      "categorical": {
        "name": "Marital Status",
        "categories": [
          "Married",
          "Single",
          "Divorced"
        ]
      },
      "categoricalProbaTensor": {
        "name": "Marital Status",
        "categories": [
          "Married",
          "Single",
          "Divorced"
        ]
      }
    }
  ]
}
{
  "subscriptionId": "text"
}

Unsubscribe from a pipeline model

delete
Query parameters
subscriptionIdstring · uint64Required

The unique identifier of the subscription.

Responses
200

OK

application/json
Responseobject
delete
/api/v1/pipeline/model/unsubscribe
DELETE /api/v1/pipeline/model/unsubscribe?subscriptionId=text HTTP/1.1
Host: 
Accept: */*
{}

Feedback API

Send feedback for a model

post
Body
namespacestringRequired

The namespace to which the pipeline and model belong.

Example: seldon-system
pipelineNamestringRequired

The name of the pipeline to which the model belongs.

Example: my-pipeline
modelNamestringRequired

The name of the model.

Example: my-model
requestIdstringRequired

The prediction request ID, could represent a batch or not.

Example: 1234
batchIdinteger · int64Optional

The request index in the batch, if applicable. Defaults to 0.

Example: 0
Responses
200

OK

application/json
post
/api/v1/pipeline/model/feedback
POST /api/v1/pipeline/model/feedback HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "namespace": "seldon-system",
  "pipelineName": "my-pipeline",
  "modelName": "my-model",
  "requestId": "1234",
  "batchId": "0",
  "feedback": {
    "classificationFeedback": {
      "value": 1
    },
    "regressionFeedback": {
      "value": 1
    }
  }
}
{
  "feedbackId": "text"
}

Metrics API

Classification Metrics

Get classification metrics

get
Query parameters
namespacestringRequired

The namespace to which the pipeline and model belong.

pipelineNamestringRequired

The name of the pipeline to which the model belongs.

modelNamestringRequired

The name of the model.

startTimestring · date-timeRequired

The start datetime of the metrics to retrieve (inclusive), in ISO 8601 format.

endTimestring · date-timeRequired

The end datetime of the metrics to retrieve (exclusive), in ISO 8601 format.

intervalstringOptional

The size of each bucket within the time window, e.g., 10s, 2h45m, 1h. If left empty, a single bucket covering the entire time window will be returned.

Responses
200

OK

application/json
get
/api/v1/metrics/pipeline/classification
GET /api/v1/metrics/pipeline/classification?namespace=text&pipelineName=text&modelName=text&startTime=2025-10-18T03%3A46%3A11.402Z&endTime=2025-10-18T03%3A46%3A11.402Z HTTP/1.1
Host: 
Accept: */*
{
  "metrics": [
    {
      "confusionMatrix": {
        "categories": [
          "text"
        ],
        "values": [
          1
        ],
        "computedConfusionValues": [
          {
            "truePositiveCount": 1,
            "trueNegativeCount": 1,
            "falsePositiveCount": 1,
            "falseNegativeCount": 1
          }
        ]
      },
      "accuracy": 1,
      "recall": 1,
      "precision": 1,
      "specificity": 1,
      "f1": 1,
      "endTime": "2025-10-18T03:46:11.402Z"
    }
  ]
}

Regression Metrics

Get regression metrics

get
Query parameters
namespacestringRequired

The namespace to which the pipeline and model belong.

pipelineNamestringRequired

The name of the pipeline to which the model belongs.

modelNamestringRequired

The name of the model.

startTimestring · date-timeRequired

The start datetime of the metrics to retrieve (inclusive), in ISO 8601 format.

endTimestring · date-timeRequired

The end datetime of the metrics to retrieve (exclusive), in ISO 8601 format.

intervalstringOptional

The size of each bucket within the time window, e.g., 10s, 2h45m, 1h. If left empty, a single bucket covering the entire time window will be returned.

Responses
200

OK

application/json
get
/api/v1/metrics/pipeline/regression
GET /api/v1/metrics/pipeline/regression?namespace=text&pipelineName=text&modelName=text&startTime=2025-10-18T03%3A46%3A11.402Z&endTime=2025-10-18T03%3A46%3A11.402Z HTTP/1.1
Host: 
Accept: */*
{
  "metrics": [
    {
      "meanSquaredError": 1,
      "rootMeanSquaredError": 1,
      "meanAbsoluteError": 1,
      "endTime": "2025-10-18T03:46:11.402Z"
    }
  ]
}

Last updated

Was this helpful?