Namespace: microsoft.graph.security.caseManagement
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Aktualisieren Sie die Eigenschaften eines microsoft.graph.security.caseManagement.case-Objekts .
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
CaseManagement.ReadWrite.All |
Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
CaseManagement.ReadWrite.All |
Nicht verfügbar. |
Wichtig
Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen gewährt. Diese API unterstützt die folgenden integrierten Rollen:
- Globaler Leser
- Sicherheitsleseberechtigter
- Sicherheitsoperator
- Sicherheitsadministrator
HTTP-Anforderung
PATCH /security/caseManagement/cases/{caseId}
Anforderungstext
Geben Sie im Anforderungstext nur die Werte für die zu aktualisierenden Eigenschaften an. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.
In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.
Stellen Sie eine JSON-Darstellung der Ressource bereit. Bei polymorphen Ressourcen muss der konkrete Falltyp angegeben @odata.type werden. Die Eigenschaften, die aktualisiert werden können, hängen vom Falltyp ab.
Um customFields zu aktualisieren, rufen Sie List customFields bei /security/caseManagement/caseTypeConfigurations/{caseTypeConfigurationId}/customFieldsauf, wobei {caseTypeConfigurationId} der Groß-/Kleinschreibungstyp übereinstimmt. Verwenden Sie als dynamischen Eigenschaftsnamen den displayName jeder Definition, nicht ihre ID. Der Name muss genau mit einer Definition übereinstimmen. Jeder dynamische Wert muss ein Objekt sein, das den zugeordneten Beton @odata.type und den entsprechenden Wert, die Werte oder die valueDateTime-Eigenschaft aus der Wertzuordnung des benutzerdefinierten Felds enthält. Nackte Werte werden nicht unterstützt.
Für genericCase-Objekte können alle Eigenschaften mit Ausnahme idvon , createdBy, createdDateTime, lastModifiedByund lastModifiedDateTime, die von caseManagementEntity geerbt werden, aktualisiert werden. Die API ignoriert diese Eigenschaften, wenn Sie sie in den Anforderungstext einschließen.
Die folgenden Eigenschaften können für alle Falltypen aktualisiert werden.
| Eigenschaft |
Typ |
Beschreibung |
| displayName |
Zeichenfolge |
Der Anzeigename des Falls. |
| status |
Zeichenfolge |
Der vom Mandanten definierte Lebenszyklus-Status des falls. Verwenden Sie einen displayName-Wert, der in der status Struktur zurückgegeben wird, indem Sie Status von /security/caseManagement/caseTypeConfigurations/genericCase/statuses oder /security/caseManagement/caseTypeConfigurations/incidentCase/statusesauflisten, je nach Groß-/Kleinschreibung. |
Für genericCase-Objekte können Sie auch die folgenden Eigenschaften aktualisieren.
| Eigenschaft |
Typ |
Beschreibung |
| assignedTo |
Zeichenfolge |
Der Benutzer, der dem generischen Fall zugewiesen ist. |
| closing Notes |
Zeichenfolge |
Notizen, die aufgezeichnet werden, wenn der generische Fall geschlossen wird. |
| customFields |
microsoft.graph.security.caseManagement.customFieldValues |
Vom Mandanten definierte benutzerdefinierte Feldwerte, die mit dem exakten displayName jeder benutzerdefinierten Felddefinition eingegeben werden. |
| description |
Zeichenfolge |
Die Beschreibung des generischen Falles. |
| dueDateTime |
DateTimeOffset |
Das Zieldatum und die Uhrzeit des Abschlusses für den generischen Fall. |
| priority |
Zeichenfolge |
Die Priorität, die dem generischen Fall zugewiesen ist. Mögliche Werte sind: veryLow, low, medium, highund critical. |
Für IncidentCase-Objekte werden die folgenden Eigenschaften mit dem zugrunde liegenden Incident synchronisiert. Eine PATCH-Anfrage, die eine dieser Eigenschaften enthält, wird ohne Antworttext zurückgegeben 202 Accepted . Es kann einige Minuten dauern, bis die Änderungen synchronisiert und für den Fall angezeigt werden.
Die folgenden Eigenschaften von Incidentfällen werden nicht mit dem zugrunde liegenden Incident synchronisiert. Eine PATCH-Anforderung, die nur diese Eigenschaften aktualisiert, wird mit dem aktualisierten incidentCase-Objekt im Antworttext zurückgegeben200 OK.
| Eigenschaft |
Typ |
Beschreibung |
| customFields |
microsoft.graph.security.caseManagement.customFieldValues |
Vom Mandanten definierte benutzerdefinierte Feldwerte, die mit dem exakten displayName jeder benutzerdefinierten Felddefinition eingegeben werden. |
| dueDateTime |
DateTimeOffset |
Das Zieldatum und die Uhrzeit des Abschlusses für den Incidentfall. |
Wenn eine PATCH-Anfrage Eigenschaften aus beiden Gruppen enthält, wird die Methode ohne Antworttext zurückgegeben 202 Accepted .
Antwort
Bei erfolgreicher Ausführung gibt diese Methode einen der folgenden Antwortcodes zurück:
Beispiele
Beispiel 1: Aktualisieren eines generischen Falls
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/beta/security/caseManagement/cases/{caseId}
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.security.caseManagement.genericCase",
"displayName": "Case MS-001",
"status": "Open",
"description": "Investigating potential credential compromise.",
"assignedTo": "john.doe@contoso.com",
"priority": "high",
"dueDateTime": "2026-06-29T17:54:43Z",
"closingNotes": "Follow up with the account owner.",
"customFields": {
"Customer impact": {
"@odata.type": "#microsoft.graph.security.caseManagement.customFieldStringValue",
"value": "Multiple executive mailboxes affected"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.Security.CaseManagement;
var requestBody = new GenericCase
{
OdataType = "#microsoft.graph.security.caseManagement.genericCase",
DisplayName = "Case MS-001",
Status = "Open",
Description = "Investigating potential credential compromise.",
AssignedTo = "john.doe@contoso.com",
Priority = "high",
DueDateTime = DateTimeOffset.Parse("2026-06-29T17:54:43Z"),
ClosingNotes = "Follow up with the account owner.",
CustomFields = new CustomFieldValues
{
AdditionalData = new Dictionary<string, object>
{
{
"Customer impact" , new CustomFieldStringValue
{
OdataType = "#microsoft.graph.security.caseManagement.customFieldStringValue",
Value = "Multiple executive mailboxes affected",
}
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Security.CaseManagement.Cases["{case-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodelssecuritycasemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/models/security/casemanagement"
//other-imports
)
requestBody := graphmodelssecuritycasemanagement.NewCase()
displayName := "Case MS-001"
requestBody.SetDisplayName(&displayName)
status := "Open"
requestBody.SetStatus(&status)
description := "Investigating potential credential compromise."
requestBody.SetDescription(&description)
assignedTo := "john.doe@contoso.com"
requestBody.SetAssignedTo(&assignedTo)
priority := "high"
requestBody.SetPriority(&priority)
dueDateTime , err := time.Parse(time.RFC3339, "2026-06-29T17:54:43Z")
requestBody.SetDueDateTime(&dueDateTime)
closingNotes := "Follow up with the account owner."
requestBody.SetClosingNotes(&closingNotes)
customFields := graphmodelssecuritycasemanagement.NewCustomFieldValues()
additionalData := map[string]interface{}{
customer impact := graphmodelssecuritycasemanagement.NewCustomFieldStringValue()
value := "Multiple executive mailboxes affected"
customer impact.SetValue(&value)
customFields.SetCustomer impact(customer impact)
}
customFields.SetAdditionalData(additionalData)
requestBody.SetCustomFields(customFields)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
cases, err := graphClient.Security().CaseManagement().Cases().ByCaseId("case-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.security.casemanagement.GenericCase caseEscaped = new com.microsoft.graph.beta.models.security.casemanagement.GenericCase();
caseEscaped.setOdataType("#microsoft.graph.security.caseManagement.genericCase");
caseEscaped.setDisplayName("Case MS-001");
caseEscaped.setStatus("Open");
caseEscaped.setDescription("Investigating potential credential compromise.");
caseEscaped.setAssignedTo("john.doe@contoso.com");
caseEscaped.setPriority("high");
OffsetDateTime dueDateTime = OffsetDateTime.parse("2026-06-29T17:54:43Z");
caseEscaped.setDueDateTime(dueDateTime);
caseEscaped.setClosingNotes("Follow up with the account owner.");
com.microsoft.graph.beta.models.security.casemanagement.CustomFieldValues customFields = new com.microsoft.graph.beta.models.security.casemanagement.CustomFieldValues();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
com.microsoft.graph.beta.models.security.casemanagement.CustomFieldStringValue customerImpact = new com.microsoft.graph.beta.models.security.casemanagement.CustomFieldStringValue();
customerImpact.setOdataType("#microsoft.graph.security.caseManagement.customFieldStringValue");
customerImpact.setValue("Multiple executive mailboxes affected");
additionalData.put("Customer impact", customerImpact);
customFields.setAdditionalData(additionalData);
caseEscaped.setCustomFields(customFields);
com.microsoft.graph.models.security.casemanagement.Case result = graphClient.security().caseManagement().cases().byCaseId("{case-id}").patch(caseEscaped);
const options = {
authProvider,
};
const client = Client.init(options);
const _case = {
'@odata.type': '#microsoft.graph.security.caseManagement.genericCase',
displayName: 'Case MS-001',
status: 'Open',
description: 'Investigating potential credential compromise.',
assignedTo: 'john.doe@contoso.com',
priority: 'high',
dueDateTime: '2026-06-29T17:54:43Z',
closingNotes: 'Follow up with the account owner.',
customFields: {
'Customer impact': {
'@odata.type': '#microsoft.graph.security.caseManagement.customFieldStringValue',
value: 'Multiple executive mailboxes affected'
}
}
};
await client.api('/security/caseManagement/cases/{caseId}')
.version('beta')
.update(_case);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\GenericCase;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\CustomFieldValues;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\CustomFieldStringValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GenericCase();
$requestBody->setOdataType('#microsoft.graph.security.caseManagement.genericCase');
$requestBody->setDisplayName('Case MS-001');
$requestBody->setStatus('Open');
$requestBody->setDescription('Investigating potential credential compromise.');
$requestBody->setAssignedTo('john.doe@contoso.com');
$requestBody->setPriority('high');
$requestBody->setDueDateTime(new \DateTime('2026-06-29T17:54:43Z'));
$requestBody->setClosingNotes('Follow up with the account owner.');
$customFields = new CustomFieldValues();
$additionalData = [
'Customer impact' => [
'@odata.type' => '#microsoft.graph.security.caseManagement.customFieldStringValue',
'value' => 'Multiple executive mailboxes affected',
],
];
$customFields->setAdditionalData($additionalData);
$requestBody->setCustomFields($customFields);
$result = $graphServiceClient->security()->caseManagement()->cases()->byCaseId('case-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Security
$params = @{
"@odata.type" = "#microsoft.graph.security.caseManagement.genericCase"
displayName = "Case MS-001"
status = "Open"
description = "Investigating potential credential compromise."
assignedTo = "john.doe@contoso.com"
priority = "high"
dueDateTime = "2026-06-29T17:54:43Z"
closingNotes = "Follow up with the account owner."
customFields = @{
"Customer impact" = @{
"@odata.type" = "#microsoft.graph.security.caseManagement.customFieldStringValue"
value = "Multiple executive mailboxes affected"
}
}
}
Update-MgBetaSecurityCaseManagementCase -CaseId $caseId -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.security.case_management.generic_case import GenericCase
from msgraph_beta.generated.models.security.case_management.custom_field_values import CustomFieldValues
from msgraph_beta.generated.models.security.case_management.custom_field_string_value import CustomFieldStringValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GenericCase(
odata_type = "#microsoft.graph.security.caseManagement.genericCase",
display_name = "Case MS-001",
status = "Open",
description = "Investigating potential credential compromise.",
assigned_to = "john.doe@contoso.com",
priority = "high",
due_date_time = "2026-06-29T17:54:43Z",
closing_notes = "Follow up with the account owner.",
custom_fields = CustomFieldValues(
additional_data = {
"customer impact" : {
"@odata_type" : "#microsoft.graph.security.caseManagement.customFieldStringValue",
"value" : "Multiple executive mailboxes affected",
},
}
),
)
result = await graph_client.security.case_management.cases.by_case_id('case-id').patch(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.security.caseManagement.genericCase",
"id": "987757fb-6ef4-1061-17e7-9de0d088e1dd",
"createdDateTime": "2026-05-20T11:12:28Z",
"createdBy": "user@contoso.com",
"lastModifiedDateTime": "2026-05-20T11:18:45Z",
"lastModifiedBy": "user@contoso.com",
"displayName": "Case MS-001",
"status": "Open",
"description": "Investigating potential credential compromise.",
"assignedTo": "john.doe@contoso.com",
"priority": "high",
"dueDateTime": "2026-06-29T17:54:43Z",
"closingNotes": "Follow up with the account owner.",
"customFields": {
"Customer impact": {
"@odata.type": "#microsoft.graph.security.caseManagement.customFieldStringValue",
"value": "Multiple executive mailboxes affected"
}
}
}
Beispiel 2: Aktualisieren synchronisierter Incidentfalleigenschaften
Anforderung
Im folgenden Beispiel werden Eigenschaften aktualisiert, die mit dem zugrunde liegenden Incident synchronisiert werden.
PATCH https://graph.microsoft.com/beta/security/caseManagement/cases/{caseId}
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.security.caseManagement.incidentCase",
"displayName": "Incident Case MS-002",
"status": "InProgress",
"classification": "truePositive",
"determination": "phishing",
"severity": "high"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.Security.CaseManagement;
var requestBody = new IncidentCase
{
OdataType = "#microsoft.graph.security.caseManagement.incidentCase",
DisplayName = "Incident Case MS-002",
Status = "InProgress",
Classification = IncidentClassification.TruePositive,
Determination = IncidentDetermination.Phishing,
Severity = IncidentSeverity.High,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Security.CaseManagement.Cases["{case-id}"].PatchAsync(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"
graphmodelssecuritycasemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/models/security/casemanagement"
//other-imports
)
requestBody := graphmodelssecuritycasemanagement.NewCase()
displayName := "Incident Case MS-002"
requestBody.SetDisplayName(&displayName)
status := "InProgress"
requestBody.SetStatus(&status)
classification := graphmodels.TRUEPOSITIVE_INCIDENTCLASSIFICATION
requestBody.SetClassification(&classification)
determination := graphmodels.PHISHING_INCIDENTDETERMINATION
requestBody.SetDetermination(&determination)
severity := graphmodels.HIGH_INCIDENTSEVERITY
requestBody.SetSeverity(&severity)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
cases, err := graphClient.Security().CaseManagement().Cases().ByCaseId("case-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.security.casemanagement.IncidentCase caseEscaped = new com.microsoft.graph.beta.models.security.casemanagement.IncidentCase();
caseEscaped.setOdataType("#microsoft.graph.security.caseManagement.incidentCase");
caseEscaped.setDisplayName("Incident Case MS-002");
caseEscaped.setStatus("InProgress");
caseEscaped.setClassification(com.microsoft.graph.beta.models.security.casemanagement.IncidentClassification.TruePositive);
caseEscaped.setDetermination(com.microsoft.graph.beta.models.security.casemanagement.IncidentDetermination.Phishing);
caseEscaped.setSeverity(com.microsoft.graph.beta.models.security.casemanagement.IncidentSeverity.High);
com.microsoft.graph.models.security.casemanagement.Case result = graphClient.security().caseManagement().cases().byCaseId("{case-id}").patch(caseEscaped);
const options = {
authProvider,
};
const client = Client.init(options);
const _case = {
'@odata.type': '#microsoft.graph.security.caseManagement.incidentCase',
displayName: 'Incident Case MS-002',
status: 'InProgress',
classification: 'truePositive',
determination: 'phishing',
severity: 'high'
};
await client.api('/security/caseManagement/cases/{caseId}')
.version('beta')
.update(_case);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\IncidentCase;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\IncidentClassification;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\IncidentDetermination;
use Microsoft\Graph\Beta\Generated\Models\Security\CaseManagement\IncidentSeverity;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IncidentCase();
$requestBody->setOdataType('#microsoft.graph.security.caseManagement.incidentCase');
$requestBody->setDisplayName('Incident Case MS-002');
$requestBody->setStatus('InProgress');
$requestBody->setClassification(new IncidentClassification('truePositive'));
$requestBody->setDetermination(new IncidentDetermination('phishing'));
$requestBody->setSeverity(new IncidentSeverity('high'));
$result = $graphServiceClient->security()->caseManagement()->cases()->byCaseId('case-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Security
$params = @{
"@odata.type" = "#microsoft.graph.security.caseManagement.incidentCase"
displayName = "Incident Case MS-002"
status = "InProgress"
classification = "truePositive"
determination = "phishing"
severity = "high"
}
Update-MgBetaSecurityCaseManagementCase -CaseId $caseId -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.security.case_management.incident_case import IncidentCase
from msgraph_beta.generated.models.incident_classification import IncidentClassification
from msgraph_beta.generated.models.incident_determination import IncidentDetermination
from msgraph_beta.generated.models.incident_severity import IncidentSeverity
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IncidentCase(
odata_type = "#microsoft.graph.security.caseManagement.incidentCase",
display_name = "Incident Case MS-002",
status = "InProgress",
classification = IncidentClassification.TruePositive,
determination = IncidentDetermination.Phishing,
severity = IncidentSeverity.High,
)
result = await graph_client.security.case_management.cases.by_case_id('case-id').patch(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted