{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2017-05-13",
    "endpointPrefix":"runtime.sagemaker",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"Amazon SageMaker Runtime",
    "serviceId":"SageMaker Runtime",
    "signatureVersion":"v4",
    "signingName":"sagemaker",
    "uid":"runtime.sagemaker-2017-05-13"
  },
  "operations":{
    "InvokeEndpoint":{
      "name":"InvokeEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/endpoints/{EndpointName}/invocations"
      },
      "input":{"shape":"InvokeEndpointInput"},
      "output":{"shape":"InvokeEndpointOutput"},
      "errors":[
        {"shape":"InternalFailure"},
        {"shape":"ServiceUnavailable"},
        {"shape":"ValidationError"},
        {"shape":"ModelError"}
      ],
      "documentation":"<p>After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint. </p> <p>For an overview of Amazon SageMaker, see <a href=\"http://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html\">How It Works</a>. </p> <p>Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax. </p> <p>Cals to <code>InvokeEndpoint</code> are authenticated by using AWS Signature Version 4. For information, see <a href=\"http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html\">Authenticating Requests (AWS Signature Version 4)</a> in the <i>Amazon S3 API Reference</i>.</p> <note> <p>Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller.</p> </note>"
    }
  },
  "shapes":{
    "BodyBlob":{
      "type":"blob",
      "max":5242880,
      "sensitive":true
    },
    "CustomAttributesHeader":{
      "type":"string",
      "max":1024,
      "sensitive":true
    },
    "EndpointName":{
      "type":"string",
      "max":63,
      "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*"
    },
    "Header":{
      "type":"string",
      "max":1024
    },
    "InternalFailure":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p> An internal failure occurred. </p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "synthetic":true
    },
    "InvokeEndpointInput":{
      "type":"structure",
      "required":[
        "EndpointName",
        "Body"
      ],
      "members":{
        "EndpointName":{
          "shape":"EndpointName",
          "documentation":"<p>The name of the endpoint that you specified when you created the endpoint using the <a href=\"http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html\">CreateEndpoint</a> API. </p>",
          "location":"uri",
          "locationName":"EndpointName"
        },
        "Body":{
          "shape":"BodyBlob",
          "documentation":"<p>Provides input data, in the format specified in the <code>ContentType</code> request header. Amazon SageMaker passes all of the data in the body to the model. </p> <p>For information about the format of the request body, see <a href=\"http://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html\">Common Data Formats—Inference</a>.</p>"
        },
        "ContentType":{
          "shape":"Header",
          "documentation":"<p>The MIME type of the input data in the request body.</p>",
          "location":"header",
          "locationName":"Content-Type"
        },
        "Accept":{
          "shape":"Header",
          "documentation":"<p>The desired MIME type of the inference in the response.</p>",
          "location":"header",
          "locationName":"Accept"
        },
        "CustomAttributes":{
          "shape":"CustomAttributesHeader",
          "documentation":"<p/>",
          "location":"header",
          "locationName":"X-Amzn-SageMaker-Custom-Attributes"
        }
      },
      "payload":"Body"
    },
    "InvokeEndpointOutput":{
      "type":"structure",
      "required":["Body"],
      "members":{
        "Body":{
          "shape":"BodyBlob",
          "documentation":"<p>Includes the inference provided by the model.</p> <p>For information about the format of the response body, see <a href=\"http://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html\">Common Data Formats—Inference</a>.</p>"
        },
        "ContentType":{
          "shape":"Header",
          "documentation":"<p>The MIME type of the inference returned in the response body.</p>",
          "location":"header",
          "locationName":"Content-Type"
        },
        "InvokedProductionVariant":{
          "shape":"Header",
          "documentation":"<p>Identifies the production variant that was invoked.</p>",
          "location":"header",
          "locationName":"x-Amzn-Invoked-Production-Variant"
        },
        "CustomAttributes":{
          "shape":"CustomAttributesHeader",
          "documentation":"<p/>",
          "location":"header",
          "locationName":"X-Amzn-SageMaker-Custom-Attributes"
        }
      },
      "payload":"Body"
    },
    "LogStreamArn":{"type":"string"},
    "Message":{
      "type":"string",
      "max":2048
    },
    "ModelError":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"},
        "OriginalStatusCode":{
          "shape":"StatusCode",
          "documentation":"<p> Original status code. </p>"
        },
        "OriginalMessage":{
          "shape":"Message",
          "documentation":"<p> Original message. </p>"
        },
        "LogStreamArn":{
          "shape":"LogStreamArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the log stream. </p>"
        }
      },
      "documentation":"<p> Model (owned by the customer in the container) returned an error 500. </p>",
      "error":{"httpStatusCode":424},
      "exception":true
    },
    "ServiceUnavailable":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p> The service is unavailable. Try your call again. </p>",
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true,
      "synthetic":true
    },
    "StatusCode":{"type":"integer"},
    "ValidationError":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p> Inspect your request and try again. </p>",
      "error":{"httpStatusCode":400},
      "exception":true,
      "synthetic":true
    }
  },
  "documentation":"<p> The Amazon SageMaker runtime API. </p>"
}
