{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2025-07-15",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"s3vectors",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"Amazon S3 Vectors",
    "serviceId":"S3Vectors",
    "signatureVersion":"v4",
    "signingName":"s3vectors",
    "uid":"s3vectors-2025-07-15"
  },
  "operations":{
    "CreateIndex":{
      "name":"CreateIndex",
      "http":{
        "method":"POST",
        "requestUri":"/CreateIndex",
        "responseCode":200
      },
      "input":{"shape":"CreateIndexInput"},
      "output":{"shape":"CreateIndexOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "CreateVectorBucket":{
      "name":"CreateVectorBucket",
      "http":{
        "method":"POST",
        "requestUri":"/CreateVectorBucket",
        "responseCode":200
      },
      "input":{"shape":"CreateVectorBucketInput"},
      "output":{"shape":"CreateVectorBucketOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "DeleteIndex":{
      "name":"DeleteIndex",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteIndex",
        "responseCode":200
      },
      "input":{"shape":"DeleteIndexInput"},
      "output":{"shape":"DeleteIndexOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "DeleteVectorBucket":{
      "name":"DeleteVectorBucket",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteVectorBucket",
        "responseCode":200
      },
      "input":{"shape":"DeleteVectorBucketInput"},
      "output":{"shape":"DeleteVectorBucketOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "DeleteVectorBucketPolicy":{
      "name":"DeleteVectorBucketPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteVectorBucketPolicy",
        "responseCode":200
      },
      "input":{"shape":"DeleteVectorBucketPolicyInput"},
      "output":{"shape":"DeleteVectorBucketPolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "DeleteVectors":{
      "name":"DeleteVectors",
      "http":{
        "method":"POST",
        "requestUri":"/DeleteVectors",
        "responseCode":200
      },
      "input":{"shape":"DeleteVectorsInput"},
      "output":{"shape":"DeleteVectorsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"KmsInvalidKeyUsageException"},
        {"shape":"InternalServerException"},
        {"shape":"KmsInvalidStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"KmsNotFoundException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"KmsDisabledException"}
      ],
      "idempotent":true
    },
    "GetIndex":{
      "name":"GetIndex",
      "http":{
        "method":"POST",
        "requestUri":"/GetIndex",
        "responseCode":200
      },
      "input":{"shape":"GetIndexInput"},
      "output":{"shape":"GetIndexOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "GetVectorBucket":{
      "name":"GetVectorBucket",
      "http":{
        "method":"POST",
        "requestUri":"/GetVectorBucket",
        "responseCode":200
      },
      "input":{"shape":"GetVectorBucketInput"},
      "output":{"shape":"GetVectorBucketOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "GetVectorBucketPolicy":{
      "name":"GetVectorBucketPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/GetVectorBucketPolicy",
        "responseCode":200
      },
      "input":{"shape":"GetVectorBucketPolicyInput"},
      "output":{"shape":"GetVectorBucketPolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "GetVectors":{
      "name":"GetVectors",
      "http":{
        "method":"POST",
        "requestUri":"/GetVectors",
        "responseCode":200
      },
      "input":{"shape":"GetVectorsInput"},
      "output":{"shape":"GetVectorsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"KmsInvalidKeyUsageException"},
        {"shape":"InternalServerException"},
        {"shape":"KmsInvalidStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"KmsNotFoundException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"KmsDisabledException"}
      ]
    },
    "ListIndexes":{
      "name":"ListIndexes",
      "http":{
        "method":"POST",
        "requestUri":"/ListIndexes",
        "responseCode":200
      },
      "input":{"shape":"ListIndexesInput"},
      "output":{"shape":"ListIndexesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "ListVectorBuckets":{
      "name":"ListVectorBuckets",
      "http":{
        "method":"POST",
        "requestUri":"/ListVectorBuckets",
        "responseCode":200
      },
      "input":{"shape":"ListVectorBucketsInput"},
      "output":{"shape":"ListVectorBucketsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "ListVectors":{
      "name":"ListVectors",
      "http":{
        "method":"POST",
        "requestUri":"/ListVectors",
        "responseCode":200
      },
      "input":{"shape":"ListVectorsInput"},
      "output":{"shape":"ListVectorsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "PutVectorBucketPolicy":{
      "name":"PutVectorBucketPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/PutVectorBucketPolicy",
        "responseCode":200
      },
      "input":{"shape":"PutVectorBucketPolicyInput"},
      "output":{"shape":"PutVectorBucketPolicyOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "idempotent":true
    },
    "PutVectors":{
      "name":"PutVectors",
      "http":{
        "method":"POST",
        "requestUri":"/PutVectors",
        "responseCode":200
      },
      "input":{"shape":"PutVectorsInput"},
      "output":{"shape":"PutVectorsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"KmsInvalidKeyUsageException"},
        {"shape":"InternalServerException"},
        {"shape":"KmsInvalidStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"KmsNotFoundException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"KmsDisabledException"}
      ],
      "idempotent":true
    },
    "QueryVectors":{
      "name":"QueryVectors",
      "http":{
        "method":"POST",
        "requestUri":"/QueryVectors",
        "responseCode":200
      },
      "input":{"shape":"QueryVectorsInput"},
      "output":{"shape":"QueryVectorsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"KmsInvalidKeyUsageException"},
        {"shape":"InternalServerException"},
        {"shape":"KmsInvalidStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"KmsNotFoundException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"KmsDisabledException"}
      ]
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CreateIndexInput":{
      "type":"structure",
      "required":[
        "indexName",
        "dataType",
        "dimension",
        "distanceMetric"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"},
        "indexName":{"shape":"IndexName"},
        "dataType":{"shape":"DataType"},
        "dimension":{"shape":"Dimension"},
        "distanceMetric":{"shape":"DistanceMetric"},
        "metadataConfiguration":{"shape":"MetadataConfiguration"}
      }
    },
    "CreateIndexOutput":{
      "type":"structure",
      "members":{}
    },
    "CreateVectorBucketInput":{
      "type":"structure",
      "required":["vectorBucketName"],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "encryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "CreateVectorBucketOutput":{
      "type":"structure",
      "members":{}
    },
    "DataType":{
      "type":"string",
      "enum":["float32"]
    },
    "DeleteIndexInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"}
      }
    },
    "DeleteIndexOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteVectorBucketInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"}
      }
    },
    "DeleteVectorBucketOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteVectorBucketPolicyInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"}
      }
    },
    "DeleteVectorBucketPolicyOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteVectorsInput":{
      "type":"structure",
      "required":["keys"],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "keys":{"shape":"DeleteVectorsInputList"}
      }
    },
    "DeleteVectorsInputList":{
      "type":"list",
      "member":{"shape":"VectorKey"},
      "max":500,
      "min":1
    },
    "DeleteVectorsOutput":{
      "type":"structure",
      "members":{}
    },
    "Dimension":{
      "type":"integer",
      "box":true,
      "max":4096,
      "min":1
    },
    "DistanceMetric":{
      "type":"string",
      "enum":[
        "euclidean",
        "cosine"
      ]
    },
    "Document":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "EncryptionConfiguration":{
      "type":"structure",
      "members":{
        "sseType":{"shape":"SseType"},
        "kmsKeyArn":{"shape":"KmsKeyArn"}
      }
    },
    "ExceptionMessage":{"type":"string"},
    "Float":{
      "type":"float",
      "box":true
    },
    "Float32VectorData":{
      "type":"list",
      "member":{"shape":"Float"}
    },
    "GetIndexInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"}
      }
    },
    "GetIndexOutput":{
      "type":"structure",
      "required":["index"],
      "members":{
        "index":{"shape":"Index"}
      }
    },
    "GetOutputVector":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{"shape":"VectorKey"},
        "data":{"shape":"VectorData"},
        "metadata":{"shape":"VectorMetadata"}
      }
    },
    "GetVectorBucketInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"}
      }
    },
    "GetVectorBucketOutput":{
      "type":"structure",
      "required":["vectorBucket"],
      "members":{
        "vectorBucket":{"shape":"VectorBucket"}
      }
    },
    "GetVectorBucketPolicyInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"}
      }
    },
    "GetVectorBucketPolicyOutput":{
      "type":"structure",
      "members":{
        "policy":{"shape":"VectorBucketPolicy"}
      }
    },
    "GetVectorsInput":{
      "type":"structure",
      "required":["keys"],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "keys":{"shape":"GetVectorsInputList"},
        "returnData":{"shape":"Boolean"},
        "returnMetadata":{"shape":"Boolean"}
      }
    },
    "GetVectorsInputList":{
      "type":"list",
      "member":{"shape":"VectorKey"},
      "max":100,
      "min":1
    },
    "GetVectorsOutput":{
      "type":"structure",
      "required":["vectors"],
      "members":{
        "vectors":{"shape":"GetVectorsOutputList"}
      }
    },
    "GetVectorsOutputList":{
      "type":"list",
      "member":{"shape":"GetOutputVector"}
    },
    "Index":{
      "type":"structure",
      "required":[
        "vectorBucketName",
        "indexName",
        "indexArn",
        "creationTime",
        "dataType",
        "dimension",
        "distanceMetric"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "creationTime":{"shape":"Timestamp"},
        "dataType":{"shape":"DataType"},
        "dimension":{"shape":"Dimension"},
        "distanceMetric":{"shape":"DistanceMetric"},
        "metadataConfiguration":{"shape":"MetadataConfiguration"}
      }
    },
    "IndexArn":{"type":"string"},
    "IndexName":{
      "type":"string",
      "max":63,
      "min":3
    },
    "IndexSummary":{
      "type":"structure",
      "required":[
        "vectorBucketName",
        "indexName",
        "indexArn",
        "creationTime"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "creationTime":{"shape":"Timestamp"}
      }
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "KmsDisabledException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "KmsInvalidKeyUsageException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "KmsInvalidStateException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "KmsKeyArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"(arn:aws[-a-z0-9]*:kms:[-a-z0-9]*:[0-9]{12}:key/.+)"
    },
    "KmsNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ListIndexesInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"},
        "maxResults":{"shape":"ListIndexesMaxResults"},
        "nextToken":{"shape":"ListIndexesNextToken"},
        "prefix":{"shape":"ListIndexesPrefix"}
      }
    },
    "ListIndexesMaxResults":{
      "type":"integer",
      "box":true,
      "max":500,
      "min":1
    },
    "ListIndexesNextToken":{
      "type":"string",
      "max":512,
      "min":1
    },
    "ListIndexesOutput":{
      "type":"structure",
      "required":["indexes"],
      "members":{
        "nextToken":{"shape":"ListIndexesNextToken"},
        "indexes":{"shape":"ListIndexesOutputList"}
      }
    },
    "ListIndexesOutputList":{
      "type":"list",
      "member":{"shape":"IndexSummary"}
    },
    "ListIndexesPrefix":{
      "type":"string",
      "max":63,
      "min":1
    },
    "ListOutputVector":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{"shape":"VectorKey"},
        "data":{"shape":"VectorData"},
        "metadata":{"shape":"VectorMetadata"}
      }
    },
    "ListVectorBucketsInput":{
      "type":"structure",
      "members":{
        "maxResults":{"shape":"ListVectorBucketsMaxResults"},
        "nextToken":{"shape":"ListVectorBucketsNextToken"},
        "prefix":{"shape":"ListVectorBucketsPrefix"}
      }
    },
    "ListVectorBucketsMaxResults":{
      "type":"integer",
      "box":true,
      "max":500,
      "min":1
    },
    "ListVectorBucketsNextToken":{
      "type":"string",
      "max":512,
      "min":1
    },
    "ListVectorBucketsOutput":{
      "type":"structure",
      "required":["vectorBuckets"],
      "members":{
        "nextToken":{"shape":"ListVectorBucketsNextToken"},
        "vectorBuckets":{"shape":"ListVectorBucketsOutputList"}
      }
    },
    "ListVectorBucketsOutputList":{
      "type":"list",
      "member":{"shape":"VectorBucketSummary"}
    },
    "ListVectorBucketsPrefix":{
      "type":"string",
      "max":63,
      "min":1
    },
    "ListVectorsInput":{
      "type":"structure",
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "maxResults":{"shape":"ListVectorsMaxResults"},
        "nextToken":{"shape":"ListVectorsNextToken"},
        "segmentCount":{"shape":"ListVectorsSegmentCount"},
        "segmentIndex":{"shape":"ListVectorsSegmentIndex"},
        "returnData":{"shape":"Boolean"},
        "returnMetadata":{"shape":"Boolean"}
      }
    },
    "ListVectorsMaxResults":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "ListVectorsNextToken":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "ListVectorsOutput":{
      "type":"structure",
      "required":["vectors"],
      "members":{
        "nextToken":{"shape":"ListVectorsNextToken"},
        "vectors":{"shape":"ListVectorsOutputList"}
      }
    },
    "ListVectorsOutputList":{
      "type":"list",
      "member":{"shape":"ListOutputVector"}
    },
    "ListVectorsSegmentCount":{
      "type":"integer",
      "box":true,
      "max":16,
      "min":1
    },
    "ListVectorsSegmentIndex":{
      "type":"integer",
      "box":true,
      "max":15,
      "min":0
    },
    "MetadataConfiguration":{
      "type":"structure",
      "required":["nonFilterableMetadataKeys"],
      "members":{
        "nonFilterableMetadataKeys":{"shape":"NonFilterableMetadataKeys"}
      }
    },
    "MetadataKey":{
      "type":"string",
      "max":63,
      "min":1
    },
    "NonFilterableMetadataKeys":{
      "type":"list",
      "member":{"shape":"MetadataKey"},
      "max":10,
      "min":1
    },
    "NotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "PutInputVector":{
      "type":"structure",
      "required":[
        "key",
        "data"
      ],
      "members":{
        "key":{"shape":"VectorKey"},
        "data":{"shape":"VectorData"},
        "metadata":{"shape":"VectorMetadata"}
      }
    },
    "PutVectorBucketPolicyInput":{
      "type":"structure",
      "required":["policy"],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"},
        "policy":{"shape":"VectorBucketPolicy"}
      }
    },
    "PutVectorBucketPolicyOutput":{
      "type":"structure",
      "members":{}
    },
    "PutVectorsInput":{
      "type":"structure",
      "required":["vectors"],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "vectors":{"shape":"PutVectorsInputList"}
      }
    },
    "PutVectorsInputList":{
      "type":"list",
      "member":{"shape":"PutInputVector"},
      "max":500,
      "min":1
    },
    "PutVectorsOutput":{
      "type":"structure",
      "members":{}
    },
    "QueryOutputVector":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{"shape":"VectorKey"},
        "data":{"shape":"VectorData"},
        "metadata":{"shape":"VectorMetadata"},
        "distance":{"shape":"Float"}
      }
    },
    "QueryVectorsInput":{
      "type":"structure",
      "required":[
        "topK",
        "queryVector"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "indexName":{"shape":"IndexName"},
        "indexArn":{"shape":"IndexArn"},
        "topK":{"shape":"TopK"},
        "queryVector":{"shape":"VectorData"},
        "filter":{"shape":"Document"},
        "returnMetadata":{"shape":"Boolean"},
        "returnDistance":{"shape":"Boolean"}
      }
    },
    "QueryVectorsOutput":{
      "type":"structure",
      "required":["vectors"],
      "members":{
        "vectors":{"shape":"QueryVectorsOutputList"}
      }
    },
    "QueryVectorsOutputList":{
      "type":"list",
      "member":{"shape":"QueryOutputVector"}
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "SseType":{
      "type":"string",
      "enum":[
        "AES256",
        "aws:kms"
      ]
    },
    "String":{"type":"string"},
    "Timestamp":{"type":"timestamp"},
    "TooManyRequestsException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "TopK":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "fieldList":{"shape":"ValidationExceptionFieldList"}
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "path",
        "message"
      ],
      "members":{
        "path":{"shape":"String"},
        "message":{"shape":"String"}
      }
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "VectorBucket":{
      "type":"structure",
      "required":[
        "vectorBucketName",
        "vectorBucketArn",
        "creationTime"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"},
        "creationTime":{"shape":"Timestamp"},
        "encryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "VectorBucketArn":{"type":"string"},
    "VectorBucketName":{
      "type":"string",
      "max":63,
      "min":3
    },
    "VectorBucketPolicy":{"type":"string"},
    "VectorBucketSummary":{
      "type":"structure",
      "required":[
        "vectorBucketName",
        "vectorBucketArn",
        "creationTime"
      ],
      "members":{
        "vectorBucketName":{"shape":"VectorBucketName"},
        "vectorBucketArn":{"shape":"VectorBucketArn"},
        "creationTime":{"shape":"Timestamp"}
      }
    },
    "VectorData":{
      "type":"structure",
      "members":{
        "float32":{"shape":"Float32VectorData"}
      },
      "union":true
    },
    "VectorKey":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "VectorMetadata":{
      "type":"structure",
      "members":{},
      "document":true
    }
  }
}
