openapi: 3.0.0 info: description: 'API to interact and manage the lifecycle of your machine learning models deployed through Seldon Deploy.' title: Seldon Deploy AlertingService ModelMetadataService API version: v1alpha1 servers: - url: http://X.X.X.X/seldon-deploy/api/v1alpha1 - url: https://X.X.X.X/seldon-deploy/api/v1alpha1 security: - OAuth2: - '[]' tags: - name: ModelMetadataService paths: /model/metadata: get: summary: List Model Metadata entries. description: 'List takes several parameters that are present in the Model Metadata and tries to list all metadata entries that match all supplied fields. To filter by `tags` or `metrics` you can use a map as a query parameter. For example: `?tags[key]=value`.' operationId: ModelMetadataService_ListModelMetadata responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/v1ModelMetadataListResponse' '204': description: No Content content: application/json: schema: {} '400': description: Bad Request content: application/json: schema: {} '500': description: Internal Server Error content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: URI in: query required: false schema: type: string - name: name in: query required: false schema: type: string - name: version in: query required: false schema: type: string - name: artifactType in: query required: false schema: type: string enum: - UNKNOWN - CUSTOM - TENSORFLOW - SKLEARN - XGBOOST - MLFLOW - PYTORCH - ONNX - TENSORRT - ALIBI_EXPLAIN - ALIBI_DETECT - HUGGINGFACE - MLSERVER_PYTHON - TRITON_PYTHON default: UNKNOWN - name: taskType in: query required: false schema: type: string - name: modelType in: query required: false schema: type: string - name: query description: For more complex queries where other logical operators like OR, NOT, etc. in: query required: false schema: type: string - name: pageSize description: Optional. The maximum number of Folders to return in the response. in: query required: false schema: type: integer format: int32 - name: pageToken description: 'Optional. A pagination token returned from a previous call to `List` that indicates where this listing should continue from.' in: query required: false schema: type: string - name: listMask description: 'Optional. Can be used to specify which fields of Model you wish to return in the response. If left empty all fields will be returned.' in: query required: false schema: type: string - name: project in: query required: false schema: type: string - name: orderBy description: 'Based on https://cloud.google.com/apis/design/design_patterns#sorting_order The order in which to return the model metadata. The string value should follow SQL syntax: comma separated list of fields. The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. Valid field names include: uri, name, version, project, artifact_type, task_type.' in: query required: false schema: type: string - name: defaultProtocol in: query required: false schema: type: string enum: - PROTOCOL_UNKNOWN - PROTOCOL_SELDON - PROTOCOL_TENSORFLOW - PROTOCOL_V2 default: PROTOCOL_UNKNOWN tags: - ModelMetadataService delete: summary: Delete a Model Metadata entry. operationId: ModelMetadataService_DeleteModelMetadata responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/v1ModelMetadataDeleteResponse' '204': description: No Content content: application/json: schema: {} '500': description: Internal Server Error content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: URI description: The URI for the storage bucket containing the model, or the URI to the docker image for custom models. It must be a valid URI as defined in RFC 3986, and must not exceed 200 characters. in: query required: true schema: type: string - name: project description: The project that this model belongs to. in: query required: false schema: type: string tags: - ModelMetadataService post: summary: Create a Model Metadata entry. operationId: ModelMetadataService_CreateModelMetadata responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/v1ModelMetadataCreateResponse' '400': description: Bad Request content: application/json: schema: {} '500': description: Internal Server Error content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' requestBody: $ref: '#/components/requestBodies/v1Model' tags: - ModelMetadataService put: summary: Update a Model Metadata entry. operationId: ModelMetadataService_UpdateModelMetadata responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/v1ModelMetadataUpdateResponse' '400': description: Bad Request content: application/json: schema: {} '500': description: Internal Server Error content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' requestBody: $ref: '#/components/requestBodies/v1Model' tags: - ModelMetadataService /model/metadata/runtime: get: summary: List Runtime Metadata for all deployments associated with a model. operationId: ModelMetadataService_ListRuntimeMetadataForModel responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/v1RuntimeMetadataListResponse' '204': description: No Content content: application/json: schema: {} '400': description: Bad Request content: application/json: schema: {} '500': description: Internal Server Error content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: ModelURI in: query required: false schema: type: string - name: DeploymentUID in: query required: false schema: type: string - name: DeploymentName in: query required: false schema: type: string - name: DeploymentNamespace in: query required: false schema: type: string - name: DeploymentStatus in: query required: false schema: type: string enum: - Running - Stopped - Unknown default: Running - name: PredictorName in: query required: false schema: type: string - name: NodeName in: query required: false schema: type: string - name: pageSize description: Optional. The maximum number of Folders to return in the response. in: query required: false schema: type: integer format: int32 - name: pageToken description: 'Optional. A pagination token returned from a previous call to `List` that indicates where this listing should continue from.' in: query required: false schema: type: string - name: listMask description: 'Optional. Can be used to specify which fields of RuntimeMetadata you wish to return in the response. If left empty all fields will be returned.' in: query required: false schema: type: string - name: deploymentType in: query required: false schema: type: string enum: - UndefinedDeploymentType - SeldonDeployment - SeldonModel - KnativeDetector default: UndefinedDeploymentType tags: - ModelMetadataService components: schemas: v1DataType: type: string enum: - FLOAT - INT - BOOL - STRING - BYTES default: FLOAT v1FeatureType: type: string enum: - REAL - CATEGORICAL - PROBA - ONE_HOT - TEXT - TENSOR default: REAL title: "- REAL: A numerical variable\n - CATEGORICAL: A categorical variable\n - PROBA: A list of probabilities\n - ONE_HOT: A list of one-hot encodings\n - TEXT: A text string\n - TENSOR: N-dimensional Tensor" v1PredictionSchema: type: object properties: requests: type: array items: $ref: '#/components/schemas/v1FeatureSchema' responses: type: array items: $ref: '#/components/schemas/v1FeatureSchema' required: - requests - responses v1DeploymentType: type: string enum: - UndefinedDeploymentType - SeldonDeployment - SeldonModel - KnativeDetector default: UndefinedDeploymentType v1ArtifactType: type: string enum: - UNKNOWN - CUSTOM - TENSORFLOW - SKLEARN - XGBOOST - MLFLOW - PYTORCH - ONNX - TENSORRT - ALIBI_EXPLAIN - ALIBI_DETECT - HUGGINGFACE - MLSERVER_PYTHON - TRITON_PYTHON default: UNKNOWN protobufAny: type: object properties: '@type': type: string additionalProperties: {} v1RuntimeDefaults: type: object properties: defaultProtocol: $ref: '#/components/schemas/v1DefaultProtocol' v1FeatureCategorySchema: type: object properties: name: type: string dataType: $ref: '#/components/schemas/v1DataType' required: - name v1DeploymentStatus: type: string enum: - Running - Stopped - Unknown default: Running v1FeatureSchema: type: object properties: name: type: string type: $ref: '#/components/schemas/v1FeatureType' dataType: $ref: '#/components/schemas/v1DataType' nCategories: type: string format: int64 categoryMap: type: object additionalProperties: type: string schema: type: array items: $ref: '#/components/schemas/v1FeatureCategorySchema' shape: type: array items: type: string format: int64 required: - name - type v1Model: type: object properties: URI: type: string example: gs://seldon-models/sklearn/iris description: The URI for the storage bucket containing the model, or the URI to the docker image for custom models. It must be a valid URI as defined in RFC 3986, and must not exceed 200 characters. name: type: string example: Iris Classifier description: The name of the model. It must not exceed 200 characters. version: type: string example: v1.2.3 default: '"v0.0.1"' description: The version of the model. It must not exceed 50 characters. artifactType: $ref: '#/components/schemas/v1ArtifactType' taskType: type: string example: classification description: The task type of the model. It must not exceed 50 characters. tags: type: object example: author: Jon additionalProperties: type: string description: Key-value pairs of arbitrary metadata associated with the model. Each key and value must not exceed 100 and 500 characters respectively. metrics: type: object example: trainingPrecision: 0.78 trainingRecall: 0.87 additionalProperties: type: number format: double description: Key-value pairs of static metrics associated with the model. For dynamic metrics look into metrics https://deploy.seldon.io/en/latest/contents/getting-started/production-installation/metrics.html. Keys must not exceed 100 characters. creationTime: type: string format: date-time example: '2017-01-15T01:30:15.01Z' description: The creation timestamp for the model metadata entry. It is automatically created by the Metadata service and cannot be modified. The timestamp is using the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format/ predictionSchema: $ref: '#/components/schemas/v1PredictionSchema' project: type: string example: project_1 description: The project that this model belongs to. runtimeDefaults: $ref: '#/components/schemas/v1RuntimeDefaults' required: - URI v1ModelMetadataCreateResponse: type: object v1RuntimeMetadataListResponse: type: object properties: runtimeMetadata: type: array items: $ref: '#/components/schemas/v1RuntimeMetadata' nextPageToken: type: string description: 'A pagination token returned from a previous call to `List` that indicates from where listing should continue.' v1ModelMetadataListResponse: type: object properties: models: type: array items: $ref: '#/components/schemas/v1Model' nextPageToken: type: string description: 'A pagination token returned from a previous call to `List` that indicates from where listing should continue.' v1RuntimeMetadata: type: object properties: modelUri: type: string example: gs://seldon-models/sklearn/iris description: The URI for the storage bucket containing the model, or the URI to the docker image for custom models. deploymentName: type: string example: iris description: The name of the Kubernetes deployment that is associated with a model. deploymentNamespace: type: string example: seldon description: The Kubernetes namespace in which this deployment is running in. deploymentKubernetesUid: type: string example: 2c60bdb0-8a8e-46bf-a3c5-627ad507f76b description: The Kubernetes UID of the deployment associated with a model. See https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids for details predictorName: type: string example: default description: The name of the predictor inside the deployment that contains the referenced model. nodeName: type: string example: default-node description: The name of the node inside the predictor that contains the referenced model. This is relevant and populated only for SeldonDeployment deployment types. deploymentStatus: $ref: '#/components/schemas/v1DeploymentStatus' deploymentType: $ref: '#/components/schemas/v1DeploymentType' traffic: type: string format: int64 description: The amount of traffic server by this model in the deployment. shadow: type: boolean description: True if this model is a shadow in the deployment. creationTime: type: string format: date-time example: '2017-01-15T01:30:15.01Z' description: The creation timestamp for the runtime model metadata entry. It is automatically created by the Metadata service and cannot be modified. The timestamp is using the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format/ model: $ref: '#/components/schemas/v1Model' explainer: type: boolean description: True if this model is a explainer in the deployment. replicas: type: string format: int64 description: The number of replicas for this model. v1DefaultProtocol: type: string enum: - PROTOCOL_UNKNOWN - PROTOCOL_SELDON - PROTOCOL_TENSORFLOW - PROTOCOL_V2 default: PROTOCOL_UNKNOWN description: 'For model inference, Seldon recommends using the industry-standard Open Inference Protocol (OIP) as the preferred protocol over others.
This value is managed internally by the Seldon Enterprise Platform. For Seldon Deployments using the OIP, the protocol value is ''PROTOCOL_V2''. For Seldon ML Pipelines, it is ''PROTOCOL_UNKNOWN''.
For more information, please refer to the Seldon documentation: https://docs.seldon.ai/seldon-core-2/apis/inference/v2' rpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: $ref: '#/components/schemas/protobufAny' v1ModelMetadataUpdateResponse: type: object v1ModelMetadataDeleteResponse: type: object requestBodies: v1Model: content: application/json: schema: $ref: '#/components/schemas/v1Model' required: true securitySchemes: OAuth2: type: oauth2 flows: password: tokenUrl: https://Y.Y.Y.Y scopes: email: '' groups: '' openid: '' profile: ''