Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
As APIs sob a /beta versão estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção.
A API de Gerenciamento de Custos do Microsoft 365 Copilot permite que os administradores controlem e observem o consumo de créditos de Copilot e IA pelos locatários por meio do Microsoft Graph, com base em /copilot/costManagement. O contrato é sensível à unidade e denominado a crédito. Abrange o saldo de crédito do locatário snapshot, o gerenciamento da política de gastos, o escopo do público-alvo do grupo, as configurações por serviço, os alertas de limite somente de notificação e seus destinatários e os saldos de consumo por usuário.
A API é denominada em crédito e exclui deliberadamente a moeda classificada, as faturas, os preços e as previsões de compra.
Principais recursos
- Leia o snapshot do saldo de crédito em todo o locatário, com uma linha por método de cobrança.
- Crie, leia, atualize e exclua políticas de gastos que limitem o consumo de Créditos do Copilot para um público-alvo.
- Defina o escopo de uma política para cada usuário no locatário (
allUsersSpendingPolicy) ou para grupos selecionados (selectedGroupsSpendingPolicy). - Gerenciar o público-alvo de um grupo de políticas por meio de
$reflinks de referência. - Defina configurações por serviço que regem ou excluem serviços de IA individuais em uma política.
- Configure alertas de limite somente de notificação e gerencie seus destinatários.
- Diagnostique o saldo de consumo por serviço de um usuário e entenda por que um usuário pode ou não consumir um serviço.
Exemplos de cenários
- Um administrador define um limite de crédito mensal para um grupo piloto e alerta os administradores quando o uso atinge 80%.
- Um administrador adiciona ou remove um serviço controlado em uma política existente.
- Um administrador de suporte diagnostica por que um usuário não pode mais consumir um serviço lendo o saldo por serviço desse usuário.
- Um leitor FinOps lista as políticas de gastos habilitadas do locatário e analisa seus limites configurados.
Personas e funções
As personas-alvo incluem o administrador de IA e o administrador de licenças para gerenciamento de políticas; o Leitor FinOps/Global e o Administrador de Faturamento para leituras; e o administrador de Suporte/Assistência Técnica para o diagnóstico por usuário. A criação de uma política de gastos também requer a função de diretório Administrador de Cobrança ou Administrador Global no tempo de execução.
Permissões
Essa API usa a família de CopilotCostManagement-* permissões. A maioria das operações dá suporte apenas a permissões delegadas (conta corporativa ou de estudante); a leitura do saldo de crédito do locatário (getTenantCreditBalance) também dá suporte à permissão do CopilotCostManagement.Read.All aplicativo. Não há suporte para contas Microsoft pessoais. Escolha a permissão menos privilegiada para cada operação.
| Permissão | Operações |
|---|---|
CopilotCostManagement.Read.All |
Leia o saldo de crédito do locatário snapshot. |
CopilotCostManagement-Policy.Read.All |
Leia políticas de gastos, configurações por serviço, limites de alerta e destinatários. |
CopilotCostManagement-Policy.ReadWrite.All |
Criar, atualizar e excluir políticas, configurações de serviço, alertas e destinatários. |
CopilotCostManagement-Assignment.Read.All |
Leia o público-alvo do grupo de uma política. |
CopilotCostManagement-Assignment.ReadWrite.All |
Adicione e remova o público-alvo do grupo de uma política. |
CopilotCostManagement-UserData.Read.All |
Leia o diagnóstico de saldo de um usuário nomeado, incluindo consumo e o arquivo .spendingPolicyId |
Lista de APIs
| Operação | Método HTTP | Descrição |
|---|---|---|
| Obter saldo de crédito do locatário | GET /copilot/costManagement/getTenantCreditBalance |
Obtenha o snapshot do saldo de crédito em todo o locatário. |
| Listar spendingPolicies | GET /copilot/costManagement/spendingPolicies |
Obtenha uma lista de políticas de gastos. |
| Criar spendingPolicy | POST /copilot/costManagement/spendingPolicies |
Crie uma nova política de gastos. |
| Obter política de gastos | GET /copilot/costManagement/spendingPolicies/{id} |
Recupere uma política de gastos. |
| Atualizar spendingPolicy | PATCH /copilot/costManagement/spendingPolicies/{id} |
Atualizar uma política de gastos. |
| Excluir política de gastos | DELETE /copilot/costManagement/spendingPolicies/{id} |
Exclua uma política de gastos. |
| List assignedGroups | GET /copilot/costManagement/spendingPolicies/{id}/microsoft.graph.selectedGroupsSpendingPolicy/assignedGroups |
Listar os grupos atribuídos a uma política. |
| Adicionar assignedGroup | POST /copilot/costManagement/spendingPolicies/{id}/microsoft.graph.selectedGroupsSpendingPolicy/assignedGroups/$ref |
Adicione uma referência de grupo a uma política. |
| Remove assignedGroup | DELETE /copilot/costManagement/spendingPolicies/{id}/microsoft.graph.selectedGroupsSpendingPolicy/assignedGroups/{groupId}/$ref |
Remova uma referência de grupo. |
| Listar spendingPolicyServiceSettings | GET /copilot/costManagement/spendingPolicies/{id}/serviceSettings |
Listar as configurações de serviço de uma política. |
| Criar spendingPolicyServiceSetting | POST /copilot/costManagement/spendingPolicies/{id}/serviceSettings |
Adicione um serviço a uma política. |
| Obter spendingPolicyServiceSetting | GET /copilot/costManagement/spendingPolicies/{id}/serviceSettings/{serviceId} |
Recupere uma configuração de serviço. |
| Atualizar spendingPolicyServiceSetting | PATCH /copilot/costManagement/spendingPolicies/{id}/serviceSettings/{serviceId} |
Atualizar uma configuração de serviço. |
| Get costManagementAlertSetting | GET /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings |
Recupere a configuração de alerta de uma política. |
| Atualizar costManagementAlertSetting | PATCH /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings |
Crie ou atualize a configuração do alerta. |
| Excluir costManagementAlertSetting | DELETE /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings |
Exclua a configuração de alerta. |
| Listar destinatários | GET /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings/recipients |
Liste os destinatários do alerta. |
| Adicionar destinatário | POST /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings/recipients/$ref |
Adicione um destinatário do alerta. |
| Remover destinatário | DELETE /copilot/costManagement/spendingPolicies/{id}/emailThresholdSettings/recipients/{userId}/$ref |
Remover um destinatário do alerta. |
| Obter costManagementUserBalance | GET /copilot/costManagement/userBalances/{userId} |
Recupere o saldo de consumo de um usuário. |
| Listar costManagementUserServiceBalances | GET /copilot/costManagement/userBalances/{userId}/serviceBalances |
Liste as linhas de saldo por serviço de um usuário. |
| Obter costManagementUserServiceBalance | GET /copilot/costManagement/userBalances/{userId}/serviceBalances/{serviceId} |
Recupere a linha de saldo de um serviço para um usuário. |
Simultaneidade e semântica de remoção
- Para alterar uma política existente e seus recursos filho (configurações de serviço e links de referência), inclua um
If-Matchcabeçalho com a ETag da política pai. As configurações de serviço e os links de referência não têm sua própria ETag. A política pai gerencia a simultaneidade e aparece comoparentEtagem uma configuração de serviço. Quando você cria uma política, ela não tem ETag existente e não usaIf-Match. - A
serviceSettingscoleção não dá suporte aDELETE. Definastatecomodisabledpara remover um serviço. A entrada permanece nesse estado. - Gerencie as
assignedGroupsrecipientse relações como propriedades de navegação de referência com$refadicionar e remover.
Condições de erro
As respostas de erro usam o OData error e innerError o envelope padrão. O relata innerError.code condições específicas da carga de trabalho, enquanto o OData error.code padrão relata condições genéricas. A segurança em nível de linha é executada antes da pesquisa, portanto, um recurso de locatário fora do escopo retorna uma 404 resposta em vez de uma 403 resposta.
| Condition | HTTP | Código de erro |
|---|---|---|
| O chamador não tem a permissão necessária ou uma função de diretório qualificada | 403 | Authorization_RequestDenied |
| Opção de consulta sem suporte ou solicitação malformada | 400 |
invalidRequest, unsupportedQuery |
| A remoção do último grupo atribuído deixaria a política sem audiência atribuída | 409 | lastAssignedGroup |
| Outra política não desabilitada para todo o locatário já rege o mesmo serviço | 409 | allUsersServiceConflict |
| Uma política com escopo de grupo compartilha um grupo atribuído e um serviço habilitado com outra política não desabilitada | 409 | groupServiceConflict |
| Desabilitar o último serviço habilitado em uma política que tenha configurações de serviço | 409 | atLeastOneServiceRequired |
| Valor limite de alerta fora do intervalo (os limites percentuais devem ser um número inteiro de 1 a 100) | 400 | invalidAlertThreshold |
| Aplicar PATCH em qualquer campo em uma política que não esteja em um estado editável | 400 | policyNotEditableWhilePending |
| ID de serviço desconhecida ou inválida | 400 | invalidService |
| Alertas habilitados sem destinatários vinculados ou removendo o último destinatário enquanto os alertas estão habilitados | 400 | alertRecipientsRequired |
| A referência de destinatário do alerta não é resolvida para um usuário real no diretório do locatário | 400 | alertRecipientNotFound |
| Fornecimento de um campo gerenciado pelo servidor no PATCH | 400 | invalidRequest |
Obsoleto If-Match em uma operação de mutação |
412 | preconditionFailed |
| Transição de estado simultânea conflitante | 409 | invalidTransition |
| O avaliador upstream falhou para cada serviço, portanto, nenhuma linha de saldo pôde ser produzida | 503 | sourceUnavailable |
| Limitação de API | 429 | tooManyRequests |