diff --git a/config-models/aether-3.x/files/yang/application.yang b/config-models/aether-3.x/files/yang/application.yang
new file mode 100755
index 0000000..2f1a4fc
--- /dev/null
+++ b/config-models/aether-3.x/files/yang/application.yang
@@ -0,0 +1,99 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module application {
+  namespace "http://opennetworking.org/enterprise/application";
+  prefix app;
+
+  import ietf-inet-types{ prefix ietf; }
+  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 Application is an application that UE devices may
+     connect to. Includes a set of endpoints where services are
+     provided.";
+
+  revision "2021-06-02" {
+    description "Aether Application.";
+    reference "RFC 6087";
+  }
+
+  typedef application-id {
+        type yg:yang-identifier {
+            length 1..32;
+        }
+  }
+
+  container application {
+    description "The top level container";
+
+    list application {
+      key "id";
+      description
+        "List of applications";
+
+      leaf id {
+        type application-id;
+        description "ID for this application.";
+      }
+
+      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 application";
+      }
+
+      list endpoint {
+        key "name";
+        max-elements 1;
+        leaf name {
+          type string;
+          description
+              "Name of this endpoint";
+        }
+        leaf address {
+          type ietf:host;
+          mandatory true;
+          description
+              "Address of this endpoint. Either a hostname, and IP, or a subnet.";
+        }
+        leaf port-start {
+          type ietf:port-number;
+          mandatory true;
+          description
+              "First port in range";
+        }
+        leaf port-end {
+          type ietf:port-number;
+          description
+              "Last port in range";
+        }
+        leaf protocol {
+          type at:protocol;
+          description
+              "Name of this endpoint";
+        }                   
+      }
+
+      leaf enterprise {
+        type leafref {
+          path "/ent:enterprise/ent:enterprise/ent:id";
+        }
+        mandatory true;
+        description
+          "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
+      }
+    }
+  } 
+}
