{ "version":"2.0", "metadata":{ "apiVersion":"2019-11-07", "endpointPrefix":"a2i-runtime.sagemaker", "jsonVersion":"1.1", "protocol":"rest-json", "serviceFullName":"Amazon Augmented AI Runtime", "serviceId":"SageMaker A2I Runtime", "signatureVersion":"v4", "signingName":"sagemaker", "uid":"sagemaker-a2i-runtime-2019-11-07" }, "operations":{ "DeleteHumanLoop":{ "name":"DeleteHumanLoop", "http":{ "method":"DELETE", "requestUri":"/human-loops/{HumanLoopName}" }, "input":{"shape":"DeleteHumanLoopRequest"}, "output":{"shape":"DeleteHumanLoopResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], "documentation":"

Deletes the specified human loop for a flow definition.

If the human loop was deleted, this operation will return a ResourceNotFoundException.

" }, "DescribeHumanLoop":{ "name":"DescribeHumanLoop", "http":{ "method":"GET", "requestUri":"/human-loops/{HumanLoopName}" }, "input":{"shape":"DescribeHumanLoopRequest"}, "output":{"shape":"DescribeHumanLoopResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], "documentation":"

Returns information about the specified human loop. If the human loop was deleted, this operation will return a ResourceNotFoundException error.

" }, "ListHumanLoops":{ "name":"ListHumanLoops", "http":{ "method":"GET", "requestUri":"/human-loops" }, "input":{"shape":"ListHumanLoopsRequest"}, "output":{"shape":"ListHumanLoopsResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], "documentation":"

Returns information about human loops, given the specified parameters. If a human loop was deleted, it will not be included.

" }, "StartHumanLoop":{ "name":"StartHumanLoop", "http":{ "method":"POST", "requestUri":"/human-loops" }, "input":{"shape":"StartHumanLoopRequest"}, "output":{"shape":"StartHumanLoopResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"ThrottlingException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"}, {"shape":"ConflictException"} ], "documentation":"

Starts a human loop, provided that at least one activation condition is met.

" }, "StopHumanLoop":{ "name":"StopHumanLoop", "http":{ "method":"POST", "requestUri":"/human-loops/stop" }, "input":{"shape":"StopHumanLoopRequest"}, "output":{"shape":"StopHumanLoopResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], "documentation":"

Stops the specified human loop.

" } }, "shapes":{ "ConflictException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

Your request has the same name as another active human loop but has different input data. You cannot start two human loops with the same name and different input data.

", "error":{"httpStatusCode":409}, "exception":true }, "ContentClassifier":{ "type":"string", "enum":[ "FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent" ] }, "ContentClassifiers":{ "type":"list", "member":{"shape":"ContentClassifier"}, "max":256 }, "DeleteHumanLoopRequest":{ "type":"structure", "required":["HumanLoopName"], "members":{ "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop that you want to delete.

", "location":"uri", "locationName":"HumanLoopName" } } }, "DeleteHumanLoopResponse":{ "type":"structure", "members":{ } }, "DescribeHumanLoopRequest":{ "type":"structure", "required":["HumanLoopName"], "members":{ "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop that you want information about.

", "location":"uri", "locationName":"HumanLoopName" } } }, "DescribeHumanLoopResponse":{ "type":"structure", "required":[ "CreationTime", "HumanLoopStatus", "HumanLoopName", "HumanLoopArn", "FlowDefinitionArn" ], "members":{ "CreationTime":{ "shape":"Timestamp", "documentation":"

The creation time when Amazon Augmented AI created the human loop.

" }, "FailureReason":{ "shape":"String", "documentation":"

The reason why a human loop failed. The failure reason is returned when the status of the human loop is Failed.

" }, "FailureCode":{ "shape":"String", "documentation":"

A failure code that identifies the type of failure.

Possible values: ValidationError, Expired, InternalError

" }, "HumanLoopStatus":{ "shape":"HumanLoopStatus", "documentation":"

