AppCatalog.Read.All
Allows the app to read apps in the app catalogs without a signed-in user.
In short
AppCatalog.Read.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the AppCatalog category. Allows the app to read apps in the app catalogs without a signed-in user. It grants read-only access to resources. Application permissions always require admin consent.
Permission Details
Read all app catalogs
Allows the app to read apps in the app catalogs without a signed-in user.
e12dae10-5a57-4817-b79d-dfbec5348930
Read all app catalogs
Allows the app to read the apps in the app catalogs.
88e58d74-d3df-44f3-ad47-e89edf4472e4
Properties
Properties is shown from stable Microsoft Graph v1.0 metadata.
| Property | Type | Description |
|---|---|---|
displayName |
stringNullable |
The name of the catalog app provided by the app developer in the Microsoft Teams zip app package. |
distributionMethod |
teamsAppDistributionMethod |
The method of distribution for the app. Read-only. |
externalId |
stringNullable |
The ID of the catalog provided by the app developer in the Microsoft Teams zip app package. |
id |
string |
The app ID generated for the catalog is different from the developer-provided ID found within the Microsoft Teams zip app package. The externalId value is empty for apps with a distributionMethod type of store. When apps are published to the global store, the id of the app matches the id in the app manifest. |
appDefinitions |
teamsAppDefinition collection |
The details for each version of the app. |
JSON Representation
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"externalId": "string",
"displayName": "string",
"distributionMethod": "string",
"id": "string"
}
Relationships
Relationships is shown from stable Microsoft Graph v1.0 metadata.
| Relationship | Type | Description |
|---|---|---|
appDefinitions |
teamsAppDefinition collection |
The details for each version of the app. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
GET
/appCatalogs/teamsApps
|
GET
/appCatalogs/teamsApps/{app-id}/appDefinitions/{app-definition-id}/bot
|
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
| Commands |
|---|
Get-MgAppCatalogTeamApp
/appCatalogs/teamsApps
List teamsApp
|
Get-MgAppCatalogTeamAppDefinitionBot
/appCatalogs/teamsApps/{app-id}/appDefinitions/{app-definition-id}/bot
Get teamworkBot
|
Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.AppCatalogs.TeamsApps["{teamsApp-id}"].AppDefinitions["{teamsAppDefinition-id}"].Bot.GetAsync();
const options = {
authProvider,
};
const client = Client.init(options);
let teamworkBot = await client.api('/appCatalogs/teamsApps/e4c5c249-bb4b-419e-b7c5-b1d98559368b/appDefinitions/ZTRjNWMyNDktYmI0Yi00MTllLWI3YzUtYjFkOTg1NTkzNjhiIyMyLjAuMSMjUHVibGlzaGVk/bot')
.get();
Import-Module Microsoft.Graph.Teams
Get-MgAppCatalogTeamAppDefinitionBot -TeamsAppId $teamsAppId -TeamsAppDefinitionId $teamsAppDefinitionId
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.app_catalogs.teams_apps.by_teams_app_id('teamsApp-id').app_definitions.by_teams_app_definition_id('teamsAppDefinition-id').bot.get()
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for AppCatalog.Read.All
Grant Admin Consent
Application permissions always require admin consent.
Frequently asked questions
What is the AppCatalog.Read.All Microsoft Graph permission?
AppCatalog.Read.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the AppCatalog category. Allows the app to read apps in the app catalogs without a signed-in user. It grants read-only access to resources. Application permissions always require admin consent. It is mapped to the Microsoft Graph teamsapp resource type. 10 documented Microsoft Graph REST methods require it. 7 Microsoft Graph PowerShell commands are documented for it.
Is AppCatalog.Read.All an application or a delegated permission?
AppCatalog.Read.All is available as both an application permission (app-only access, no signed-in user) and a delegated permission (access on behalf of a signed-in user).
Does AppCatalog.Read.All require admin consent?
Application permissions always require admin consent.
What is the permission ID (GUID) for AppCatalog.Read.All?
For AppCatalog.Read.All, the application (app role) ID is e12dae10-5a57-4817-b79d-dfbec5348930, and the delegated (OAuth2 scope) ID is 88e58d74-d3df-44f3-ad47-e89edf4472e4. These are the real Microsoft Graph identifiers and can be used directly in an app registration manifest.