Skip to content

Commit 672ea34

Browse files
committed
2 parents 7e1b2f0 + 9c4abff commit 672ea34

68 files changed

Lines changed: 1694 additions & 253 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/prompts/author-api-docs.prompt.md

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,18 @@ Once the author responds, follow the appropriate workflow below.
3030

3131
## Common Setup and Processes
3232

33-
The following sections describe setup steps and processes that are common to both documentation scenarios. Reference these sections as needed during your workflow.
33+
The following sections describe setup steps and processes that are common to all documentation scenarios. Reference these sections as needed during your workflow.
34+
35+
### Source Priority for Conflict Resolution
36+
37+
When information conflicts between sources, use this priority order:
38+
39+
1. **Documentation Plan** (highest authority — defines scope and intent of the changes)
40+
2. **API.md** (authoritative for API behavior and descriptions)
41+
3. **Doc stubs** (structural template — use for metadata, types, and autogenerated content)
42+
4. **Existing documentation** (reference for patterns and consistency)
43+
44+
If a conflict is significant, flag it to the author in the final summary but follow the priority order above to proceed without blocking.
3445

3546
### Common Setup: Verify Working Branch
3647

@@ -63,13 +74,13 @@ How to determine values to replace TODO placeholders in the following front matt
6374
Before beginning any documentation process, instruct the author to add all required files to the `temp-docstubs` folder in this workspace:
6475

6576
**For Scenario 1 (Fresh APIs / beta changes):**
66-
- Autogenerated doc stubs (*.md files from Graph Studio)
77+
- Autogenerated doc stubs (*.md files)
6778
- API.md file describing the capabilities being added/changed
6879
- Autogenerated changelog file (changelog_*.json)
6980

7081
**For Scenario 2 (Promotion from beta to v1.0):**
7182
- Documentation Plan documenting what is being promoted
72-
- **Optional:**Autogenerated doc stubs (*.md files from Graph Studio for v1.0)
83+
- **Optional:** Autogenerated doc stubs (*.md files for v1.0)
7384
- Autogenerated changelog file (changelog_*.json)
7485

7586
**Important notes about temp-docstubs:**
@@ -113,7 +124,7 @@ After authoring documentation, update the appropriate changelog file in the `cha
113124
- **IMPORTANT:** A changelog record is NOT just the ChangeList array. A complete changelog record consists of:
114125
- `ChangeList` array (containing individual change items)
115126
- `Id` (unique GUID for this set of changes)
116-
- `Cloud` (e.g., "Prod")
127+
- `Cloud` (always "Prod"; older records may say "prd" but use "Prod" for new entries)
117128
- `Version` (e.g., "beta" or "v1.0")
118129
- `CreatedDateTime` (ISO 8601/RFC 3339 DateTime with fractional seconds and Z suffix)
119130
- `WorkloadArea` (e.g., "Security")
@@ -396,9 +407,19 @@ Fully qualify any type (including enum types) that is defined in a subnamespace
396407

397408
**Beta disclaimer:**
398409
- All beta documentation must include the beta disclaimer immediately after the namespace declaration
399-
- Use the standard boilerplate text for beta disclaimers
410+
- Use the following include statement for beta disclaimers:
411+
```
412+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
413+
```
400414
- Remove beta disclaimer when promoting to v1.0
401415

416+
**National cloud include statement:**
417+
- API method files in beta include an autogenerated national cloud support statement immediately before the `## Permissions` header. Example include statement for all clouds support:
418+
```
419+
[!INCLUDE [national-cloud-support](../../includes/all-clouds.md)]
420+
```
421+
- Remove this include statement when promoting to v1.0
422+
402423
---
403424