The status of the human loop.

" }, "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop. The name must be lowercase, unique within the Region in your account, and can have up to 63 characters. Valid characters: a-z, 0-9, and - (hyphen).

" }, "HumanLoopArn":{ "shape":"HumanLoopArn", "documentation":"

The Amazon Resource Name (ARN) of the human loop.

" }, "FlowDefinitionArn":{ "shape":"FlowDefinitionArn", "documentation":"

The Amazon Resource Name (ARN) of the flow definition.

" }, "HumanLoopOutput":{ "shape":"HumanLoopOutput", "documentation":"

An object that contains information about the output of the human loop.

" } } }, "FailureReason":{ "type":"string", "max":1024 }, "FlowDefinitionArn":{ "type":"string", "max":1024, "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:flow-definition/.*" }, "HumanLoopArn":{ "type":"string", "max":1024, "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:human-loop/.*" }, "HumanLoopDataAttributes":{ "type":"structure", "required":["ContentClassifiers"], "members":{ "ContentClassifiers":{ "shape":"ContentClassifiers", "documentation":"

Declares that your content is free of personally identifiable information or adult content.

Amazon SageMaker can restrict the Amazon Mechanical Turk workers who can view your task based on this information.

" } }, "documentation":"

Attributes of the data specified by the customer. Use these to describe the data to be labeled.

" }, "HumanLoopInput":{ "type":"structure", "required":["InputContent"], "members":{ "InputContent":{ "shape":"InputContent", "documentation":"

Serialized input from the human loop. The input must be a string representation of a file in JSON format.

" } }, "documentation":"

An object containing the human loop input in JSON format.

" }, "HumanLoopName":{ "type":"string", "max":63, "min":1, "pattern":"^[a-z0-9](-*[a-z0-9])*$" }, "HumanLoopOutput":{ "type":"structure", "required":["OutputS3Uri"], "members":{ "OutputS3Uri":{ "shape":"String", "documentation":"

The location of the Amazon S3 object where Amazon Augmented AI stores your human loop output.

" } }, "documentation":"

Information about where the human output will be stored.

" }, "HumanLoopStatus":{ "type":"string", "enum":[ "InProgress", "Failed", "Completed", "Stopped", "Stopping" ] }, "HumanLoopSummaries":{ "type":"list", "member":{"shape":"HumanLoopSummary"} }, "HumanLoopSummary":{ "type":"structure", "members":{ "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop.

" }, "HumanLoopStatus":{ "shape":"HumanLoopStatus", "documentation":"

The status of the human loop.

" }, "CreationTime":{ "shape":"Timestamp", "documentation":"

When Amazon Augmented AI created the human loop.

" }, "FailureReason":{ "shape":"FailureReason", "documentation":"

The reason why the human loop failed. A failure reason is returned when the status of the human loop is Failed.

" }, "FlowDefinitionArn":{ "shape":"FlowDefinitionArn", "documentation":"

The Amazon Resource Name (ARN) of the flow definition used to configure the human loop.

" } }, "documentation":"

Summary information about the human loop.

" }, "InputContent":{ "type":"string", "max":3145728 }, "InternalServerException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

We couldn't process your request because of an issue with the server. Try again later.

", "error":{"httpStatusCode":500}, "exception":true }, "ListHumanLoopsRequest":{ "type":"structure", "required":["FlowDefinitionArn"], "members":{ "CreationTimeAfter":{ "shape":"Timestamp", "documentation":"

(Optional) The timestamp of the date when you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.

", "location":"querystring", "locationName":"CreationTimeAfter" }, "CreationTimeBefore":{ "shape":"Timestamp", "documentation":"

(Optional) The timestamp of the date before which you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.

", "location":"querystring", "locationName":"CreationTimeBefore" }, "FlowDefinitionArn":{ "shape":"FlowDefinitionArn", "documentation":"

The Amazon Resource Name (ARN) of a flow definition.

