diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/ResponseData.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/ResponseData.java
new file mode 100644
index 0000000000000000000000000000000000000000..431e0f630ebc531fa5180dbfdf0d2d0a1464c6a4
--- /dev/null
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/ResponseData.java
@@ -0,0 +1,35 @@
+package gov.usgs.earthquake.nshmp.netcdf.www;
+
+import gov.usgs.earthquake.nshmp.data.XySequence;
+import gov.usgs.earthquake.nshmp.netcdf.www.Metadata.ServiceResponseMetadata;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * Web service response data.
+ *
+ * @author U.S. Geological Survey
+ */
+public class ResponseData<T extends ServiceResponseMetadata> {
+  final T metadata;
+  final XySequence data;
+
+  ResponseData(T metadata, XySequence data) {
+    this.metadata = metadata;
+    this.data = data;
+  }
+
+  public T getMetadata() {
+    return metadata;
+  }
+
+  @Schema(implementation = XySequenceSchema.class)
+  public XySequence getData() {
+    return data;
+  }
+
+  private static class XySequenceSchema {
+    public double[] xs;
+    public double[] ys;
+  }
+}