404425
## Scenario 1: Author fresh APIs / fresh API changes to beta
@@ -408,7 +429,7 @@ Fully qualify any type (including enum types) that is defined in a subnamespace
408429
**See [Common Setup: temp-docstubs Folder](#common-setup-temp-docstubs-folder)** for instructions on setting up the temp-docstubs folder.
409430

410431
For this scenario, the author should add these files to `temp-docstubs`:
411-
- Autogenerated doc stubs (*.md files from Graph Studio)
432+
- Autogenerated doc stubs (*.md files)
412433
- API.md file describing the capabilities being added/changed
413434
- Autogenerated changelog file (changelog_*.json)
414435

@@ -520,7 +541,7 @@ After gathering all inputs, analyze the Documentation Plan to understand the ful
520541

521542
For this scenario, the author should add these files to `temp-docstubs`:
522543
- Documentation Plan documenting what is being promoted
523-
- **Optional:**Autogenerated doc stubs (*.md files from Graph Studio for v1.0)
544+
- **Optional:** Autogenerated doc stubs (*.md files for v1.0)
524545
- Autogenerated changelog file (changelog_*.json)
525546

526547
#### Input 1: Documentation Plan
@@ -1000,7 +1021,7 @@ Based on the documentation plan, the work will fall into two categories:
10001021
- **Target locations:**
10011022
- API method files go in `${workspaceFolder}/api-reference/beta/api/` or `${workspaceFolder}/api-reference/v1.0/api/`
10021023
- Resource files go in `${workspaceFolder}/api-reference/beta/resources/` or `${workspaceFolder}/api-reference/v1.0/resources/`
1003-
- Permissions files go in `${workspaceFolder}/api-reference/beta/includes/permissions/` or `${workspaceFolder}/api-reference/v1.0/includespermissions/`
1024+
- Permissions files go in `${workspaceFolder}/api-reference/beta/includes/permissions/` or `${workspaceFolder}/api-reference/v1.0/includes/permissions/`
10041025

10051026
### 2. Updates to existing reference files
10061027
- **Source:** Existing files in the microsoft-graph-docs repository
@@ -1151,7 +1172,7 @@ When authoring or updating documentation, ensure compliance with these standards
11511172
- CRUD operations: List, Create, Get, Update, Delete
11521173
- Actions/functions: Use name without binding parameter
11531174
- For update operations, verify the return type: If the response is a `204` response code, the return type column should say "None"; it should not list a resource type
1154-
-Root resources might not have any properties or methods; the sections should still be present with "None." as the content
1175+
- Root resources might not have any properties or methods; the sections should still be present with "None." as the content
11551176
- Document any navigation properties in the Relationships section
11561177

11571178
**Properties:**
@@ -1249,7 +1270,11 @@ Before working on any file, apply these rules to both resource and API files:
12491270
4. **Methods table:**
12501271
- **For Entity Type resources:**
12511272
- Only Entity Type resources might have a Methods table, but not always
1252-
- {to be filled later}
1273+
- Consult the Documentation Plan and API.md to determine which operations (List, Create, Get, Update, Delete, actions, functions) are supported for this resource
1274+
- Add only the supported methods to the Methods table using the format from the autogenerated doc stub
1275+
- Use succinct method names (avoid repeating the resource name); for CRUD operations use: List, Create, Get, Update, Delete
1276+
- For actions and functions, use a friendly operation name, not the title of the API operation file. For example, instead of "ediscoveryHoldPolicy: retryPolicy", use "Retry hold policy". Avoid duplicating the resource name in the method name
1277+
- If no methods are supported for this resource, use "None." as the content of the Methods section
12531278
- **For Complex Type resources:**
12541279
- These have the text "None." instead of a Methods table
12551280

@@ -1352,10 +1377,12 @@ Before working on any file, apply these rules to both resource and API files:
13521377
- **Note:** Type references in tables should follow [Reference Standards: Namespace Qualification](#reference-standards-namespace-qualification)
13531378

13541379
8. **Response section:**
1355-
- Leave it mostly unchanged
1380+
- Preserve the autogenerated response structure, status codes, and return types; do not rewrite or reformat these elements
1381+
- Only modify the Response section to:
1382+
- Add error-related information or special response-related notes documented in the API.md or Documentation Plan
1383+
- Fix inaccuracies if the return type or status code doesn't match the API.md
13561384
- **Note:** Return types should follow [Reference Standards: Namespace Qualification](#reference-standards-namespace-qualification)
1357-
- Call out any special error-related information or response-related information
1358-
- Example: An API that returns multiple object types might return an `@odata.type` property for each object to help differentiate each object type in the collection
1385+
- Example: An API that returns multiple object types might return an `@odata.type` property for each object to help differentiate each object type in the collection
13591386

13601387
9. **Examples section:**
13611388
- Follow HTTP-only example formatting (see [Common Process: Handling Code Snippets in Examples](#common-process-handling-code-snippets-in-examples))
@@ -1617,29 +1644,6 @@ Create a dedicated topic for the enumeration. This option is rarely applicable.
16171644
- Update introductory text (for Options 2 & 3) to list the new members that require the header
16181645
- Update inline descriptions to include the new members in the header note
16191646

1620-
- Identify what needs to be changed based on the API changes summary
1621-
- Review API.md file(s) for additional context
1622-
- Check for consistency with related files
1623-
1624-
2. **Make targeted changes:**
1625-
- Update only what's necessary according to the changes summary
1626-
- Preserve existing formatting and structure
1627-
- Maintain compliance with standards
1628-
- Use information from API.md file(s) to inform updates
1629-
1630-
3. **Validate the changes:**
1631-
- Check the **Problems** window for markdown lint errors and correct them
1632-
- Verify all links point to existing files
1633-
- Ensure examples use pseudo-values not data types
1634-
- Confirm all required sections are present and in correct order
1635-
- If there are multiple blank lines in a row, replace them with a single blank line
1636-
1637-
4. **Review with user:**
1638-
- Summarize the changes made (both new files and updates)
1639-
- List all files that were copied or modified
1640-
- Confirm the updates meet their requirements
1641-
- Address any additional feedback
1642-
16431647
## Execution approach
16441648

16451649
1. **Parse the Documentation Plan:**
@@ -1955,7 +1959,7 @@ Before completing Scenario 4 tasks, verify:
19551959
- [ ] No markdown lint errors
19561960
- [ ] Changelog, What's new, and TOC mapping updated only if appropriate
19571961
- [ ] Validation completed (see [Common Process: Validation](#common-process-validation))
1958-
- [ ] Summary of changes provided to author
1962+
- [ ] Documentation summary provided to author
19591963

19601964
---
19611965

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: "cloudPcExternalPartner: configureAgent"
3+
description: "Configure the agent setting of the cloudPcExternalPartner."
4+
author: "XunZhangSZ"
5+
ms.date: 01/21/2026
6+
ms.localizationpriority: medium
7+
ms.subservice: "cloud-pc"
8+
doc_type: apiPageType
9+
---
10+
11+
# cloudPcExternalPartner: configureAgent
12+
13+
Namespace: microsoft.graph
14+
15+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
16+
17+
Configure the [cloudPcExternalPartnerAgentSetting](../resources/cloudpcexternalpartneragentsetting.md) of the [cloudPcExternalPartner](../resources/cloudpcexternalpartner.md) object. This setting is used for RMM partner agent installation. RMM partners must contact the Microsoft team to complete onboarding and add the agent URL prefix to the allow list before using this API. If `autoDeploymentEnabled` is enabled, the new provisioned Cloud PC is triggered agent deployment automatically. Currently supports only Windows 365 Business Cloud PC.
18+
19+
[!INCLUDE [national-cloud-support](../../includes/global-only.md)]
20+
21+
## Permissions
22+
23+
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions [only if your app requires it](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference).
24+
25+
<!-- {
26+
"blockType": "permissions",
27+
"name": "cloudpcexternalpartner-configureagent-permissions"
28+
}
29+
-->
30+
[!INCLUDE [permissions-table](../includes/permissions/cloudpcexternalpartner-configureagent-permissions.md)]
31+
32+
## HTTP request
33+
34+
<!-- {
35+
"blockType": "ignored"
36+
}
37+
-->
38+
``` http
39+
POST /deviceManagement/virtualEndpoint/externalPartners/{cloudPcExternalPartnerId}/configureAgent
40+
```
41+
42+
## Request headers
43+
44+
|Name|Description|
45+
|:---|:---|
46+
|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).|
47+
|Content-Type|application/json. Required.|
48+
49+
## Request body
50+
51+
In the request body, supply a JSON representation of the parameters.
52+
53+
The following table lists the parameters that are required when you call this action.
54+
55+
|Parameter|Type|Description|
56+
|:---|:---|:---|
57+
|agentSetting|[cloudPcExternalPartnerAgentSetting](../resources/cloudpcexternalpartneragentsetting.md)|The agent settings associated with the external partner.|
58+
59+
60+
## Response
61+
62+
If successful, this action returns a `204 No Content` response code.
63+
64+
## Examples
65+
66+
### Request
67+
68+
The following example shows a request.
69+
<!-- {
70+
"blockType": "request",
71+
"name": "cloudpcexternalpartnerthis.configureagent"
72+
}
73+
-->
74+
``` http
75+
POST https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/externalPartners/b3548526-e615-3785-3118-be70b3968ec5/configureAgent
76+
Content-Type: application/json
77+
78+
{
79+
"agentSetting": {
80+
"agentUrl": "https://rmmExample.microsoft.com/agent/rmmExampleAgent.msi",
81+
"agentSha256": "EC6AF1EA0367D16DDE6639A89A080A524CEBC4D4BEDFE00ED0CAC4B865A918D8",
82+
"installParameters": [
83+
"/quiet",
84+
"/norestart",
85+
"TOKENID=e69c1577-d465-4e57-af33-0ddea43feeb1"
86+
],
87+
"autoDeploymentEnabled": true
88+
}
89+
}
90+
```
91+
92+
### Response
93+
94+
The following example shows the response.
95+
>**Note:** The response object shown here might be shortened for readability.
96+
<!-- {
97+
"blockType": "response",
98+
"truncated": true
99+
}
100+
-->
101+
``` http
102+
HTTP/1.1 204 No Content
103+
```
104+
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
title: "cloudPcExternalPartner: deployAgent"
3+
description: "Trigger agent deployment for a set of Windows 365 Cloud PCs that provisioned."
4+
author: "XunZhangSZ"
5+
ms.date: 01/21/2026
6+
ms.localizationpriority: medium
7+
ms.subservice: "cloud-pc"
8+
doc_type: apiPageType
9+
---
10+
11+
# cloudPcExternalPartner: deployAgent
12+
13+
Namespace: microsoft.graph
14+
15+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
16+
17+
Trigger agent deployment for a set of Windows 365 Cloud PCs that are provisioned, and return an activity ID. This API is supported when the connection is enabled and the agent setting is configured. Currently, only support Windows 365 business Cloud PC.
18+
19+
[!INCLUDE [national-cloud-support](../../includes/global-only.md)]
20+
21+
## Permissions
22+
23+
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions [only if your app requires it](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference).
24+
25+
<!-- {
26+
"blockType": "permissions",
27+
"name": "cloudpcexternalpartner-deployagent-permissions"
28+
}
29+
-->
30+
[!INCLUDE [permissions-table](../includes/permissions/cloudpcexternalpartner-deployagent-permissions.md)]
31+
32+
## HTTP request
33+
34+
<!-- {
35+
"blockType": "ignored"
36+
}
37+
-->
38+
``` http
39+
POST /deviceManagement/virtualEndpoint/externalPartners/{cloudPcExternalPartnerId}/deployAgent
40+
```
41+
42+
## Request headers
43+
44+
|Name|Description|
45+
|:---|:---|
46+
|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).|
47+
|Content-Type|application/json. Required.|
48+
49+
## Request body
50+
51+
In the request body, supply a JSON representation of the parameters.
52+
53+
The following table lists the parameters that are required when you call this action.
54+
55+
|Parameter|Type|Description|
56+
|:---|:---|:---|
57+
|cloudPcIds|String collection|The selected Cloud PC ID list to be deployed. The min count is 1 and the max count is 50.|
58+
59+
60+
61+
## Response
62+
63+
If successful, this action returns a `200 OK` response code and a String in the response body.
64+
65+
## Examples
66+
67+
### Request
68+
69+
The following example shows a request.
70+
<!-- {
71+
"blockType": "request",
72+
"name": "cloudpcexternalpartnerthis.deployagent"
73+
}
74+
-->
75+
``` http
76+
POST https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/externalPartners/b3548526-e615-3785-3118-be70b3968ec5/deployAgent
77+
Content-Type: application/json
78+
79+
{
80+
"cloudPcIds": [
81+
"30d0e128-de93-41dc-89ec-33d84bb662a0",
82+
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"
83+
]
84+
}
85+
```
86+
87+
88+
### Response
89+
90+
The following example shows the response.
91+
>**Note:** The response object shown here might be shortened for readability.
92+
<!-- {
93+
"blockType": "response",
94+
"truncated": true,
95+
"@odata.type": "Edm.String"
96+
}
97+
-->
98+
``` http
99+
HTTP/1.1 200 OK
100+
Content-Type: application/json
101+
102+
{
103+
"value": "9adc7d86-6411-407e-b936-abfa0470dccf"
104+
}
105+
```
106+

0 commit comments

Comments
 (0)