", "location":"querystring", "locationName":"FlowDefinitionArn" }, "SortOrder":{ "shape":"SortOrder", "documentation":"

Optional. The order for displaying results. Valid values: Ascending and Descending.

", "location":"querystring", "locationName":"SortOrder" }, "NextToken":{ "shape":"NextToken", "documentation":"

A token to display the next page of results.

", "location":"querystring", "locationName":"NextToken" }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken is returned in the output. You can use this token to display the next page of results.

", "box":true, "location":"querystring", "locationName":"MaxResults" } } }, "ListHumanLoopsResponse":{ "type":"structure", "required":["HumanLoopSummaries"], "members":{ "HumanLoopSummaries":{ "shape":"HumanLoopSummaries", "documentation":"

An array of objects that contain information about the human loops.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

A token to display the next page of results.

" } } }, "MaxResults":{ "type":"integer", "max":100, "min":1 }, "NextToken":{ "type":"string", "max":8192, "pattern":".*" }, "ResourceNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

We couldn't find the requested resource. Check that your resources exists and were created in the same AWS Region as your request, and try your request again.

", "error":{"httpStatusCode":404}, "exception":true }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your AWS account. For a list of Amazon A2I service quotes, see Amazon Augmented AI Service Quotes. Delete some resources or request an increase in your service quota. You can request a quota increase using Service Quotas or the AWS Support Center. To request an increase, see AWS Service Quotas in the AWS General Reference.

", "error":{"httpStatusCode":402}, "exception":true }, "SortOrder":{ "type":"string", "enum":[ "Ascending", "Descending" ] }, "StartHumanLoopRequest":{ "type":"structure", "required":[ "HumanLoopName", "FlowDefinitionArn", "HumanLoopInput" ], "members":{ "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop.

" }, "FlowDefinitionArn":{ "shape":"FlowDefinitionArn", "documentation":"

The Amazon Resource Name (ARN) of the flow definition associated with this human loop.

" }, "HumanLoopInput":{ "shape":"HumanLoopInput", "documentation":"

An object that contains information about the human loop.

" }, "DataAttributes":{ "shape":"HumanLoopDataAttributes", "documentation":"

Attributes of the specified data. Use DataAttributes to specify if your data is free of personally identifiable information and/or free of adult content.

" } } }, "StartHumanLoopResponse":{ "type":"structure", "members":{ "HumanLoopArn":{ "shape":"HumanLoopArn", "documentation":"

The Amazon Resource Name (ARN) of the human loop.

" } } }, "StopHumanLoopRequest":{ "type":"structure", "required":["HumanLoopName"], "members":{ "HumanLoopName":{ "shape":"HumanLoopName", "documentation":"

The name of the human loop that you want to stop.

" } } }, "StopHumanLoopResponse":{ "type":"structure", "members":{ } }, "String":{"type":"string"}, "ThrottlingException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

You exceeded the maximum number of requests.

", "error":{"httpStatusCode":429}, "exception":true }, "Timestamp":{"type":"timestamp"}, "ValidationException":{ "type":"structure", "members":{ "Message":{"shape":"FailureReason"} }, "documentation":"

The request isn't valid. Check the syntax and try again.

", "error":{"httpStatusCode":400}, "exception":true } }, "documentation":"

Amazon Augmented AI (Amazon A2I) adds the benefit of human judgment to any machine learning application. When an AI application can't evaluate data with a high degree of confidence, human reviewers can take over. This human review is called a human review workflow. To create and start a human review workflow, you need three resources: a worker task template, a flow definition, and a human loop.

For information about these resources and prerequisites for using Amazon A2I, see Get Started with Amazon Augmented AI in the Amazon SageMaker Developer Guide.

This API reference includes information about API actions and data types that you can use to interact with Amazon A2I programmatically. Use this guide to:

Amazon A2I integrates APIs from various AWS services to create and start human review workflows for those services. To learn how Amazon A2I uses these APIs, see Use APIs in Amazon A2I in the Amazon SageMaker Developer Guide.

" }