diff --git a/design-documents/graph-ql/coverage/eav/EavGraphQl.graphqls b/design-documents/graph-ql/coverage/eav/EavGraphQl.graphqls
new file mode 100644
index 000000000..a77a00b47
--- /dev/null
+++ b/design-documents/graph-ql/coverage/eav/EavGraphQl.graphqls
@@ -0,0 +1,48 @@
+# Copyright © Magento, Inc. All rights reserved.
+# See COPYING.txt for license details.
+
+type Query {
+    customAttributeMetadata(attributes: [AttributeInput!]!): CustomAttributeMetadata @resolver(class: "Magento\\EavGraphQl\\Model\\Resolver\\CustomAttributeMetadata") @doc(description: "The customAttributeMetadata query returns the attribute type, given an attribute code and entity type") @cache(cacheable: false)
+}
+
+type CustomAttributeMetadata @doc(description: "CustomAttributeMetadata defines an array of attribute_codes and entity_types") {
+    items: [Attribute] @doc(description: "An array of attributes")
+}
+
+type Attribute @doc(description: "Attribute contains the attribute_type of the specified attribute_code and entity_type") {
+    attribute_code: String @doc(description: "The unique identifier for an attribute code. This value should be in lowercase letters without spaces.")
+    entity_type: String @doc(description: "The type of entity that defines the attribute")
+    attribute_type: String @doc(description: "The data type of the attribute")
+    input_type: String @doc(description: "The frontend input type of the attribute")
+    attribute_options: [AttributeOption] @resolver(class: "Magento\\EavGraphQl\\Model\\Resolver\\AttributeOptions") @doc(description: "Attribute options list.")
+    storefront_properties: StorefrontProperties
+}
+
+type StorefrontProperties {
+   use_in_product_listing: Boolean
+   position: Int
+   visible_on_catalog_pages: Boolean
+   use_in_layered_navigation: UseInLayeredNavigationOptions
+   use_in_search_results_layered_navigation: Boolean
+}
+
+enum UseInLayeredNavigationOptions {
+  NO
+  FILTERABLE_WITH_RESULTS
+  FILTERABLE_NO_RESULT
+}
+
+type AttributeOption @doc(description: "Attribute option.") {
+    label: String @doc(description: "Attribute option label.")
+    value: String @doc(description: "Attribute option value.")
+}
+
+input AttributeInput @doc(description: "AttributeInput specifies the attribute_code and entity_type to search") {
+    attribute_code: String @doc(description: "The unique identifier for an attribute code. This value should be in lowercase letters without spaces.")
+    entity_type: String @doc(description: "The type of entity that defines the attribute")
+}
+
+# Additional changes made in CatalogGraphQl schema
+type Aggregation @doc(description: "A bucket that contains information for each filterable option (such as price, category `UID`, and custom attributes).") {
+    position: Int @doc(description: "The position of attribute in layered navigation block.")
+}