package com.chrisdempewolf.responses.pin;

import com.google.gson.annotations.SerializedName;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class Pins implements Iterable<Pin> {
    @SerializedName("data")
    private final List<Pin> pins;

    public Pins(Pin[] pins) {
        this.pins = Arrays.asList(pins);
    }

    @Override
    public Iterator<Pin> iterator() {
        return pins.iterator();
    }

    public List<Pin> getPins() {
        return pins;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Pins pins = (Pins) o;

        return !(this.pins != null ? !this.pins.equals(pins.pins) : pins.pins != null);

    }

    @Override
    public int hashCode() {
        return pins != null ? pins.hashCode() : 0;
    }

    @Override
    public String toString() {
        return "Pins{" +
                "pins=" + pins +
                '}';
    }
}

package com.chrisdempewolf.responses.pin;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class Pins implements Iterable<Pin> {
    private final List<Pin> pin;

    public Pins(Pin[] pin) {
        this.pin = Arrays.asList(pin);
    }

    @Override
    public Iterator<Pin> iterator() {
        return pin.iterator();
    }

    public List<Pin> getPin() {
        return pin;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Pins pins = (Pins) o;

        return !(pin != null ? !pin.equals(pins.pin) : pins.pin != null);

    }

    @Override
    public int hashCode() {
        return pin != null ? pin.hashCode() : 0;
    }

    @Override
    public String toString() {
        return "Pins{" +
                "pin=" + pin +
                '}';
    }
}

--- 
+++ 
@@ -1,23 +1,26 @@
 package com.chrisdempewolf.responses.pin;
+
+import com.google.gson.annotations.SerializedName;
 
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
 public class Pins implements Iterable<Pin> {
-    private final List<Pin> pin;
+    @SerializedName("data")
+    private final List<Pin> pins;
 
-    public Pins(Pin[] pin) {
-        this.pin = Arrays.asList(pin);
+    public Pins(Pin[] pins) {
+        this.pins = Arrays.asList(pins);
     }
 
     @Override
     public Iterator<Pin> iterator() {
-        return pin.iterator();
+        return pins.iterator();
     }
 
-    public List<Pin> getPin() {
-        return pin;
+    public List<Pin> getPins() {
+        return pins;
     }
 
     @Override
@@ -27,19 +30,19 @@
 
         Pins pins = (Pins) o;
 
-        return !(pin != null ? !pin.equals(pins.pin) : pins.pin != null);
+        return !(this.pins != null ? !this.pins.equals(pins.pins) : pins.pins != null);
 
     }
 
     @Override
     public int hashCode() {
-        return pin != null ? pin.hashCode() : 0;
+        return pins != null ? pins.hashCode() : 0;
     }
 
     @Override
     public String toString() {
         return "Pins{" +
-                "pin=" + pin +
+                "pins=" + pins +
                 '}';
     }
 }
Rename pin->pins; update serialized name
