--- title: App - GraphQL Admin description: A Shopify application. api_version: 2025-10 api_name: admin type: object api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/latest/objects/App md: https://shopify.dev/docs/api/admin-graphql/latest/objects/App.md --- # App object A Shopify application. ## Fields * api​Key [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null A unique application API identifier. * app​Store​App​Url [URL](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) App store page URL of the app. * app​Store​Developer​Url [URL](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) App store page URL of the developer who created the app. * available​Access​Scopes [\[Access​Scope!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/AccessScope) non-null All requestable access scopes available to the app. * banner [Image!](https://shopify.dev/docs/api/admin-graphql/latest/objects/Image) non-null Banner image for the app. * description [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) Description of the app. * developer​Name [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) The name of the app developer. * developer​Type [App​Developer​Type!](https://shopify.dev/docs/api/admin-graphql/latest/enums/AppDeveloperType) non-null The type of app developer. * embedded [Boolean!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean) non-null Whether the app uses the Embedded App SDK. * failed​Requirements [\[Failed​Requirement!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/FailedRequirement) non-null Requirements that must be met before the app can be installed. * features [\[String!\]!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null A list of app features that are shown in the Shopify App Store listing. * feedback [App​Feedback](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppFeedback) Feedback from this app about the store. * handle [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) Handle of the app. * icon [Image!](https://shopify.dev/docs/api/admin-graphql/latest/objects/Image) non-null Icon that represents the app. * id [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID) non-null A globally-unique ID. * installation [App​Installation](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppInstallation) Corresponding AppInstallation for this shop and App. Returns null if the App is not installed. * install​Url [URL](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) Webpage where you can install the app, if app requires explicit user permission. * is​Post​Purchase​App​In​Use [Boolean!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean) non-null Whether the app is the [post purchase](https://shopify.dev/apps/checkout/post-purchase) app in use. * optional​Access​Scopes [\[Access​Scope!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/AccessScope) non-null The optional scopes requested by the app. Lists the optional access scopes the app has declared in its configuration. These scopes are optionally requested by the app after installation. * previously​Installed [Boolean!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean) non-null Whether the app was previously installed on the current shop. * pricing​Details [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) Detailed information about the app pricing. * pricing​Details​Summary [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null Summary of the app pricing details. * privacy​Policy​Url [URL](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) Link to app privacy policy. * public​Category [App​Public​Category!](https://shopify.dev/docs/api/admin-graphql/latest/enums/AppPublicCategory) non-null The public category for the app. * published [Boolean!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean) non-null Whether the app is published to the Shopify App Store. * requested​Access​Scopes [\[Access​Scope!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/AccessScope) non-null The access scopes requested by the app. Lists the access scopes the app has declared in its configuration. Merchant must grant approval to these scopes for the app to be installed. * screenshots [\[Image!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/Image) non-null Screenshots of the app. * shopify​Developed [Boolean!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean) non-null Whether the app was developed by Shopify. * title [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null Name of the app. * uninstall​Message [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null Message that appears when the app is uninstalled. For example: By removing this app, you will no longer be able to publish products to MySocialSite or view this app in your Shopify admin. You can re-enable this channel at any time. * webhook​Api​Version [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null The webhook API version for the app. ### Deprecated fields * developer​Url [URL!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) non-nullDeprecated * launch​Url [URL!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) non-nullDeprecated * navigation​Items [\[Navigation​Item!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/NavigationItem) non-nullDeprecated * uninstall​Url [URL](https://shopify.dev/docs/api/admin-graphql/latest/scalars/URL) Deprecated *** ## Map ### Fields and connections with this object * {}[Abandonment.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/Abandonment#field-Abandonment.fields.app) * {}[AppCatalog.apps](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppCatalog#field-AppCatalog.fields.apps) * <->[AppConnection.nodes](https://shopify.dev/docs/api/admin-graphql/latest/connections/AppConnection#returns-nodes) * {}[AppDiscountType.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppDiscountType#field-AppDiscountType.fields.app) * {}[AppEdge.node](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppEdge#field-AppEdge.fields.node) * {}[AppFeedback.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppFeedback#field-AppFeedback.fields.app) * {}[AppInstallation.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/AppInstallation#field-AppInstallation.fields.app) * {}[Channel.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) * {}[ChannelInformation.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/ChannelInformation#field-ChannelInformation.fields.app) * {}[DiscountRedeemCode.createdBy](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountRedeemCode#field-DiscountRedeemCode.fields.createdBy) * {}[FulfillmentHold.heldByApp](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentHold#field-FulfillmentHold.fields.heldByApp) * {}[InventoryAdjustmentGroup.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryAdjustmentGroup#field-InventoryAdjustmentGroup.fields.app) * {}[MarketingActivity.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/MarketingActivity#field-MarketingActivity.fields.app) * {}[MarketingEvent.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/MarketingEvent#field-MarketingEvent.fields.app) * {}[Metaobject.createdBy](https://shopify.dev/docs/api/admin-graphql/latest/objects/Metaobject#field-Metaobject.fields.createdBy) * {}[Metaobject.createdByApp](https://shopify.dev/docs/api/admin-graphql/latest/objects/Metaobject#field-Metaobject.fields.createdByApp) * {}[MetaobjectDefinition.createdByApp](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetaobjectDefinition#field-MetaobjectDefinition.fields.createdByApp) * {}[OrderAgreement.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderAgreement#field-OrderAgreement.fields.app) * {}[OrderEditAgreement.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderEditAgreement#field-OrderEditAgreement.fields.app) * {}[OrderRiskAssessment.provider](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderRiskAssessment#field-OrderRiskAssessment.fields.provider) * {}[PriceRule.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/PriceRule#field-PriceRule.fields.app) * {}[PriceRuleDiscountCode.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/PriceRuleDiscountCode#field-PriceRuleDiscountCode.fields.app) * {}[RefundAgreement.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/RefundAgreement#field-RefundAgreement.fields.app) * {}[ReturnAgreement.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/ReturnAgreement#field-ReturnAgreement.fields.app) * ||-[SalesAgreement.app](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/SalesAgreement#fields-app) * {}[Shop.availableChannelApps](https://shopify.dev/docs/api/admin-graphql/latest/objects/Shop#field-Shop.fields.availableChannelApps) * {}[ShopifyFunction.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShopifyFunction#field-ShopifyFunction.fields.app) * {}[SubscriptionBillingCycleEditedContract.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionBillingCycleEditedContract#field-SubscriptionBillingCycleEditedContract.fields.app) * {}[SubscriptionContract.app](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionContract#field-SubscriptionContract.fields.app) * ||-[SubscriptionContractBase.app](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/SubscriptionContractBase#fields-app) *** ## Queries * [app](https://shopify.dev/docs/api/admin-graphql/latest/queries/app) query Lookup an App by ID or return the currently authenticated App. * [app​By​Handle](https://shopify.dev/docs/api/admin-graphql/latest/queries/appByHandle) query Fetches app by handle. Returns null if the app doesn't exist. * [app​By​Key](https://shopify.dev/docs/api/admin-graphql/latest/queries/appByKey) query Fetches an app by its client ID. Returns null if the app doesn't exist. *** ## \App Queries ### Queried by * \[app](https://shopify.dev/docs/api/admin-graphql/latest/queries/app) * \[app​By​Handle](https://shopify.dev/docs/api/admin-graphql/latest/queries/appByHandle) * \[app​By​Key](https://shopify.dev/docs/api/admin-graphql/latest/queries/appByKey) *** ## Mutations * [app​Uninstall](https://shopify.dev/docs/api/admin-graphql/latest/mutations/appUninstall) mutation Uninstalls an app from a shop. This mutation can only be used by apps to uninstall themselves. Apps with the `apps` access scope can uninstall other apps by providing the app ID in the input parameter. Use the `appUninstall` mutation to programmatically remove apps from shops. The mutation returns the uninstalled app and any errors that occurred during the uninstallation process. Learn more about [app lifecycle management](https://shopify.dev/docs/apps/build/authentication-authorization/app-installation/uninstall-app-api-request). *** ## <\~> App Mutations ### Mutated by * <\~>[app​Uninstall](https://shopify.dev/docs/api/admin-graphql/latest/mutations/appUninstall) *** ## Interfaces * [Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node) interface *** ## ||-App Implements ### Implements * ||-[Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node)