Microsoft Graph · Schema
microsoft.graph.teamsAppDefinition
Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| @odata.type | string | |
| authorization | object | Authorization requirements specified in the Teams app manifest. |
| createdBy | object | |
| description | stringnull | Verbose description of the application. |
| displayName | stringnull | The name of the app provided by the app developer. |
| lastModifiedDateTime | stringnull | |
| publishingState | object | The published status of a specific version of a Teams app. The possible values are:submitted—The specific version of the Teams app was submitted and is under review.published—The request to publish th |
| shortDescription | stringnull | Short description of the application. |
| teamsAppId | stringnull | The ID from the Teams app manifest. |
| version | stringnull | The version number of the application. |
| bot | object | The details of the bot specified in the Teams app manifest. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-teams-app-definition-schema.json",
"title": "microsoft.graph.teamsAppDefinition",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-graph-appcatalogs-teamsapp-api-openapi.yml#/components/schemas/microsoft.graph.teamsAppDefinition",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "teamsAppDefinition",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"authorization": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.teamsAppAuthorization"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Authorization requirements specified in the Teams app manifest."
},
"createdBy": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"type": [
"object",
"null"
]
}
]
},
"description": {
"type": [
"string",
"null"
],
"description": "Verbose description of the application."
},
"displayName": {
"type": [
"string",
"null"
],
"description": "The name of the app provided by the app developer."
},
"lastModifiedDateTime": {
"pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
"type": [
"string",
"null"
],
"format": "date-time"
},
"publishingState": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.teamsAppPublishingState"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The published status of a specific version of a Teams app. The possible values are:submitted—The specific version of the Teams app was submitted and is under review.published—The request to publish the specific version of the Teams app was approved by the admin and the app is published.rejected—The admin rejected the request to publish the specific version of the Teams app."
},
"shortDescription": {
"type": [
"string",
"null"
],
"description": "Short description of the application."
},
"teamsAppId": {
"type": [
"string",
"null"
],
"description": "The ID from the Teams app manifest."
},
"version": {
"type": [
"string",
"null"
],
"description": "The version number of the application."
},
"bot": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.teamworkBot"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The details of the bot specified in the Teams app manifest.",
"x-ms-navigationProperty": true
},
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.teamsAppDefinition",
"$defs": {
"microsoft.graph.entity": {
"title": "entity",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for an entity. Read-only."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.identity": {
"title": "identity",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"displayName": {
"type": [
"string",
"null"
],
"description": "The display name of the identity.For drive items, the display name might not always be available or up to date. For example, if a user changes their display name the API might show the new value in a future response, but the items associated with the user don't show up as changed when using delta."
},
"id": {
"type": [
"string",
"null"
],
"description": "Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.identitySet": {
"title": "identitySet",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"application": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The application associated with this action."
},
"device": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The device associated with this action."
},
"user": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The user associated with this action."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.teamsAppAuthorization": {
"title": "teamsAppAuthorization",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"clientAppId": {
"type": [
"string",
"null"
],
"description": "The registration ID of the Microsoft Entra app ID associated with the teamsApp."
},
"requiredPermissionSet": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.teamsAppPermissionSet"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Set of permissions required by the teamsApp."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.teamsAppPermissionSet": {
"title": "teamsAppPermissionSet",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"resourceSpecificPermissions": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.teamsAppResourceSpecificPermission"
},
"description": "A collection of resource-specific permissions."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.teamsAppPublishingState": {
"title": "teamsAppPublishingState",
"enum": [
"submitted",
"rejected",
"published",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.teamsAppResourceSpecificPermission": {
"title": "teamsAppResourceSpecificPermission",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"permissionType": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.teamsAppResourceSpecificPermissionType"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The type of resource-specific permission."
},
"permissionValue": {
"type": [
"string",
"null"
],
"description": "The name of the resource-specific permission."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.teamsAppResourceSpecificPermissionType": {
"title": "teamsAppResourceSpecificPermissionType",
"enum": [
"delegated",
"application",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.teamworkBot": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "teamworkBot",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.teamworkBot"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoft-graph-teams-app-definition"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.