Seldon model API

The model API from Seldon — 6 operation(s) for model.

OpenAPI Specification

seldon-model-api-openapi.yml Raw ↑
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 model 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: model
paths:
  /v2/models/{model_name}/versions/{model_version}/ready:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    - schema:
        type: string
      name: model_version
      in: path
      required: true
    get:
      summary: Model Ready
      tags:
      - model
      responses:
        '200':
          description: OK
      operationId: model-version-ready
      description: The “model ready” health API indicates if a specific model is ready for inferencing. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies.
  /v2/models/{model_name}/ready:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    get:
      summary: Model Ready
      tags:
      - model
      responses:
        '200':
          description: OK
      operationId: model-ready
      description: The “model ready” health API indicates if a specific model is ready for inferencing. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies.
  /v2/models/{model_name}/versions/{model_version}:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    - schema:
        type: string
      name: model_version
      in: path
      required: true
    get:
      summary: Model Metadata
      tags:
      - model
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataModelResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataModelErrorResponse'
      operationId: model-version-metadata
      description: The per-model metadata endpoint provides information about a model. A model metadata request is made with an HTTP GET to a model metadata endpoint. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies or return an error.
  /v2/models/{model_name}:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    get:
      summary: Model Metadata
      tags:
      - model
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataModelResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataModelErrorResponse'
      operationId: model-metadata
      description: The per-model metadata endpoint provides information about a model. A model metadata request is made with an HTTP GET to a model metadata endpoint. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies or return an error.
  /v2/models/{model_name}/versions/{model_version}/infer:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    - schema:
        type: string
      name: model_version
      in: path
      required: true
    post:
      summary: Model Inference
      operationId: model-version-inference
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceRequest'
      description: An inference request is made with an HTTP POST to an inference endpoint. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies or return an error.
      tags:
      - model
  /v2/models/{model_name}/infer:
    parameters:
    - schema:
        type: string
      name: model_name
      in: path
      required: true
    post:
      summary: Model Inference
      operationId: model-inference
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceRequest'
      description: An inference request is made with an HTTP POST to an inference endpoint. The model name and (optionally) version must be available in the URL. If a version is not provided the server may choose a version based on its own policies or return an error.
      tags:
      - model
components:
  schemas:
    InferenceRequest:
      title: InferenceRequest
      type: object
      x-examples:
        Example 1:
          id: '42'
          inputs:
          - name: input0
            shape:
            - 2
            - 2
            datatype: UINT32
            data:
            - 1
            - 2
            - 3
            - 4
          - name: input1
            shape:
            - 3
            datatype: BOOL
            data:
            - true
          outputs:
          - name: output0
        Example 2:
          id: '42'
          outputs:
          - name: output0
            shape:
            - 3
            - 2
            datatype: FP32
            data:
            - 1
            - 1.1
            - 2
            - 2.1
            - 3
            - 3.1
      properties:
        id:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters'
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/RequestInput'
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/RequestOutput'
      required:
      - inputs
    Parameters:
      type: object
      title: Parameters
      x-examples: {}
      additionalProperties: true
      properties:
        content_type:
          type: string
        headers:
          type: object
    ResponseOutput:
      title: ResponseOutput
      type: object
      properties:
        name:
          type: string
        shape:
          type: array
          items:
            type: integer
        datatype:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters'
        data:
          $ref: '#/components/schemas/TensorData'
      required:
      - name
      - shape
      - datatype
      - data
    RequestOutput:
      title: RequestOutput
      type: object
      properties:
        name:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters'
      required:
      - name
    InferenceErrorResponse:
      title: InferenceErrorResponse
      type: object
      properties:
        error:
          type: string
    RequestInput:
      title: RequestInput
      type: object
      properties:
        name:
          type: string
        shape:
          type: array
          items:
            type: integer
        datatype:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters'
        data:
          $ref: '#/components/schemas/TensorData'
      required:
      - name
      - shape
      - datatype
      - data
    MetadataTensor:
      title: MetadataTensor
      type: object
      properties:
        name:
          type: string
        datatype:
          type: string
        shape:
          type: array
          items:
            type: integer
        parameters:
          $ref: '#/components/schemas/Parameters'
      required:
      - name
      - datatype
      - shape
    MetadataModelErrorResponse:
      title: MetadataModelErrorResponse
      type: object
      properties:
        error:
          type: string
      required:
      - error
    MetadataModelResponse:
      title: MetadataModelResponse
      type: object
      properties:
        name:
          type: string
        versions:
          type: array
          items:
            type: string
        platform:
          type: string
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/MetadataTensor'
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/MetadataTensor'
        parameters:
          $ref: '#/components/schemas/Parameters'
      required:
      - name
      - platform
    InferenceResponse:
      title: InferenceResponse
      type: object
      properties:
        model_name:
          type: string
        model_version:
          type: string
        id:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters'
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/ResponseOutput'
      required:
      - model_name
      - outputs
    TensorData:
      title: TensorData
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        password:
          tokenUrl: https://Y.Y.Y.Y
          scopes:
            email: ''
            groups: ''
            openid: ''
            profile: ''