diff --git a/config-models/aether-3.x/files/yang/ap-list.yang b/config-models/aether-3.x/files/yang/ap-list.yang
new file mode 100755
index 0000000..3c1a759
--- /dev/null
+++ b/config-models/aether-3.x/files/yang/ap-list.yang
@@ -0,0 +1,91 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module ap-list {
+  namespace "http://opennetworking.org/aether/ap-list";
+  prefix apl;
+
+  import ietf-inet-types { prefix inet; }
+  import aether-types { prefix at; }
+  import enterprise{ prefix ent; }
+  import ietf-yang-types{ prefix yg; }
+
+  organization "Open Networking Foundation.";
+  contact "Scott Baker";
+  description 
+    "An Aether AP List is a named list of access points.";
+
+  revision "2021-06-02" {
+    description "An Aether Access Point List";
+    reference "RFC 6087";
+  }
+
+  typedef ap-list-id {
+        type yg:yang-identifier {
+            length 1..32;
+        }
+  }
+
+  container ap-list {
+    description "The top level container";
+
+    list ap-list {
+      key "id";
+      description
+        "A list of named ap-lists.";
+
+      leaf id {
+        type ap-list-id;
+        description "ID for this ap-list.";
+      }
+
+      list access-points {
+        key "address";
+        leaf address {
+          type inet:host;
+          description
+            "Address of access point";
+        }
+        leaf tac {
+          type at:tac;
+          mandatory true;
+          description
+              "Type Allocation Code";
+        }        
+        leaf enable {
+          type boolean;
+          default true;
+          description
+            "Enable this access point";
+        }
+        description
+          "List of access point addresses";
+      }        
+
+      leaf display-name {
+        type string {
+            length 1..80;
+        }
+        description "display name to use in GUI or CLI";
+      }     
+
+      leaf description {
+        type at:description;
+        description "description of this ap-list";
+      }
+
+      // Access point lists are always owned by an Enterprise, since they typically exist on the
+      // Enterprise's edge. An ApList is not owned by Site, to cover the case where a ApList may
+      // include access points that span multiple sites.
+      leaf enterprise {
+        type leafref {
+          path "/ent:enterprise/ent:enterprise/ent:id";
+        }
+        mandatory true;
+        description
+          "Link to enterprise that owns this Access Point List";
+      }       
+    }
+  } 
+}
