{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-11-23",
    "endpointPrefix": "states",
    "jsonVersion": "1.0",
    "protocol": "json",
    "serviceAbbreviation": "AWS SFN",
    "serviceFullName": "AWS Step Functions",
    "serviceId": "SFN",
    "signatureVersion": "v4",
    "targetPrefix": "AWSStepFunctions",
    "uid": "states-2016-11-23"
  },
  "operations": {
    "CreateActivity": {
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {},
          "tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "activityArn",
          "creationDate"
        ],
        "members": {
          "activityArn": {},
          "creationDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "CreateStateMachine": {
      "input": {
        "type": "structure",
        "required": [
          "name",
          "definition",
          "roleArn"
        ],
        "members": {
          "name": {},
          "definition": {
            "shape": "Sb"
          },
          "roleArn": {},
          "tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "stateMachineArn",
          "creationDate"
        ],
        "members": {
          "stateMachineArn": {},
          "creationDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DeleteActivity": {
      "input": {
        "type": "structure",
        "required": [
          "activityArn"
        ],
        "members": {
          "activityArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteStateMachine": {
      "input": {
        "type": "structure",
        "required": [
          "stateMachineArn"
        ],
        "members": {
          "stateMachineArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DescribeActivity": {
      "input": {
        "type": "structure",
        "required": [
          "activityArn"
        ],
        "members": {
          "activityArn": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "activityArn",
          "name",
          "creationDate"
        ],
        "members": {
          "activityArn": {},
          "name": {},
          "creationDate": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeExecution": {
      "input": {
        "type": "structure",
        "required": [
          "executionArn"
        ],
        "members": {
          "executionArn": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "executionArn",
          "stateMachineArn",
          "status",
          "startDate",
          "input"
        ],
        "members": {
          "executionArn": {},
          "stateMachineArn": {},
          "name": {},
          "status": {},
          "startDate": {
            "type": "timestamp"
          },
          "stopDate": {
            "type": "timestamp"
          },
          "input": {
            "shape": "Sm"
          },
          "output": {
            "shape": "Sm"
          }
        }
      }
    },
    "DescribeStateMachine": {
      "input": {
        "type": "structure",
        "required": [
          "stateMachineArn"
        ],
        "members": {
          "stateMachineArn": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "stateMachineArn",
          "name",
          "definition",
          "roleArn",
          "creationDate"
        ],
        "members": {
          "stateMachineArn": {},
          "name": {},
          "status": {},
          "definition": {
            "shape": "Sb"
          },
          "roleArn": {},
          "creationDate": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeStateMachineForExecution": {
      "input": {
        "type": "structure",
        "required": [
          "executionArn"
        ],
        "members": {
          "executionArn": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "stateMachineArn",
          "name",
          "definition",
          "roleArn",
          "updateDate"
        ],
        "members": {
          "stateMachineArn": {},
          "name": {},
          "definition": {
            "shape": "Sb"
          },
          "roleArn": {},
          "updateDate": {
            "type": "timestamp"
          }
        }
      }
    },
    "GetActivityTask": {
      "input": {
        "type": "structure",
        "required": [
          "activityArn"
        ],
        "members": {
          "activityArn": {},
          "workerName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "taskToken": {},
          "input": {
            "type": "string",
            "sensitive": true
          }
        }
      }
    },
    "GetExecutionHistory": {
      "input": {
        "type": "structure",
        "required": [
          "executionArn"
        ],
        "members": {
          "executionArn": {},
          "maxResults": {
            "type": "integer"
          },
          "reverseOrder": {
            "type": "boolean"
          },
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "events"
        ],
        "members": {
          "events": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "timestamp",
                "type",
                "id"
              ],
              "members": {
                "timestamp": {
                  "type": "timestamp"
                },
                "type": {},
                "id": {
                  "type": "long"
                },
                "previousEventId": {
                  "type": "long"
                },
                "activityFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "activityScheduleFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "activityScheduledEventDetails": {
                  "type": "structure",
                  "required": [
                    "resource"
                  ],
                  "members": {
                    "resource": {},
                    "input": {
                      "shape": "Sm"
                    },
                    "timeoutInSeconds": {
                      "type": "long"
                    },
                    "heartbeatInSeconds": {
                      "type": "long"
                    }
                  }
                },
                "activityStartedEventDetails": {
                  "type": "structure",
                  "members": {
                    "workerName": {}
                  }
                },
                "activitySucceededEventDetails": {
                  "type": "structure",
                  "members": {
                    "output": {
                      "shape": "Sm"
                    }
                  }
                },
                "activityTimedOutEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "taskFailedEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "taskScheduledEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource",
                    "region",
                    "parameters"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "region": {},
                    "parameters": {
                      "type": "string",
                      "sensitive": true
                    },
                    "timeoutInSeconds": {
                      "type": "long"
                    }
                  }
                },
                "taskStartFailedEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "taskStartedEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {}
                  }
                },
                "taskSubmitFailedEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "taskSubmittedEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "output": {
                      "shape": "Sm"
                    }
                  }
                },
                "taskSucceededEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "output": {
                      "shape": "Sm"
                    }
                  }
                },
                "taskTimedOutEventDetails": {
                  "type": "structure",
                  "required": [
                    "resourceType",
                    "resource"
                  ],
                  "members": {
                    "resourceType": {},
                    "resource": {},
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "executionFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "executionStartedEventDetails": {
                  "type": "structure",
                  "members": {
                    "input": {
                      "shape": "Sm"
                    },
                    "roleArn": {}
                  }
                },
                "executionSucceededEventDetails": {
                  "type": "structure",
                  "members": {
                    "output": {
                      "shape": "Sm"
                    }
                  }
                },
                "executionAbortedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "executionTimedOutEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "mapStateStartedEventDetails": {
                  "type": "structure",
                  "members": {
                    "length": {
                      "type": "integer"
                    }
                  }
                },
                "mapIterationStartedEventDetails": {
                  "shape": "S1v"
                },
                "mapIterationSucceededEventDetails": {
                  "shape": "S1v"
                },
                "mapIterationFailedEventDetails": {
                  "shape": "S1v"
                },
                "mapIterationAbortedEventDetails": {
                  "shape": "S1v"
                },
                "lambdaFunctionFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "lambdaFunctionScheduleFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "lambdaFunctionScheduledEventDetails": {
                  "type": "structure",
                  "required": [
                    "resource"
                  ],
                  "members": {
                    "resource": {},
                    "input": {
                      "shape": "Sm"
                    },
                    "timeoutInSeconds": {
                      "type": "long"
                    }
                  }
                },
                "lambdaFunctionStartFailedEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "lambdaFunctionSucceededEventDetails": {
                  "type": "structure",
                  "members": {
                    "output": {
                      "shape": "Sm"
                    }
                  }
                },
                "lambdaFunctionTimedOutEventDetails": {
                  "type": "structure",
                  "members": {
                    "error": {
                      "shape": "S16"
                    },
                    "cause": {
                      "shape": "S17"
                    }
                  }
                },
                "stateEnteredEventDetails": {
                  "type": "structure",
                  "required": [
                    "name"
                  ],
                  "members": {
                    "name": {},
                    "input": {
                      "shape": "Sm"
                    }
                  }
                },
                "stateExitedEventDetails": {
                  "type": "structure",
                  "required": [
                    "name"
                  ],
                  "members": {
                    "name": {},
                    "output": {
                      "shape": "Sm"
                    }
                  }
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListActivities": {
      "input": {
        "type": "structure",
        "members": {
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "activities"
        ],
        "members": {
          "activities": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "activityArn",
                "name",
                "creationDate"
              ],
              "members": {
                "activityArn": {},
                "name": {},
                "creationDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListExecutions": {
      "input": {
        "type": "structure",
        "required": [
          "stateMachineArn"
        ],
        "members": {
          "stateMachineArn": {},
          "statusFilter": {},
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "executions"
        ],
        "members": {
          "executions": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "executionArn",
                "stateMachineArn",
                "name",
                "status",
                "startDate"
              ],
              "members": {
                "executionArn": {},
                "stateMachineArn": {},
                "name": {},
                "status": {},
                "startDate": {
                  "type": "timestamp"
                },
                "stopDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListStateMachines": {
      "input": {
        "type": "structure",
        "members": {
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "stateMachines"
        ],
        "members": {
          "stateMachines": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "stateMachineArn",
                "name",
                "creationDate"
              ],
              "members": {
                "stateMachineArn": {},
                "name": {},
                "creationDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "resourceArn"
        ],
        "members": {
          "resourceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "tags": {
            "shape": "S3"
          }
        }
      }
    },
    "SendTaskFailure": {
      "input": {
        "type": "structure",
        "required": [
          "taskToken"
        ],
        "members": {
          "taskToken": {},
          "error": {
            "shape": "S16"
          },
          "cause": {
            "shape": "S17"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "SendTaskHeartbeat": {
      "input": {
        "type": "structure",
        "required": [
          "taskToken"
        ],
        "members": {
          "taskToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "SendTaskSuccess": {
      "input": {
        "type": "structure",
        "required": [
          "taskToken",
          "output"
        ],
        "members": {
          "taskToken": {},
          "output": {
            "shape": "Sm"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "StartExecution": {
      "input": {
        "type": "structure",
        "required": [
          "stateMachineArn"
        ],
        "members": {
          "stateMachineArn": {},
          "name": {},
          "input": {
            "shape": "Sm"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "executionArn",
          "startDate"
        ],
        "members": {
          "executionArn": {},
          "startDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "StopExecution": {
      "input": {
        "type": "structure",
        "required": [
          "executionArn"
        ],
        "members": {
          "executionArn": {},
          "error": {
            "shape": "S16"
          },
          "cause": {
            "shape": "S17"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "stopDate"
        ],
        "members": {
          "stopDate": {
            "type": "timestamp"
          }
        }
      }
    },
    "TagResource": {
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tags"
        ],
        "members": {
          "resourceArn": {},
          "tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tagKeys"
        ],
        "members": {
          "resourceArn": {},
          "tagKeys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateStateMachine": {
      "input": {
        "type": "structure",
        "required": [
          "stateMachineArn"
        ],
        "members": {
          "stateMachineArn": {},
          "definition": {
            "shape": "Sb"
          },
          "roleArn": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "updateDate"
        ],
        "members": {
          "updateDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    }
  },
  "shapes": {
    "S3": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "key": {},
          "value": {}
        }
      }
    },
    "Sb": {
      "type": "string",
      "sensitive": true
    },
    "Sm": {
      "type": "string",
      "sensitive": true
    },
    "S16": {
      "type": "string",
      "sensitive": true
    },
    "S17": {
      "type": "string",
      "sensitive": true
    },
    "S1v": {
      "type": "structure",
      "members": {
        "name": {},
        "index": {
          "type": "integer"
        }
      }
    }
  }
}