{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-06-26",
    "endpointPrefix": "forecast",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "Amazon Forecast Service",
    "serviceId": "forecast",
    "signatureVersion": "v4",
    "signingName": "forecast",
    "targetPrefix": "AmazonForecast",
    "uid": "forecast-2018-06-26"
  },
  "operations": {
    "CreateDataset": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetName",
          "Domain",
          "DatasetType",
          "Schema"
        ],
        "members": {
          "DatasetName": {},
          "Domain": {},
          "DatasetType": {},
          "DataFrequency": {},
          "Schema": {
            "shape": "S6"
          },
          "EncryptionConfig": {
            "shape": "Sa"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetArn": {}
        }
      }
    },
    "CreateDatasetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetGroupName",
          "Domain"
        ],
        "members": {
          "DatasetGroupName": {},
          "Domain": {},
          "DatasetArns": {
            "shape": "Sf"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetGroupArn": {}
        }
      }
    },
    "CreateDatasetImportJob": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetImportJobName",
          "DatasetArn",
          "DataSource"
        ],
        "members": {
          "DatasetImportJobName": {},
          "DatasetArn": {},
          "DataSource": {
            "shape": "Si"
          },
          "TimestampFormat": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetImportJobArn": {}
        }
      }
    },
    "CreateForecast": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastName",
          "PredictorArn"
        ],
        "members": {
          "ForecastName": {},
          "PredictorArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ForecastArn": {}
        }
      }
    },
    "CreateForecastExportJob": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastExportJobName",
          "ForecastArn",
          "Destination"
        ],
        "members": {
          "ForecastExportJobName": {},
          "ForecastArn": {},
          "Destination": {
            "shape": "Sq"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ForecastExportJobArn": {}
        }
      }
    },
    "CreatePredictor": {
      "input": {
        "type": "structure",
        "required": [
          "PredictorName",
          "ForecastHorizon",
          "InputDataConfig",
          "FeaturizationConfig"
        ],
        "members": {
          "PredictorName": {},
          "AlgorithmArn": {},
          "ForecastHorizon": {
            "type": "integer"
          },
          "PerformAutoML": {
            "type": "boolean"
          },
          "PerformHPO": {
            "type": "boolean"
          },
          "TrainingParameters": {
            "shape": "Sv"
          },
          "EvaluationParameters": {
            "shape": "Sy"
          },
          "HPOConfig": {
            "shape": "Sz"
          },
          "InputDataConfig": {
            "shape": "S1b"
          },
          "FeaturizationConfig": {
            "shape": "S1e"
          },
          "EncryptionConfig": {
            "shape": "Sa"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "PredictorArn": {}
        }
      }
    },
    "DeleteDataset": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetArn"
        ],
        "members": {
          "DatasetArn": {}
        }
      },
      "idempotent": true
    },
    "DeleteDatasetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetGroupArn"
        ],
        "members": {
          "DatasetGroupArn": {}
        }
      },
      "idempotent": true
    },
    "DeleteDatasetImportJob": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetImportJobArn"
        ],
        "members": {
          "DatasetImportJobArn": {}
        }
      },
      "idempotent": true
    },
    "DeleteForecast": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastArn"
        ],
        "members": {
          "ForecastArn": {}
        }
      },
      "idempotent": true
    },
    "DeleteForecastExportJob": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastExportJobArn"
        ],
        "members": {
          "ForecastExportJobArn": {}
        }
      },
      "idempotent": true
    },
    "DeletePredictor": {
      "input": {
        "type": "structure",
        "required": [
          "PredictorArn"
        ],
        "members": {
          "PredictorArn": {}
        }
      },
      "idempotent": true
    },
    "DescribeDataset": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetArn"
        ],
        "members": {
          "DatasetArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetArn": {},
          "DatasetName": {},
          "Domain": {},
          "DatasetType": {},
          "DataFrequency": {},
          "Schema": {
            "shape": "S6"
          },
          "EncryptionConfig": {
            "shape": "Sa"
          },
          "Status": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeDatasetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetGroupArn"
        ],
        "members": {
          "DatasetGroupArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetGroupName": {},
          "DatasetGroupArn": {},
          "DatasetArns": {
            "shape": "Sf"
          },
          "Domain": {},
          "Status": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeDatasetImportJob": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetImportJobArn"
        ],
        "members": {
          "DatasetImportJobArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetImportJobName": {},
          "DatasetImportJobArn": {},
          "DatasetArn": {},
          "TimestampFormat": {},
          "DataSource": {
            "shape": "Si"
          },
          "FieldStatistics": {
            "type": "map",
            "key": {},
            "value": {
              "type": "structure",
              "members": {
                "Count": {
                  "type": "integer"
                },
                "CountDistinct": {
                  "type": "integer"
                },
                "CountNull": {
                  "type": "integer"
                },
                "CountNan": {
                  "type": "integer"
                },
                "Min": {},
                "Max": {},
                "Avg": {
                  "type": "double"
                },
                "Stddev": {
                  "type": "double"
                }
              }
            }
          },
          "DataSize": {
            "type": "double"
          },
          "Status": {},
          "Message": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeForecast": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastArn"
        ],
        "members": {
          "ForecastArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ForecastArn": {},
          "ForecastName": {},
          "PredictorArn": {},
          "DatasetGroupArn": {},
          "Status": {},
          "Message": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeForecastExportJob": {
      "input": {
        "type": "structure",
        "required": [
          "ForecastExportJobArn"
        ],
        "members": {
          "ForecastExportJobArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ForecastExportJobArn": {},
          "ForecastExportJobName": {},
          "ForecastArn": {},
          "Destination": {
            "shape": "Sq"
          },
          "Message": {},
          "Status": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribePredictor": {
      "input": {
        "type": "structure",
        "required": [
          "PredictorArn"
        ],
        "members": {
          "PredictorArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "PredictorArn": {},
          "PredictorName": {},
          "AlgorithmArn": {},
          "ForecastHorizon": {
            "type": "integer"
          },
          "PerformAutoML": {
            "type": "boolean"
          },
          "PerformHPO": {
            "type": "boolean"
          },
          "TrainingParameters": {
            "shape": "Sv"
          },
          "EvaluationParameters": {
            "shape": "Sy"
          },
          "HPOConfig": {
            "shape": "Sz"
          },
          "InputDataConfig": {
            "shape": "S1b"
          },
          "FeaturizationConfig": {
            "shape": "S1e"
          },
          "EncryptionConfig": {
            "shape": "Sa"
          },
          "DatasetImportJobArns": {
            "shape": "Sf"
          },
          "AutoMLAlgorithmArns": {
            "shape": "Sf"
          },
          "Status": {},
          "Message": {},
          "CreationTime": {
            "type": "timestamp"
          },
          "LastModificationTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "GetAccuracyMetrics": {
      "input": {
        "type": "structure",
        "required": [
          "PredictorArn"
        ],
        "members": {
          "PredictorArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "PredictorEvaluationResults": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AlgorithmArn": {},
                "TestWindows": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "TestWindowStart": {
                        "type": "timestamp"
                      },
                      "TestWindowEnd": {
                        "type": "timestamp"
                      },
                      "ItemCount": {
                        "type": "integer"
                      },
                      "EvaluationType": {},
                      "Metrics": {
                        "type": "structure",
                        "members": {
                          "RMSE": {
                            "type": "double"
                          },
                          "WeightedQuantileLosses": {
                            "type": "list",
                            "member": {
                              "type": "structure",
                              "members": {
                                "Quantile": {
                                  "type": "double"
                                },
                                "LossValue": {
                                  "type": "double"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "idempotent": true
    },
    "ListDatasetGroups": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetGroups": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "DatasetGroupArn": {},
                "DatasetGroupName": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListDatasetImportJobs": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          },
          "Filters": {
            "shape": "S2t"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DatasetImportJobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "DatasetImportJobArn": {},
                "DatasetImportJobName": {},
                "DataSource": {
                  "shape": "Si"
                },
                "Status": {},
                "Message": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListDatasets": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Datasets": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "DatasetArn": {},
                "DatasetName": {},
                "DatasetType": {},
                "Domain": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListForecastExportJobs": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          },
          "Filters": {
            "shape": "S2t"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ForecastExportJobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ForecastExportJobArn": {},
                "ForecastExportJobName": {},
                "Destination": {
                  "shape": "Sq"
                },
                "Status": {},
                "Message": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListForecasts": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          },
          "Filters": {
            "shape": "S2t"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Forecasts": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ForecastArn": {},
                "ForecastName": {},
                "PredictorArn": {},
                "DatasetGroupArn": {},
                "Status": {},
                "Message": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListPredictors": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          },
          "Filters": {
            "shape": "S2t"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Predictors": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "PredictorArn": {},
                "PredictorName": {},
                "DatasetGroupArn": {},
                "Status": {},
                "Message": {},
                "CreationTime": {
                  "type": "timestamp"
                },
                "LastModificationTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "UpdateDatasetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "DatasetGroupArn",
          "DatasetArns"
        ],
        "members": {
          "DatasetGroupArn": {},
          "DatasetArns": {
            "shape": "Sf"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    }
  },
  "shapes": {
    "S6": {
      "type": "structure",
      "members": {
        "Attributes": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "AttributeName": {},
              "AttributeType": {}
            }
          }
        }
      }
    },
    "Sa": {
      "type": "structure",
      "required": [
        "RoleArn",
        "KMSKeyArn"
      ],
      "members": {
        "RoleArn": {},
        "KMSKeyArn": {}
      }
    },
    "Sf": {
      "type": "list",
      "member": {}
    },
    "Si": {
      "type": "structure",
      "required": [
        "S3Config"
      ],
      "members": {
        "S3Config": {
          "shape": "Sj"
        }
      }
    },
    "Sj": {
      "type": "structure",
      "required": [
        "Path",
        "RoleArn"
      ],
      "members": {
        "Path": {},
        "RoleArn": {},
        "KMSKeyArn": {}
      }
    },
    "Sq": {
      "type": "structure",
      "required": [
        "S3Config"
      ],
      "members": {
        "S3Config": {
          "shape": "Sj"
        }
      }
    },
    "Sv": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sy": {
      "type": "structure",
      "members": {
        "NumberOfBacktestWindows": {
          "type": "integer"
        },
        "BackTestWindowOffset": {
          "type": "integer"
        }
      }
    },
    "Sz": {
      "type": "structure",
      "members": {
        "ParameterRanges": {
          "type": "structure",
          "members": {
            "CategoricalParameterRanges": {
              "type": "list",
              "member": {
                "type": "structure",
                "required": [
                  "Name",
                  "Values"
                ],
                "members": {
                  "Name": {},
                  "Values": {
                    "type": "list",
                    "member": {}
                  }
                }
              }
            },
            "ContinuousParameterRanges": {
              "type": "list",
              "member": {
                "type": "structure",
                "required": [
                  "Name",
                  "MaxValue",
                  "MinValue"
                ],
                "members": {
                  "Name": {},
                  "MaxValue": {
                    "type": "double"
                  },
                  "MinValue": {
                    "type": "double"
                  },
                  "ScalingType": {}
                }
              }
            },
            "IntegerParameterRanges": {
              "type": "list",
              "member": {
                "type": "structure",
                "required": [
                  "Name",
                  "MaxValue",
                  "MinValue"
                ],
                "members": {
                  "Name": {},
                  "MaxValue": {
                    "type": "integer"
                  },
                  "MinValue": {
                    "type": "integer"
                  },
                  "ScalingType": {}
                }
              }
            }
          }
        }
      }
    },
    "S1b": {
      "type": "structure",
      "required": [
        "DatasetGroupArn"
      ],
      "members": {
        "DatasetGroupArn": {},
        "SupplementaryFeatures": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "Name",
              "Value"
            ],
            "members": {
              "Name": {},
              "Value": {}
            }
          }
        }
      }
    },
    "S1e": {
      "type": "structure",
      "required": [
        "ForecastFrequency"
      ],
      "members": {
        "ForecastFrequency": {},
        "ForecastDimensions": {
          "type": "list",
          "member": {}
        },
        "Featurizations": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "AttributeName"
            ],
            "members": {
              "AttributeName": {},
              "FeaturizationPipeline": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "FeaturizationMethodName"
                  ],
                  "members": {
                    "FeaturizationMethodName": {},
                    "FeaturizationMethodParameters": {
                      "type": "map",
                      "key": {},
                      "value": {}
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "S2t": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Key",
          "Value",
          "Condition"
        ],
        "members": {
          "Key": {},
          "Value": {},
          "Condition": {}
        }
      }
    }
  }
}