{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2013-01-01",
    "endpointPrefix":"cloudsearchdomain",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"Amazon CloudSearch Domain",
    "signatureVersion":"v4",
    "signingName":"cloudsearch"
  },
  "operations":{
    "Search":{
      "name":"Search",
      "http":{
        "method":"GET",
        "requestUri":"/2013-01-01/search?format=sdk&pretty=true"
      },
      "input":{"shape":"SearchRequest"},
      "output":{"shape":"SearchResponse"},
      "errors":[
        {"shape":"SearchException"}
      ]
    },
    "Suggest":{
      "name":"Suggest",
      "http":{
        "method":"GET",
        "requestUri":"/2013-01-01/suggest?format=sdk&pretty=true"
      },
      "input":{"shape":"SuggestRequest"},
      "output":{"shape":"SuggestResponse"},
      "errors":[
        {"shape":"SearchException"}
      ]
    },
    "UploadDocuments":{
      "name":"UploadDocuments",
      "http":{
        "method":"POST",
        "requestUri":"/2013-01-01/documents/batch?format=sdk"
      },
      "input":{"shape":"UploadDocumentsRequest"},
      "output":{"shape":"UploadDocumentsResponse"},
      "errors":[
        {"shape":"DocumentServiceException"}
      ]
    }
  },
  "shapes":{
    "Adds":{"type":"long"},
    "Blob":{
      "type":"blob",
      "streaming":true
    },
    "Bucket":{
      "type":"structure",
      "members":{
        "value":{"shape":"String"},
        "count":{"shape":"Long"}
      }
    },
    "BucketInfo":{
      "type":"structure",
      "members":{
        "buckets":{"shape":"BucketList"}
      }
    },
    "BucketList":{
      "type":"list",
      "member":{"shape":"Bucket"}
    },
    "ContentType":{
      "type":"string",
      "enum":[
        "application/json",
        "application/xml"
      ]
    },
    "Cursor":{"type":"string"},
    "Deletes":{"type":"long"},
    "DocumentServiceException":{
      "type":"structure",
      "members":{
        "status":{"shape":"String"},
        "message":{"shape":"String"}
      },
      "exception":true
    },
    "DocumentServiceWarning":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      }
    },
    "DocumentServiceWarnings":{
      "type":"list",
      "member":{"shape":"DocumentServiceWarning"}
    },
    "Double":{"type":"double"},
    "Expr":{"type":"string"},
    "Exprs":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Facet":{"type":"string"},
    "Facets":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"BucketInfo"}
    },
    "FieldStats":{
      "type":"structure",
      "members":{
        "min":{"shape":"String"},
        "max":{"shape":"String"},
        "count":{"shape":"Long"},
        "missing":{"shape":"Long"},
        "sum":{"shape":"Double"},
        "sumOfSquares":{"shape":"Double"},
        "mean":{"shape":"String"},
        "stddev":{"shape":"Double"}
      }
    },
    "FieldValue":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "Fields":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"FieldValue"}
    },
    "FilterQuery":{"type":"string"},
    "Highlight":{"type":"string"},
    "Highlights":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Hit":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "fields":{"shape":"Fields"},
        "exprs":{"shape":"Exprs"},
        "highlights":{"shape":"Highlights"}
      }
    },
    "HitList":{
      "type":"list",
      "member":{"shape":"Hit"}
    },
    "Hits":{
      "type":"structure",
      "members":{
        "found":{"shape":"Long"},
        "start":{"shape":"Long"},
        "cursor":{"shape":"String"},
        "hit":{"shape":"HitList"}
      }
    },
    "Long":{"type":"long"},
    "Partial":{"type":"boolean"},
    "Query":{"type":"string"},
    "QueryOptions":{"type":"string"},
    "QueryParser":{
      "type":"string",
      "enum":[
        "simple",
        "structured",
        "lucene",
        "dismax"
      ]
    },
    "Return":{"type":"string"},
    "SearchException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "exception":true
    },
    "SearchRequest":{
      "type":"structure",
      "required":["query"],
      "members":{
        "cursor":{
          "shape":"Cursor",
          "location":"querystring",
          "locationName":"cursor"
        },
        "expr":{
          "shape":"Expr",
          "location":"querystring",
          "locationName":"expr"
        },
        "facet":{
          "shape":"Facet",
          "location":"querystring",
          "locationName":"facet"
        },
        "filterQuery":{
          "shape":"FilterQuery",
          "location":"querystring",
          "locationName":"fq"
        },
        "highlight":{
          "shape":"Highlight",
          "location":"querystring",
          "locationName":"highlight"
        },
        "partial":{
          "shape":"Partial",
          "location":"querystring",
          "locationName":"partial"
        },
        "query":{
          "shape":"Query",
          "location":"querystring",
          "locationName":"q"
        },
        "queryOptions":{
          "shape":"QueryOptions",
          "location":"querystring",
          "locationName":"q.options"
        },
        "queryParser":{
          "shape":"QueryParser",
          "location":"querystring",
          "locationName":"q.parser"
        },
        "return":{
          "shape":"Return",
          "location":"querystring",
          "locationName":"return"
        },
        "size":{
          "shape":"Size",
          "location":"querystring",
          "locationName":"size"
        },
        "sort":{
          "shape":"Sort",
          "location":"querystring",
          "locationName":"sort"
        },
        "start":{
          "shape":"Start",
          "location":"querystring",
          "locationName":"start"
        },
        "stats":{
          "shape":"Stat",
          "location":"querystring",
          "locationName":"stats"
        }
      }
    },
    "SearchResponse":{
      "type":"structure",
      "members":{
        "status":{"shape":"SearchStatus"},
        "hits":{"shape":"Hits"},
        "facets":{"shape":"Facets"},
        "stats":{"shape":"Stats"}
      }
    },
    "SearchStatus":{
      "type":"structure",
      "members":{
        "timems":{"shape":"Long"},
        "rid":{"shape":"String"}
      }
    },
    "Size":{"type":"long"},
    "Sort":{"type":"string"},
    "Start":{"type":"long"},
    "Stat":{"type":"string"},
    "Stats":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"FieldStats"}
    },
    "String":{"type":"string"},
    "SuggestModel":{
      "type":"structure",
      "members":{
        "query":{"shape":"String"},
        "found":{"shape":"Long"},
        "suggestions":{"shape":"Suggestions"}
      }
    },
    "SuggestRequest":{
      "type":"structure",
      "required":[
        "query",
        "suggester"
      ],
      "members":{
        "query":{
          "shape":"Query",
          "location":"querystring",
          "locationName":"q"
        },
        "suggester":{
          "shape":"Suggester",
          "location":"querystring",
          "locationName":"suggester"
        },
        "size":{
          "shape":"SuggestionsSize",
          "location":"querystring",
          "locationName":"size"
        }
      }
    },
    "SuggestResponse":{
      "type":"structure",
      "members":{
        "status":{"shape":"SuggestStatus"},
        "suggest":{"shape":"SuggestModel"}
      }
    },
    "SuggestStatus":{
      "type":"structure",
      "members":{
        "timems":{"shape":"Long"},
        "rid":{"shape":"String"}
      }
    },
    "Suggester":{"type":"string"},
    "SuggestionMatch":{
      "type":"structure",
      "members":{
        "suggestion":{"shape":"String"},
        "score":{"shape":"Long"},
        "id":{"shape":"String"}
      }
    },
    "Suggestions":{
      "type":"list",
      "member":{"shape":"SuggestionMatch"}
    },
    "SuggestionsSize":{"type":"long"},
    "UploadDocumentsRequest":{
      "type":"structure",
      "required":[
        "documents",
        "contentType"
      ],
      "members":{
        "documents":{"shape":"Blob"},
        "contentType":{
          "shape":"ContentType",
          "location":"header",
          "locationName":"Content-Type"
        }
      },
      "payload":"documents"
    },
    "UploadDocumentsResponse":{
      "type":"structure",
      "members":{
        "status":{"shape":"String"},
        "adds":{"shape":"Adds"},
        "deletes":{"shape":"Deletes"},
        "warnings":{"shape":"DocumentServiceWarnings"}
      }
    }
  }
}
