This method fetches the bin data from the remote JSONBin.io API and deserializes it into a
+ * strongly-typed {@link Bin} object containing the expected data type {@code T}.
+ *
+ * @param binId the unique identifier of the bin to retrieve; must not be {@code null}
+ * @return a {@link Bin} object containing the deserialized data
+ * @throws JsonBinException if the request fails, the bin is not found, or deserialization fails
+ */
+ Bin This generic class is used to hold the actual data stored in the bin (as {@code record}) and
+ * additional information about the bin such as creation time, visibility, and name (as {@link
+ * Metadata}).
+ *
+ * @param This includes details such as the bin's unique identifier, visibility, creation timestamp, and
+ * assigned name.
+ */
+@Getter
+@Setter
+@ToString
+public class Metadata {
+
+ /** The unique identifier of the bin. */
+ private String id;
+
+ /**
+ * Indicates whether the bin is private.
+ *
+ * Uses @JsonProperty to map from the JSON key {@code "private"} since it is a reserved
+ * keyword in Java.
+ */
+ @JsonProperty("private")
+ private boolean _private;
+
+ /**
+ * The timestamp when the bin was created.
+ *
+ * Expected in ISO 8601 format with timezone information.
+ */
+ private ZonedDateTime createdAt;
+
+ /** The human-readable name assigned to the bin. */
+ private String name;
+}
diff --git a/src/main/java/io/github/odunlamizo/jsonbin/model/User.java b/src/main/java/io/github/odunlamizo/jsonbin/model/User.java
new file mode 100644
index 0000000..c69db56
--- /dev/null
+++ b/src/main/java/io/github/odunlamizo/jsonbin/model/User.java
@@ -0,0 +1,13 @@
+package io.github.odunlamizo.jsonbin.model;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class User {
+
+ private String name;
+
+ private int age;
+}
diff --git a/src/main/java/io/github/odunlamizo/jsonbin/model/UserList.java b/src/main/java/io/github/odunlamizo/jsonbin/model/UserList.java
new file mode 100644
index 0000000..83729e8
--- /dev/null
+++ b/src/main/java/io/github/odunlamizo/jsonbin/model/UserList.java
@@ -0,0 +1,12 @@
+package io.github.odunlamizo.jsonbin.model;
+
+import java.util.List;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class UserList {
+
+ private List