{
  "metadata": {
    "apiVersion": "2017-07-25",
    "endpointPrefix": "dataexchange",
    "signingName": "dataexchange",
    "serviceFullName": "AWS Data Exchange",
    "serviceId": "DataExchange",
    "protocol": "rest-json",
    "jsonVersion": "1.1",
    "uid": "dataexchange-2017-07-25",
    "signatureVersion": "v4"
  },
  "operations": {
    "CancelJob": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/jobs/{JobId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "JobId": {
            "location": "uri",
            "locationName": "JobId"
          }
        },
        "required": [
          "JobId"
        ]
      }
    },
    "CreateDataSet": {
      "http": {
        "requestUri": "/v1/data-sets",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "AssetType": {},
          "Description": {},
          "Name": {},
          "Tags": {
            "shape": "S7"
          }
        },
        "required": [
          "AssetType",
          "Description",
          "Name"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "AssetType": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "Description": {},
          "Id": {},
          "Name": {},
          "Origin": {},
          "OriginDetails": {
            "shape": "Sd"
          },
          "SourceId": {},
          "Tags": {
            "shape": "S7"
          },
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "CreateJob": {
      "http": {
        "requestUri": "/v1/jobs",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "Details": {
            "type": "structure",
            "members": {
              "ExportAssetToSignedUrl": {
                "type": "structure",
                "members": {
                  "AssetId": {},
                  "DataSetId": {},
                  "RevisionId": {}
                },
                "required": [
                  "DataSetId",
                  "AssetId",
                  "RevisionId"
                ]
              },
              "ExportAssetsToS3": {
                "type": "structure",
                "members": {
                  "AssetDestinations": {
                    "shape": "Si"
                  },
                  "DataSetId": {},
                  "Encryption": {
                    "shape": "Sk"
                  },
                  "RevisionId": {}
                },
                "required": [
                  "AssetDestinations",
                  "DataSetId",
                  "RevisionId"
                ]
              },
              "ExportRevisionsToS3": {
                "type": "structure",
                "members": {
                  "DataSetId": {},
                  "Encryption": {
                    "shape": "Sk"
                  },
                  "RevisionDestinations": {
                    "shape": "Sn"
                  }
                },
                "required": [
                  "RevisionDestinations",
                  "DataSetId"
                ]
              },
              "ImportAssetFromSignedUrl": {
                "type": "structure",
                "members": {
                  "AssetName": {},
                  "DataSetId": {},
                  "Md5Hash": {},
                  "RevisionId": {}
                },
                "required": [
                  "DataSetId",
                  "Md5Hash",
                  "RevisionId",
                  "AssetName"
                ]
              },
              "ImportAssetsFromS3": {
                "type": "structure",
                "members": {
                  "AssetSources": {
                    "shape": "St"
                  },
                  "DataSetId": {},
                  "RevisionId": {}
                },
                "required": [
                  "DataSetId",
                  "AssetSources",
                  "RevisionId"
                ]
              }
            }
          },
          "Type": {}
        },
        "required": [
          "Type",
          "Details"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "Details": {
            "shape": "Sx"
          },
          "Errors": {
            "shape": "S13"
          },
          "Id": {},
          "State": {},
          "Type": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "CreateRevision": {
      "http": {
        "requestUri": "/v1/data-sets/{DataSetId}/revisions",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "Comment": {},
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "Tags": {
            "shape": "S7"
          }
        },
        "required": [
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "Comment": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "DataSetId": {},
          "Finalized": {
            "type": "boolean"
          },
          "Id": {},
          "SourceId": {},
          "Tags": {
            "shape": "S7"
          },
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "DeleteAsset": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "AssetId": {
            "location": "uri",
            "locationName": "AssetId"
          },
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "AssetId",
          "DataSetId"
        ]
      }
    },
    "DeleteDataSet": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/data-sets/{DataSetId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          }
        },
        "required": [
          "DataSetId"
        ]
      }
    },
    "DeleteRevision": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "DataSetId"
        ]
      }
    },
    "GetAsset": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "AssetId": {
            "location": "uri",
            "locationName": "AssetId"
          },
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "AssetId",
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "AssetDetails": {
            "shape": "S1l"
          },
          "AssetType": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "DataSetId": {},
          "Id": {},
          "Name": {},
          "RevisionId": {},
          "SourceId": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "GetDataSet": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets/{DataSetId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          }
        },
        "required": [
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "AssetType": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "Description": {},
          "Id": {},
          "Name": {},
          "Origin": {},
          "OriginDetails": {
            "shape": "Sd"
          },
          "SourceId": {},
          "Tags": {
            "shape": "S7"
          },
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "GetJob": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/jobs/{JobId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "JobId": {
            "location": "uri",
            "locationName": "JobId"
          }
        },
        "required": [
          "JobId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "Details": {
            "shape": "Sx"
          },
          "Errors": {
            "shape": "S13"
          },
          "Id": {},
          "State": {},
          "Type": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "GetRevision": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "Comment": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "DataSetId": {},
          "Finalized": {
            "type": "boolean"
          },
          "Id": {},
          "SourceId": {},
          "Tags": {
            "shape": "S7"
          },
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "ListDataSetRevisions": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "Revisions": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "Comment": {},
                "CreatedAt": {
                  "shape": "Sa"
                },
                "DataSetId": {},
                "Finalized": {
                  "type": "boolean"
                },
                "Id": {},
                "SourceId": {},
                "UpdatedAt": {
                  "shape": "Sa"
                }
              },
              "required": [
                "CreatedAt",
                "DataSetId",
                "Id",
                "Arn",
                "UpdatedAt"
              ]
            }
          }
        }
      }
    },
    "ListDataSets": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "Origin": {
            "location": "querystring",
            "locationName": "origin"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "DataSets": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "AssetType": {},
                "CreatedAt": {
                  "shape": "Sa"
                },
                "Description": {},
                "Id": {},
                "Name": {},
                "Origin": {},
                "OriginDetails": {
                  "shape": "Sd"
                },
                "SourceId": {},
                "UpdatedAt": {
                  "shape": "Sa"
                }
              },
              "required": [
                "Origin",
                "AssetType",
                "Description",
                "CreatedAt",
                "Id",
                "Arn",
                "UpdatedAt",
                "Name"
              ]
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListJobs": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/jobs",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "querystring",
            "locationName": "dataSetId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "RevisionId": {
            "location": "querystring",
            "locationName": "revisionId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Jobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "CreatedAt": {
                  "shape": "Sa"
                },
                "Details": {
                  "shape": "Sx"
                },
                "Errors": {
                  "shape": "S13"
                },
                "Id": {},
                "State": {},
                "Type": {},
                "UpdatedAt": {
                  "shape": "Sa"
                }
              },
              "required": [
                "Type",
                "Details",
                "State",
                "CreatedAt",
                "Id",
                "Arn",
                "UpdatedAt"
              ]
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListRevisionAssets": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Assets": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "AssetDetails": {
                  "shape": "S1l"
                },
                "AssetType": {},
                "CreatedAt": {
                  "shape": "Sa"
                },
                "DataSetId": {},
                "Id": {},
                "Name": {},
                "RevisionId": {},
                "SourceId": {},
                "UpdatedAt": {
                  "shape": "Sa"
                }
              },
              "required": [
                "AssetType",
                "CreatedAt",
                "DataSetId",
                "Id",
                "Arn",
                "AssetDetails",
                "UpdatedAt",
                "RevisionId",
                "Name"
              ]
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{resource-arn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resource-arn"
          }
        },
        "required": [
          "ResourceArn"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S7",
            "locationName": "tags"
          }
        }
      }
    },
    "StartJob": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v1/jobs/{JobId}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "members": {
          "JobId": {
            "location": "uri",
            "locationName": "JobId"
          }
        },
        "required": [
          "JobId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{resource-arn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resource-arn"
          },
          "Tags": {
            "shape": "S7",
            "locationName": "tags"
          }
        },
        "required": [
          "ResourceArn",
          "Tags"
        ]
      }
    },
    "UntagResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/tags/{resource-arn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resource-arn"
          },
          "TagKeys": {
            "location": "querystring",
            "locationName": "tagKeys",
            "type": "list",
            "member": {}
          }
        },
        "required": [
          "TagKeys",
          "ResourceArn"
        ]
      }
    },
    "UpdateAsset": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "AssetId": {
            "location": "uri",
            "locationName": "AssetId"
          },
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "Name": {},
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "AssetId",
          "DataSetId",
          "Name"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "AssetDetails": {
            "shape": "S1l"
          },
          "AssetType": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "DataSetId": {},
          "Id": {},
          "Name": {},
          "RevisionId": {},
          "SourceId": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "UpdateDataSet": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v1/data-sets/{DataSetId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "Description": {},
          "Name": {}
        },
        "required": [
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "AssetType": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "Description": {},
          "Id": {},
          "Name": {},
          "Origin": {},
          "OriginDetails": {
            "shape": "Sd"
          },
          "SourceId": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    },
    "UpdateRevision": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "Comment": {},
          "DataSetId": {
            "location": "uri",
            "locationName": "DataSetId"
          },
          "Finalized": {
            "type": "boolean"
          },
          "RevisionId": {
            "location": "uri",
            "locationName": "RevisionId"
          }
        },
        "required": [
          "RevisionId",
          "DataSetId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Arn": {},
          "Comment": {},
          "CreatedAt": {
            "shape": "Sa"
          },
          "DataSetId": {},
          "Finalized": {
            "type": "boolean"
          },
          "Id": {},
          "SourceId": {},
          "UpdatedAt": {
            "shape": "Sa"
          }
        }
      }
    }
  },
  "shapes": {
    "S7": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sa": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    },
    "Sd": {
      "type": "structure",
      "members": {
        "ProductId": {}
      },
      "required": [
        "ProductId"
      ]
    },
    "Si": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "AssetId": {},
          "Bucket": {},
          "Key": {}
        },
        "required": [
          "Bucket",
          "AssetId"
        ]
      }
    },
    "Sk": {
      "type": "structure",
      "members": {
        "KmsKeyArn": {},
        "Type": {}
      },
      "required": [
        "Type"
      ]
    },
    "Sn": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Bucket": {},
          "KeyPattern": {},
          "RevisionId": {}
        },
        "required": [
          "Bucket",
          "RevisionId"
        ]
      }
    },
    "St": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Bucket": {},
          "Key": {}
        },
        "required": [
          "Bucket",
          "Key"
        ]
      }
    },
    "Sx": {
      "type": "structure",
      "members": {
        "ExportAssetToSignedUrl": {
          "type": "structure",
          "members": {
            "AssetId": {},
            "DataSetId": {},
            "RevisionId": {},
            "SignedUrl": {},
            "SignedUrlExpiresAt": {
              "shape": "Sa"
            }
          },
          "required": [
            "DataSetId",
            "AssetId",
            "RevisionId"
          ]
        },
        "ExportAssetsToS3": {
          "type": "structure",
          "members": {
            "AssetDestinations": {
              "shape": "Si"
            },
            "DataSetId": {},
            "Encryption": {
              "shape": "Sk"
            },
            "RevisionId": {}
          },
          "required": [
            "AssetDestinations",
            "DataSetId",
            "RevisionId"
          ]
        },
        "ExportRevisionsToS3": {
          "type": "structure",
          "members": {
            "DataSetId": {},
            "Encryption": {
              "shape": "Sk"
            },
            "RevisionDestinations": {
              "shape": "Sn"
            }
          },
          "required": [
            "RevisionDestinations",
            "DataSetId"
          ]
        },
        "ImportAssetFromSignedUrl": {
          "type": "structure",
          "members": {
            "AssetName": {},
            "DataSetId": {},
            "Md5Hash": {},
            "RevisionId": {},
            "SignedUrl": {},
            "SignedUrlExpiresAt": {
              "shape": "Sa"
            }
          },
          "required": [
            "DataSetId",
            "AssetName",
            "RevisionId"
          ]
        },
        "ImportAssetsFromS3": {
          "type": "structure",
          "members": {
            "AssetSources": {
              "shape": "St"
            },
            "DataSetId": {},
            "RevisionId": {}
          },
          "required": [
            "DataSetId",
            "AssetSources",
            "RevisionId"
          ]
        }
      }
    },
    "S13": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Code": {},
          "Details": {
            "type": "structure",
            "members": {
              "ImportAssetFromSignedUrlJobErrorDetails": {
                "type": "structure",
                "members": {
                  "AssetName": {}
                },
                "required": [
                  "AssetName"
                ]
              },
              "ImportAssetsFromS3JobErrorDetails": {
                "shape": "St"
              }
            }
          },
          "LimitName": {},
          "LimitValue": {
            "type": "double"
          },
          "Message": {},
          "ResourceId": {},
          "ResourceType": {}
        },
        "required": [
          "Message",
          "Code"
        ]
      }
    },
    "S1l": {
      "type": "structure",
      "members": {
        "S3SnapshotAsset": {
          "type": "structure",
          "members": {
            "Size": {
              "type": "double"
            }
          },
          "required": [
            "Size"
          ]
        }
      }
    }
  }
}