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