Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Cree un objeto application. Esta API también puede crear un objeto agentIdentityBlueprint cuando la propiedad @odata.type está establecida en #microsoft.graph.agentIdentityBlueprint.
Importante
No comparta identificadores de cliente de aplicación (appId) en la documentación de api o ejemplos de código.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
Application.ReadWrite.All |
AgentIdentityBlueprint.Create |
| Delegado (cuenta personal de Microsoft) |
Application.ReadWrite.All |
No disponible. |
| Aplicación |
Application.ReadWrite.OwnedBy |
AgentIdentityBlueprint.Create, Application.ReadWrite.All |
Importante
Para el acceso delegado mediante cuentas profesionales o educativas, se debe asignar al administrador un rol de Microsoft Entra compatible o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo los privilegios mínimos necesarios:
- Un miembro o invitado no administrador con permisos de usuario predeterminados, a menos que el administrador de inquilinos tenga acceso restringido.
- Desarrollador de aplicaciones: cree aplicaciones incluso cuando el administrador tenga acceso restringido a miembros e invitados; a la entidad de seguridad con este rol se le asigna la propiedad de la aplicación que crean.
- Escritores de directorios: actualizar las propiedades de la extensión
- Administrador de identidades híbridas: actualice solo las propiedades básicas
- Administrador de seguridad
- Administrador de aplicaciones en la nube
- Administrador de la aplicación
Solicitud HTTP
POST /applications
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON del objeto application. El cuerpo de la solicitud debe contener displayName, que es una propiedad obligatoria. Para crear un agentIdentityBlueprint, establezca también la propiedad @odata.type en #microsoft.graph.agentIdentityBlueprint.
Respuesta
Si se ejecuta correctamente, este método devuelve 201 Created código de respuesta y un objeto application o agentIdentityBlueprint en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Creación de una aplicación con la configuración predeterminada
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/applications
Content-type: application/json
{
"displayName": "Display name"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Application
{
DisplayName = "Display name",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewApplication()
displayName := "Display name"
requestBody.SetDisplayName(&displayName)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
applications, err := graphClient.Applications().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
application.setDisplayName("Display name");
Application result = graphClient.applications().post(application);
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
displayName: 'Display name'
};
await client.api('/applications')
.version('beta')
.post(application);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Application;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$requestBody->setDisplayName('Display name');
$result = $graphServiceClient->applications()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
displayName = "Display name"
}
New-MgBetaApplication -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.application import Application
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Application(
display_name = "Display name",
)
result = await graph_client.applications.post(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications/$entity",
"id": "03ef14b0-ca33-4840-8f4f-d6e91916010e",
"deletedDateTime": null,
"isFallbackPublicClient": null,
"appId": "631a96bc-a705-4eda-9f99-fdaf9f54f6a2",
"applicationTemplateId": null,
"identifierUris": [],
"createdDateTime": "2019-09-17T19:10:35.2742618Z",
"displayName": "Display name",
"isDeviceOnlyAuthSupported": null,
"groupMembershipClaims": null,
"optionalClaims": null,
"addIns": [],
"publisherDomain": "contoso.com",
"samlMetadataUrl": "https://graph.microsoft.com/2h5hjaj542de/app",
"signInAudience": "AzureADandPersonalMicrosoftAccount",
"tags": [],
"tokenEncryptionKeyId": null,
"api": {
"requestedAccessTokenVersion": 2,
"acceptMappedClaims": null,
"knownClientApplications": [],
"oauth2PermissionScopes": [],
"preAuthorizedApplications": []
},
"appRoles": [],
"publicClient": {
"redirectUris": []
},
"info": {
"termsOfServiceUrl": null,
"supportUrl": null,
"privacyStatementUrl": null,
"marketingUrl": null,
"logoUrl": null
},
"keyCredentials": [],
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
"passwordCredentials": [],
"requiredResourceAccess": [],
"uniqueName": null,
"web": {
"redirectUris": [],
"homePageUrl": null,
"logoutUrl": null,
"implicitGrantSettings": {
"enableIdTokenIssuance": false,
"enableAccessTokenIssuance": false
}
},
"windows" : null
}
Ejemplo 2: Creación de una aplicación y adición de un secreto de contraseña
Solicitud
POST https://graph.microsoft.com/beta/applications
Content-type: application/json
{
"displayName": "MyAppName",
"passwordCredentials": [
{
"displayName": "Password name"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Application
{
DisplayName = "MyAppName",
PasswordCredentials = new List<PasswordCredential>
{
new PasswordCredential
{
DisplayName = "Password name",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewApplication()
displayName := "MyAppName"
requestBody.SetDisplayName(&displayName)
passwordCredential := graphmodels.NewPasswordCredential()
displayName := "Password name"
passwordCredential.SetDisplayName(&displayName)
passwordCredentials := []graphmodels.PasswordCredentialable {
passwordCredential,
}
requestBody.SetPasswordCredentials(passwordCredentials)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
applications, err := graphClient.Applications().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
application.setDisplayName("MyAppName");
LinkedList<PasswordCredential> passwordCredentials = new LinkedList<PasswordCredential>();
PasswordCredential passwordCredential = new PasswordCredential();
passwordCredential.setDisplayName("Password name");
passwordCredentials.add(passwordCredential);
application.setPasswordCredentials(passwordCredentials);
Application result = graphClient.applications().post(application);
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
displayName: 'MyAppName',
passwordCredentials: [
{
displayName: 'Password name'
}
]
};
await client.api('/applications')
.version('beta')
.post(application);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Application;
use Microsoft\Graph\Beta\Generated\Models\PasswordCredential;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$requestBody->setDisplayName('MyAppName');
$passwordCredentialsPasswordCredential1 = new PasswordCredential();
$passwordCredentialsPasswordCredential1->setDisplayName('Password name');
$passwordCredentialsArray []= $passwordCredentialsPasswordCredential1;
$requestBody->setPasswordCredentials($passwordCredentialsArray);
$result = $graphServiceClient->applications()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
displayName = "MyAppName"
passwordCredentials = @(
@{
displayName = "Password name"
}
)
}
New-MgBetaApplication -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.application import Application
from msgraph_beta.generated.models.password_credential import PasswordCredential
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Application(
display_name = "MyAppName",
password_credentials = [
PasswordCredential(
display_name = "Password name",
),
],
)
result = await graph_client.applications.post(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta. La propiedad secretText del objeto de respuesta contiene las contraseñas seguras o el secreto generado por Microsoft Entra ID y tiene entre 16 y 64 caracteres. No hay ninguna manera de recuperar esta contraseña en el futuro.
Nota: se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications/$entity",
"id": "83ab4737-da9d-4084-86f2-f8fbec220647",
"deletedDateTime": null,
"appId": "9519e58c-bd06-4120-a7fd-2220d4de8409",
"applicationTemplateId": null,
"disabledByMicrosoftStatus": null,
"createdDateTime": "2024-04-01T19:10:02.6626202Z",
"displayName": "MyAppName",
"description": null,
"keyCredentials": [],
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
"passwordCredentials": [
{
"customKeyIdentifier": null,
"displayName": "Password name",
"endDateTime": "2026-04-01T19:10:02.6576213Z",
"hint": "puE",
"keyId": "09a0c91a-1bc3-4eaf-a945-c88c041fad6c",
"secretText": "1234567890abcdefghijklmnopqrstuvwxyzabcd",
"startDateTime": "2024-04-01T19:10:02.6576213Z"
}
],
"publicClient": {
"redirectUris": []
}
}
Ejemplo 3: Creación de una nueva aplicación multiinquilino limitada solo a algunos inquilinos
Solicitud
En el ejemplo siguiente se crea una aplicación multiinquilino que solo se puede usar en dos inquilinos Microsoft Entra permitidos (y el inquilino donde está registrada la aplicación).
POST https://graph.microsoft.com/beta/applications
Content-type: application/json
{
"displayName": "MyAppName",
"signInAudience": "AzureADMultipleOrgs",
"signInAudienceRestrictions": {
"@odata.type": "#microsoft.graph.allowedTenantsAudience",
"isHomeTenantAllowed": true,
"allowedTenantIds": [
"818ce016-78c2-457c-91d7-c02c2faaa5fe",
"c62670b0-53a1-4a38-b26c-4093cbaa510a"
]
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Application
{
DisplayName = "MyAppName",
SignInAudience = "AzureADMultipleOrgs",
SignInAudienceRestrictions = new AllowedTenantsAudience
{
OdataType = "#microsoft.graph.allowedTenantsAudience",
IsHomeTenantAllowed = true,
AllowedTenantIds = new List<string>
{
"818ce016-78c2-457c-91d7-c02c2faaa5fe",
"c62670b0-53a1-4a38-b26c-4093cbaa510a",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewApplication()
displayName := "MyAppName"
requestBody.SetDisplayName(&displayName)
signInAudience := "AzureADMultipleOrgs"
requestBody.SetSignInAudience(&signInAudience)
signInAudienceRestrictions := graphmodels.NewAllowedTenantsAudience()
isHomeTenantAllowed := true
signInAudienceRestrictions.SetIsHomeTenantAllowed(&isHomeTenantAllowed)
allowedTenantIds := []string {
"818ce016-78c2-457c-91d7-c02c2faaa5fe",
"c62670b0-53a1-4a38-b26c-4093cbaa510a",
}
signInAudienceRestrictions.SetAllowedTenantIds(allowedTenantIds)
requestBody.SetSignInAudienceRestrictions(signInAudienceRestrictions)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
applications, err := graphClient.Applications().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Application application = new Application();
application.setDisplayName("MyAppName");
application.setSignInAudience("AzureADMultipleOrgs");
AllowedTenantsAudience signInAudienceRestrictions = new AllowedTenantsAudience();
signInAudienceRestrictions.setOdataType("#microsoft.graph.allowedTenantsAudience");
signInAudienceRestrictions.setIsHomeTenantAllowed(true);
LinkedList<String> allowedTenantIds = new LinkedList<String>();
allowedTenantIds.add("818ce016-78c2-457c-91d7-c02c2faaa5fe");
allowedTenantIds.add("c62670b0-53a1-4a38-b26c-4093cbaa510a");
signInAudienceRestrictions.setAllowedTenantIds(allowedTenantIds);
application.setSignInAudienceRestrictions(signInAudienceRestrictions);
Application result = graphClient.applications().post(application);
const options = {
authProvider,
};
const client = Client.init(options);
const application = {
displayName: 'MyAppName',
signInAudience: 'AzureADMultipleOrgs',
signInAudienceRestrictions: {
'@odata.type': '#microsoft.graph.allowedTenantsAudience',
isHomeTenantAllowed: true,
allowedTenantIds: [
'818ce016-78c2-457c-91d7-c02c2faaa5fe',
'c62670b0-53a1-4a38-b26c-4093cbaa510a'
]
}
};
await client.api('/applications')
.version('beta')
.post(application);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Application;
use Microsoft\Graph\Beta\Generated\Models\AllowedTenantsAudience;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$requestBody->setDisplayName('MyAppName');
$requestBody->setSignInAudience('AzureADMultipleOrgs');
$signInAudienceRestrictions = new AllowedTenantsAudience();
$signInAudienceRestrictions->setOdataType('#microsoft.graph.allowedTenantsAudience');
$signInAudienceRestrictions->setIsHomeTenantAllowed(true);
$signInAudienceRestrictions->setAllowedTenantIds(['818ce016-78c2-457c-91d7-c02c2faaa5fe', 'c62670b0-53a1-4a38-b26c-4093cbaa510a', ]);
$requestBody->setSignInAudienceRestrictions($signInAudienceRestrictions);
$result = $graphServiceClient->applications()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
displayName = "MyAppName"
signInAudience = "AzureADMultipleOrgs"
signInAudienceRestrictions = @{
"@odata.type" = "#microsoft.graph.allowedTenantsAudience"
isHomeTenantAllowed = $true
allowedTenantIds = @(
"818ce016-78c2-457c-91d7-c02c2faaa5fe"
"c62670b0-53a1-4a38-b26c-4093cbaa510a"
)
}
}
New-MgBetaApplication -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.application import Application
from msgraph_beta.generated.models.allowed_tenants_audience import AllowedTenantsAudience
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Application(
display_name = "MyAppName",
sign_in_audience = "AzureADMultipleOrgs",
sign_in_audience_restrictions = AllowedTenantsAudience(
odata_type = "#microsoft.graph.allowedTenantsAudience",
is_home_tenant_allowed = True,
allowed_tenant_ids = [
"818ce016-78c2-457c-91d7-c02c2faaa5fe",
"c62670b0-53a1-4a38-b26c-4093cbaa510a",
],
),
)
result = await graph_client.applications.post(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications/$entity",
"id": "83ab4737-da9d-4084-86f2-f8fbec220647",
"appId": "9519e58c-bd06-4120-a7fd-2220d4de8409",
"createdDateTime": "2025-11-01T19:10:02.6626202Z",
"displayName": "MyAppName",
"signInAudience": "AzureADMultipleOrgs",
"signInAudienceRestrictions": {
"@odata.type": "#microsoft.graph.allowedTenantsAudience",
"isHomeTenantAllowed": true,
"allowedTenantIds": [
"818ce016-78c2-457c-91d7-c02c2faaa5fe",
"c62670b0-53a1-4a38-b26c-4093cbaa510a"
]
}
}