From 513c4a32f9d73759197a0d38e83a2250704c2e93 Mon Sep 17 00:00:00 2001 From: Vipul <84970543+VipulMSFT@users.noreply.github.com> Date: Mon, 15 Jun 2026 13:02:30 +0530 Subject: [PATCH 1/2] Update simulation-update.md for requirement around simuation state Clarified simulation state as draft as required and updated description. --- api-reference/v1.0/api/simulation-update.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api-reference/v1.0/api/simulation-update.md b/api-reference/v1.0/api/simulation-update.md index 01e114ec776..8ec02cd9eb6 100644 --- a/api-reference/v1.0/api/simulation-update.md +++ b/api-reference/v1.0/api/simulation-update.md @@ -43,6 +43,8 @@ PATCH /security/attackSimulation/simulations/{simulationId} [!INCLUDE [table-intro](../../includes/update-property-table-intro.md)] +[!IMPORTANT] You can only update simulations that are in draft status. Simulations in any other state do not support updates. + |Property|Type|Description| |:---|:---|:---| |attackTechnique|[simulationAttackTechnique](../resources/simulation.md#simulationattacktechnique-values)|The social engineering technique used in the attack simulation and training campaign. Supports `$filter` and `$orderby`. The possible values are: `unknown`, `credentialHarvesting`, `attachmentMalware`, `driveByUrl`, `linkInAttachment`, `linkToMalwareFile`, `unknownFutureValue`, `oAuthConsentGrant`. Use the `Prefer: include-unknown-enum-members` request header to get the following values from this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `oAuthConsentGrant`. For more information about the types of social engineering attack techniques, see [simulations](/microsoft-365/security/office-365-security/attack-simulation-training-get-started?view=o365-worldwide&preserve-view=true#simulations).| @@ -51,12 +53,12 @@ PATCH /security/attackSimulation/simulations/{simulationId} |durationInDays|Int32|Simulation duration in days.| |excludedAccountTarget|[accountTargetContent](../resources/accounttargetcontent.md)|Users excluded from the simulation.| |includedAccountTarget|[accountTargetContent](../resources/accounttargetcontent.md)|Users targeted in the simulation.| -|payload|[payload](../resources/payload.md)|Payload associated with the simulation.| +|payload|[payload](../resources/payload.md)|Payload associated with the simulation. Required| |status|[simulationStatus](../resources/simulation.md#simulationstatus-values)|Status of the attack simulation and training campaign. Supports `$filter` and `$orderby`. The possible values are: `unknown`, `draft`, `running`, `scheduled`, `succeeded`, `failed`, `cancelled`, `excluded`, `unknownFutureValue`.| ## Response -If successful, this method returns a `202 Accepted` response code and a tracking header named `location` in the response. +This method returns a `202 Accepted` response code and a tracking header named `location` in the response that you should poll to determine the outcome of the operation. ## Examples From 2558c7bf20143d288b44e5eb3366ff2a005ec954 Mon Sep 17 00:00:00 2001 From: Faith Moraa Ombongi Date: Tue, 16 Jun 2026 12:51:20 +0300 Subject: [PATCH 2/2] Minor fixes --- api-reference/v1.0/api/simulation-update.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/api-reference/v1.0/api/simulation-update.md b/api-reference/v1.0/api/simulation-update.md index 8ec02cd9eb6..03cc5e02825 100644 --- a/api-reference/v1.0/api/simulation-update.md +++ b/api-reference/v1.0/api/simulation-update.md @@ -12,7 +12,7 @@ ms.date: 04/04/2024 Namespace: microsoft.graph -Update an attack simulation campaign for a tenant. +Update an [attack simulation campaign](../resources/simulation.md) for a tenant. You can only update simulations that are in `draft` status. [!INCLUDE [national-cloud-support](../../includes/global-only.md)] @@ -43,18 +43,16 @@ PATCH /security/attackSimulation/simulations/{simulationId} [!INCLUDE [table-intro](../../includes/update-property-table-intro.md)] -[!IMPORTANT] You can only update simulations that are in draft status. Simulations in any other state do not support updates. - |Property|Type|Description| |:---|:---|:---| |attackTechnique|[simulationAttackTechnique](../resources/simulation.md#simulationattacktechnique-values)|The social engineering technique used in the attack simulation and training campaign. Supports `$filter` and `$orderby`. The possible values are: `unknown`, `credentialHarvesting`, `attachmentMalware`, `driveByUrl`, `linkInAttachment`, `linkToMalwareFile`, `unknownFutureValue`, `oAuthConsentGrant`. Use the `Prefer: include-unknown-enum-members` request header to get the following values from this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `oAuthConsentGrant`. For more information about the types of social engineering attack techniques, see [simulations](/microsoft-365/security/office-365-security/attack-simulation-training-get-started?view=o365-worldwide&preserve-view=true#simulations).| -|attackType|[simulationAttackType](../resources/simulation.md#simulationattacktype-values)|Attack type of the attack simulation and training campaign. Supports `$filter` and `$orderby`. The possible values are: `unknown`, `social`, `cloud`, `endpoint`, `unknownFutureValue`.| +|attackType|[simulationAttackType](../resources/simulation.md#simulationattacktype-values)|Attack type of the attack simulation and training campaign. The possible values are: `unknown`, `social`, `cloud`, `endpoint`, `unknownFutureValue`.| |displayName|String|Display name of the attack simulation and training campaign. Supports `$filter` and `$orderby`.| |durationInDays|Int32|Simulation duration in days.| |excludedAccountTarget|[accountTargetContent](../resources/accounttargetcontent.md)|Users excluded from the simulation.| |includedAccountTarget|[accountTargetContent](../resources/accounttargetcontent.md)|Users targeted in the simulation.| -|payload|[payload](../resources/payload.md)|Payload associated with the simulation. Required| -|status|[simulationStatus](../resources/simulation.md#simulationstatus-values)|Status of the attack simulation and training campaign. Supports `$filter` and `$orderby`. The possible values are: `unknown`, `draft`, `running`, `scheduled`, `succeeded`, `failed`, `cancelled`, `excluded`, `unknownFutureValue`.| +|payload|[payload](../resources/payload.md)|Payload associated with the simulation. Required.| +|status|[simulationStatus](../resources/simulation.md#simulationstatus-values)|Status of the attack simulation and training campaign. The possible values are: `unknown`, `draft`, `running`, `scheduled`, `succeeded`, `failed`, `cancelled`, `excluded`, `unknownFutureValue`.| ## Response