1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2019-11-07",
5    "endpointPrefix":"a2i-runtime.sagemaker",
6    "protocol":"rest-json",
7    "serviceFullName":"Amazon Augmented AI Runtime",
8    "serviceId":"SageMaker A2I Runtime",
9    "signatureVersion":"v4",
10    "signingName":"sagemaker",
11    "uid":"sagemaker-a2i-runtime-2019-11-07"
12  },
13  "operations":{
14    "DeleteHumanLoop":{
15      "name":"DeleteHumanLoop",
16      "http":{
17        "method":"DELETE",
18        "requestUri":"/human-loops/{HumanLoopName}"
19      },
20      "input":{"shape":"DeleteHumanLoopRequest"},
21      "output":{"shape":"DeleteHumanLoopResponse"},
22      "errors":[
23        {"shape":"ValidationException"},
24        {"shape":"ResourceNotFoundException"},
25        {"shape":"ThrottlingException"},
26        {"shape":"InternalServerException"}
27      ],
28      "documentation":"<p>Deletes the specified human loop for a flow definition.</p> <p>If the human loop was deleted, this operation will return a <code>ResourceNotFoundException</code>. </p>"
29    },
30    "DescribeHumanLoop":{
31      "name":"DescribeHumanLoop",
32      "http":{
33        "method":"GET",
34        "requestUri":"/human-loops/{HumanLoopName}"
35      },
36      "input":{"shape":"DescribeHumanLoopRequest"},
37      "output":{"shape":"DescribeHumanLoopResponse"},
38      "errors":[
39        {"shape":"ValidationException"},
40        {"shape":"ResourceNotFoundException"},
41        {"shape":"ThrottlingException"},
42        {"shape":"InternalServerException"}
43      ],
44      "documentation":"<p>Returns information about the specified human loop. If the human loop was deleted, this operation will return a <code>ResourceNotFoundException</code> error. </p>"
45    },
46    "ListHumanLoops":{
47      "name":"ListHumanLoops",
48      "http":{
49        "method":"GET",
50        "requestUri":"/human-loops"
51      },
52      "input":{"shape":"ListHumanLoopsRequest"},
53      "output":{"shape":"ListHumanLoopsResponse"},
54      "errors":[
55        {"shape":"ValidationException"},
56        {"shape":"ResourceNotFoundException"},
57        {"shape":"ThrottlingException"},
58        {"shape":"InternalServerException"}
59      ],
60      "documentation":"<p>Returns information about human loops, given the specified parameters. If a human loop was deleted, it will not be included.</p>"
61    },
62    "StartHumanLoop":{
63      "name":"StartHumanLoop",
64      "http":{
65        "method":"POST",
66        "requestUri":"/human-loops"
67      },
68      "input":{"shape":"StartHumanLoopRequest"},
69      "output":{"shape":"StartHumanLoopResponse"},
70      "errors":[
71        {"shape":"ValidationException"},
72        {"shape":"ThrottlingException"},
73        {"shape":"ServiceQuotaExceededException"},
74        {"shape":"InternalServerException"},
75        {"shape":"ConflictException"}
76      ],
77      "documentation":"<p>Starts a human loop, provided that at least one activation condition is met.</p>"
78    },
79    "StopHumanLoop":{
80      "name":"StopHumanLoop",
81      "http":{
82        "method":"POST",
83        "requestUri":"/human-loops/stop"
84      },
85      "input":{"shape":"StopHumanLoopRequest"},
86      "output":{"shape":"StopHumanLoopResponse"},
87      "errors":[
88        {"shape":"ValidationException"},
89        {"shape":"ResourceNotFoundException"},
90        {"shape":"ThrottlingException"},
91        {"shape":"InternalServerException"}
92      ],
93      "documentation":"<p>Stops the specified human loop.</p>"
94    }
95  },
96  "shapes":{
97    "ConflictException":{
98      "type":"structure",
99      "members":{
100        "Message":{"shape":"FailureReason"}
101      },
102      "documentation":"<p>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.</p>",
103      "error":{"httpStatusCode":409},
104      "exception":true
105    },
106    "ContentClassifier":{
107      "type":"string",
108      "enum":[
109        "FreeOfPersonallyIdentifiableInformation",
110        "FreeOfAdultContent"
111      ]
112    },
113    "ContentClassifiers":{
114      "type":"list",
115      "member":{"shape":"ContentClassifier"},
116      "max":256
117    },
118    "DeleteHumanLoopRequest":{
119      "type":"structure",
120      "required":["HumanLoopName"],
121      "members":{
122        "HumanLoopName":{
123          "shape":"HumanLoopName",
124          "documentation":"<p>The name of the human loop that you want to delete.</p>",
125          "location":"uri",
126          "locationName":"HumanLoopName"
127        }
128      }
129    },
130    "DeleteHumanLoopResponse":{
131      "type":"structure",
132      "members":{
133      }
134    },
135    "DescribeHumanLoopRequest":{
136      "type":"structure",
137      "required":["HumanLoopName"],
138      "members":{
139        "HumanLoopName":{
140          "shape":"HumanLoopName",
141          "documentation":"<p>The name of the human loop that you want information about.</p>",
142          "location":"uri",
143          "locationName":"HumanLoopName"
144        }
145      }
146    },
147    "DescribeHumanLoopResponse":{
148      "type":"structure",
149      "required":[
150        "CreationTime",
151        "HumanLoopStatus",
152        "HumanLoopName",
153        "HumanLoopArn",
154        "FlowDefinitionArn"
155      ],
156      "members":{
157        "CreationTime":{
158          "shape":"Timestamp",
159          "documentation":"<p>The creation time when Amazon Augmented AI created the human loop.</p>"
160        },
161        "FailureReason":{
162          "shape":"String",
163          "documentation":"<p>The reason why a human loop failed. The failure reason is returned when the status of the human loop is <code>Failed</code>.</p>"
164        },
165        "FailureCode":{
166          "shape":"String",
167          "documentation":"<p>A failure code that identifies the type of failure.</p> <p>Possible values: <code>ValidationError</code>, <code>Expired</code>, <code>InternalError</code> </p>"
168        },
169        "HumanLoopStatus":{
170          "shape":"HumanLoopStatus",
171          "documentation":"<p>The status of the human loop. </p>"
172        },
173        "HumanLoopName":{
174          "shape":"HumanLoopName",
175          "documentation":"<p>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).</p>"
176        },
177        "HumanLoopArn":{
178          "shape":"HumanLoopArn",
179          "documentation":"<p>The Amazon Resource Name (ARN) of the human loop.</p>"
180        },
181        "FlowDefinitionArn":{
182          "shape":"FlowDefinitionArn",
183          "documentation":"<p>The Amazon Resource Name (ARN) of the flow definition.</p>"
184        },
185        "HumanLoopOutput":{
186          "shape":"HumanLoopOutput",
187          "documentation":"<p>An object that contains information about the output of the human loop.</p>"
188        }
189      }
190    },
191    "FailureReason":{
192      "type":"string",
193      "max":1024
194    },
195    "FlowDefinitionArn":{
196      "type":"string",
197      "max":1024,
198      "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:flow-definition/.*"
199    },
200    "HumanLoopArn":{
201      "type":"string",
202      "max":1024,
203      "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:human-loop/.*"
204    },
205    "HumanLoopDataAttributes":{
206      "type":"structure",
207      "required":["ContentClassifiers"],
208      "members":{
209        "ContentClassifiers":{
210          "shape":"ContentClassifiers",
211          "documentation":"<p>Declares that your content is free of personally identifiable information or adult content.</p> <p>Amazon SageMaker can restrict the Amazon Mechanical Turk workers who can view your task based on this information.</p>"
212        }
213      },
214      "documentation":"<p>Attributes of the data specified by the customer. Use these to describe the data to be labeled.</p>"
215    },
216    "HumanLoopInput":{
217      "type":"structure",
218      "required":["InputContent"],
219      "members":{
220        "InputContent":{
221          "shape":"InputContent",
222          "documentation":"<p>Serialized input from the human loop. The input must be a string representation of a file in JSON format.</p>"
223        }
224      },
225      "documentation":"<p>An object containing the human loop input in JSON format.</p>"
226    },
227    "HumanLoopName":{
228      "type":"string",
229      "max":63,
230      "min":1,
231      "pattern":"^[a-z0-9](-*[a-z0-9])*$"
232    },
233    "HumanLoopOutput":{
234      "type":"structure",
235      "required":["OutputS3Uri"],
236      "members":{
237        "OutputS3Uri":{
238          "shape":"String",
239          "documentation":"<p>The location of the Amazon S3 object where Amazon Augmented AI stores your human loop output.</p>"
240        }
241      },
242      "documentation":"<p>Information about where the human output will be stored.</p>"
243    },
244    "HumanLoopStatus":{
245      "type":"string",
246      "enum":[
247        "InProgress",
248        "Failed",
249        "Completed",
250        "Stopped",
251        "Stopping"
252      ]
253    },
254    "HumanLoopSummaries":{
255      "type":"list",
256      "member":{"shape":"HumanLoopSummary"}
257    },
258    "HumanLoopSummary":{
259      "type":"structure",
260      "members":{
261        "HumanLoopName":{
262          "shape":"HumanLoopName",
263          "documentation":"<p>The name of the human loop.</p>"
264        },
265        "HumanLoopStatus":{
266          "shape":"HumanLoopStatus",
267          "documentation":"<p>The status of the human loop. </p>"
268        },
269        "CreationTime":{
270          "shape":"Timestamp",
271          "documentation":"<p>When Amazon Augmented AI created the human loop.</p>"
272        },
273        "FailureReason":{
274          "shape":"FailureReason",
275          "documentation":"<p>The reason why the human loop failed. A failure reason is returned when the status of the human loop is <code>Failed</code>.</p>"
276        },
277        "FlowDefinitionArn":{
278          "shape":"FlowDefinitionArn",
279          "documentation":"<p>The Amazon Resource Name (ARN) of the flow definition used to configure the human loop.</p>"
280        }
281      },
282      "documentation":"<p>Summary information about the human loop.</p>"
283    },
284    "InputContent":{
285      "type":"string",
286      "max":3145728
287    },
288    "InternalServerException":{
289      "type":"structure",
290      "members":{
291        "Message":{"shape":"FailureReason"}
292      },
293      "documentation":"<p>We couldn't process your request because of an issue with the server. Try again later.</p>",
294      "error":{"httpStatusCode":500},
295      "exception":true
296    },
297    "ListHumanLoopsRequest":{
298      "type":"structure",
299      "required":["FlowDefinitionArn"],
300      "members":{
301        "CreationTimeAfter":{
302          "shape":"Timestamp",
303          "documentation":"<p>(Optional) The timestamp of the date when you want the human loops to begin in ISO 8601 format. For example, <code>2020-02-24</code>.</p>",
304          "location":"querystring",
305          "locationName":"CreationTimeAfter"
306        },
307        "CreationTimeBefore":{
308          "shape":"Timestamp",
309          "documentation":"<p>(Optional) The timestamp of the date before which you want the human loops to begin in ISO 8601 format. For example, <code>2020-02-24</code>.</p>",
310          "location":"querystring",
311          "locationName":"CreationTimeBefore"
312        },
313        "FlowDefinitionArn":{
314          "shape":"FlowDefinitionArn",
315          "documentation":"<p>The Amazon Resource Name (ARN) of a flow definition.</p>",
316          "location":"querystring",
317          "locationName":"FlowDefinitionArn"
318        },
319        "SortOrder":{
320          "shape":"SortOrder",
321          "documentation":"<p>Optional. The order for displaying results. Valid values: <code>Ascending</code> and <code>Descending</code>.</p>",
322          "location":"querystring",
323          "locationName":"SortOrder"
324        },
325        "NextToken":{
326          "shape":"NextToken",
327          "documentation":"<p>A token to display the next page of results.</p>",
328          "location":"querystring",
329          "locationName":"NextToken"
330        },
331        "MaxResults":{
332          "shape":"MaxResults",
333          "documentation":"<p>The total number of items to return. If the total number of available items is more than the value specified in <code>MaxResults</code>, then a <code>NextToken</code> is returned in the output. You can use this token to display the next page of results. </p>",
334          "box":true,
335          "location":"querystring",
336          "locationName":"MaxResults"
337        }
338      }
339    },
340    "ListHumanLoopsResponse":{
341      "type":"structure",
342      "required":["HumanLoopSummaries"],
343      "members":{
344        "HumanLoopSummaries":{
345          "shape":"HumanLoopSummaries",
346          "documentation":"<p>An array of objects that contain information about the human loops.</p>"
347        },
348        "NextToken":{
349          "shape":"NextToken",
350          "documentation":"<p>A token to display the next page of results.</p>"
351        }
352      }
353    },
354    "MaxResults":{
355      "type":"integer",
356      "max":100,
357      "min":1
358    },
359    "NextToken":{
360      "type":"string",
361      "max":8192,
362      "pattern":".*"
363    },
364    "ResourceNotFoundException":{
365      "type":"structure",
366      "members":{
367        "Message":{"shape":"FailureReason"}
368      },
369      "documentation":"<p>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. </p>",
370      "error":{"httpStatusCode":404},
371      "exception":true
372    },
373    "ServiceQuotaExceededException":{
374      "type":"structure",
375      "members":{
376        "Message":{"shape":"FailureReason"}
377      },
378      "documentation":"<p>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 <a href=\"https://docs.aws.amazon.com/general/latest/gr/a2i.html\">Amazon Augmented AI Service Quotes</a>. 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 <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html\">AWS Service Quotas</a> in the <i>AWS General Reference</i>.</p>",
379      "error":{"httpStatusCode":402},
380      "exception":true
381    },
382    "SortOrder":{
383      "type":"string",
384      "enum":[
385        "Ascending",
386        "Descending"
387      ]
388    },
389    "StartHumanLoopRequest":{
390      "type":"structure",
391      "required":[
392        "HumanLoopName",
393        "FlowDefinitionArn",
394        "HumanLoopInput"
395      ],
396      "members":{
397        "HumanLoopName":{
398          "shape":"HumanLoopName",
399          "documentation":"<p>The name of the human loop.</p>"
400        },
401        "FlowDefinitionArn":{
402          "shape":"FlowDefinitionArn",
403          "documentation":"<p>The Amazon Resource Name (ARN) of the flow definition associated with this human loop.</p>"
404        },
405        "HumanLoopInput":{
406          "shape":"HumanLoopInput",
407          "documentation":"<p>An object that contains information about the human loop.</p>"
408        },
409        "DataAttributes":{
410          "shape":"HumanLoopDataAttributes",
411          "documentation":"<p>Attributes of the specified data. Use <code>DataAttributes</code> to specify if your data is free of personally identifiable information and/or free of adult content.</p>"
412        }
413      }
414    },
415    "StartHumanLoopResponse":{
416      "type":"structure",
417      "members":{
418        "HumanLoopArn":{
419          "shape":"HumanLoopArn",
420          "documentation":"<p>The Amazon Resource Name (ARN) of the human loop.</p>"
421        }
422      }
423    },
424    "StopHumanLoopRequest":{
425      "type":"structure",
426      "required":["HumanLoopName"],
427      "members":{
428        "HumanLoopName":{
429          "shape":"HumanLoopName",
430          "documentation":"<p>The name of the human loop that you want to stop.</p>"
431        }
432      }
433    },
434    "StopHumanLoopResponse":{
435      "type":"structure",
436      "members":{
437      }
438    },
439    "String":{"type":"string"},
440    "ThrottlingException":{
441      "type":"structure",
442      "members":{
443        "Message":{"shape":"FailureReason"}
444      },
445      "documentation":"<p>You exceeded the maximum number of requests.</p>",
446      "error":{"httpStatusCode":429},
447      "exception":true
448    },
449    "Timestamp":{
450      "type":"timestamp",
451      "timestampFormat":"iso8601"
452    },
453    "ValidationException":{
454      "type":"structure",
455      "members":{
456        "Message":{"shape":"FailureReason"}
457      },
458      "documentation":"<p>The request isn't valid. Check the syntax and try again.</p>",
459      "error":{"httpStatusCode":400},
460      "exception":true
461    }
462  },
463  "documentation":"<p>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 <i>worker task template</i>, a <i>flow definition</i>, and a <i>human loop</i>.</p> <p>For information about these resources and prerequisites for using Amazon A2I, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html\">Get Started with Amazon Augmented AI</a> in the Amazon SageMaker Developer Guide.</p> <p>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:</p> <ul> <li> <p>Start a human loop with the <code>StartHumanLoop</code> operation when using Amazon A2I with a <i>custom task type</i>. To learn more about the difference between custom and built-in task types, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html\">Use Task Types </a>. To learn how to start a human loop using this API, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-start-human-loop.html#a2i-instructions-starthumanloop\">Create and Start a Human Loop for a Custom Task Type </a> in the Amazon SageMaker Developer Guide.</p> </li> <li> <p>Manage your human loops. You can list all human loops that you have created, describe individual human loops, and stop and delete human loops. To learn more, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-monitor-humanloop-results.html\">Monitor and Manage Your Human Loop </a> in the Amazon SageMaker Developer Guide.</p> </li> </ul> <p>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 <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-api-references.html\">Use APIs in Amazon A2I</a> in the Amazon SageMaker Developer Guide.</p>"
464}
465