diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json
index 788aa12..687496f 100644
--- a/specs/Data-Gateway.json
+++ b/specs/Data-Gateway.json
@@ -7,12 +7,21 @@
"name": "correlationId",
"required": true,
"schema": {
- "example": "1d71e0fe-6e4a-464d-a690-80addf3bda55",
+ "examples": [
+ "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid correlation Id": {
+ "summary": "Example valid correlation ID",
+ "description": "An example of a valid correlation ID in type UUID string.",
+ "value": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
}
},
"tenantId": {
@@ -21,12 +30,21 @@
"name": "tenantId",
"required": true,
"schema": {
- "example": "b2fd105a-2594-437e-b934-1a62a51c28b4",
+ "examples": [
+ "b2fd105a-2594-437e-b934-1a62a51c28b4"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid tenant Id": {
+ "summary": "Example valid tenant ID",
+ "description": "An example of a valid tenant ID in type UUID string.",
+ "value": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
}
},
"channelName": {
@@ -35,8 +53,17 @@
"name": "channelName",
"required": true,
"schema": {
- "example": "beta",
+ "examples": [
+ "beta"
+ ],
"type": "string"
+ },
+ "examples": {
+ "valid channel name": {
+ "summary": "Example valid channel name",
+ "description": "An example string of a valid channel name.",
+ "value": "stable"
+ }
}
},
"channelRing": {
@@ -45,9 +72,28 @@
"name": "number",
"required": true,
"schema": {
- "example": 1,
+ "examples": [
+ 1
+ ],
"type": "integer",
"minimum": 0
+ },
+ "examples": {
+ "valid channel ring": {
+ "summary": "Example valid channel ring",
+ "description": "An example integer that represents a valid channel ring.",
+ "value": 1
+ },
+ "minimum channel ring": {
+ "summary": "Example minimum channel ring",
+ "description": "An example integer that represents the minimum valid channel ring.",
+ "value": 0
+ },
+ "invalid channel ring": {
+ "summary": "Example invalid channel ring",
+ "description": "An example integer that represents an invalid channel ring, which is negative.",
+ "value": -1
+ }
}
},
"version": {
@@ -56,8 +102,17 @@
"name": "version",
"required": true,
"schema": {
- "example": "1.12.5",
+ "examples": [
+ "1.12.5"
+ ],
"type": "string"
+ },
+ "examples": {
+ "Valid version number": {
+ "summary": "Example valid version number",
+ "description": "An example string represents a valid semantic version number.",
+ "value": "1.2.3"
+ }
}
},
"parentId": {
@@ -66,12 +121,21 @@
"name": "parentId",
"required": false,
"schema": {
- "example": "3b241101-e2bb-4255-8caf-4136c566a962",
+ "examples": [
+ "3b241101-e2bb-4255-8caf-4136c566a962"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "Valid parent ID": {
+ "summary": "Example valid parent ID",
+ "description": "An example UUID string that represents a valid parent object ID.",
+ "value": "3b241101-e2bb-4255-8caf-4136c566a962"
+ }
}
},
"dateStart": {
@@ -80,9 +144,18 @@
"name": "dateStart",
"required": false,
"schema": {
- "example": "2025-01-01T00:00:00Z",
+ "examples": [
+ "2025-01-01T00:00:00Z"
+ ],
"format": "date-time",
"type": "string"
+ },
+ "examples": {
+ "Valid start date": {
+ "summary": "Example valid start date",
+ "description": "An example ISO8601 date string that represents a valid start date in a query.",
+ "value": "2025-01-01T00:00:00Z"
+ }
}
},
"dateEnd": {
@@ -91,16 +164,22 @@
"name": "dateEnd",
"required": false,
"schema": {
- "example": "2025-02-05T23:59:59Z",
+ "examples": [
+ "2025-02-05T23:59:59Z"
+ ],
"format": "date-time",
"type": "string"
+ },
+ "examples": {
+ "Valid end date": {
+ "summary": "Example valid end date",
+ "description": "An example ISO8601 date string that represents a valid end date in a query.",
+ "value": "2025-02-05T23:59:59Z"
+ }
}
}
},
"responses": {
- "204": {
- "description": "No content, operation was successful."
- },
"400": {
"description": "Invalid input!"
},
@@ -126,22 +205,30 @@
"properties": {
"authClient": {
"description": "Flag that indicates if the client side authentication validation is working or not.",
- "example": false,
+ "examples": [
+ false
+ ],
"type": "boolean"
},
"authServer": {
"description": "Flag that indicates if the server side authentication is working or not.",
- "example": true,
+ "examples": [
+ true
+ ],
"type": "boolean"
},
"bulkStorage": {
"description": "Flag that indicates if the bulk storage system is down (`false`) or not (`true`). False indicate the service is not working, true indicates the service is working.",
- "example": true,
+ "examples": [
+ true
+ ],
"type": "boolean"
},
"database": {
"description": "Flag that indicates if the ORM (Database) system is down (`false`) or not (`true`). False indicate the service is not working, true indicates the service is working.",
- "example": false,
+ "examples": [
+ false
+ ],
"type": "boolean"
}
},
@@ -152,25 +239,56 @@
"database"
],
"title": "Core System - Health Report",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "authClient": false,
+ "authServer": true,
+ "bulkStorage": true,
+ "database": false
+ }
+ ]
},
"Chat.OpenAIChatMessage": {
"title": "Chat - Message Record",
"description": "Object representing entity supplied to the AI agent or a response from the AI Agent",
- "example": {
- "role": "assistant",
- "content": "What are the available IDs?",
- "tool_calls": [
- {
- "id": "call_abc123",
- "type": "function",
- "function": {
- "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
- "name": "getCorrelationIDs"
+ "examples": [
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
}
- }
- ]
- },
+ ]
+ },
+ {
+ "name": "John Doe",
+ "role": "user",
+ "content": [
+ {
+ "text": "What are the available IDs?",
+ "type": "text"
+ }
+ ],
+ "tool_call_id": "call_abc123",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ }
+ ],
"type": "object",
"properties": {
"content": {
@@ -193,18 +311,36 @@
"type": "string",
"description": "The type of the content part"
}
- }
- }
+ },
+ "required": [
+ "text",
+ "type"
+ ]
+ },
+ "examples": [
+ [
+ {
+ "text": "What are the available IDs?",
+ "type": "text"
+ }
+ ]
+ ]
}
]
},
"role": {
"type": "string",
- "description": "The role of the messages author"
+ "description": "The role of the messages author",
+ "examples": [
+ "assistant"
+ ]
},
"name": {
"type": "string",
- "description": "An optional name for the participant"
+ "description": "An optional name for the participant",
+ "examples": [
+ "John Doe"
+ ]
},
"tool_calls": {
"type": "array",
@@ -214,7 +350,10 @@
"properties": {
"id": {
"type": "string",
- "description": "The ID of the tool call"
+ "description": "The ID of the tool call",
+ "examples": [
+ "call_abc121"
+ ]
},
"function": {
"type": "object",
@@ -222,24 +361,52 @@
"properties": {
"arguments": {
"type": "string",
- "description": "The arguments to call the function with"
+ "description": "The arguments to call the function with",
+ "examples": [
+ "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}"
+ ]
},
"name": {
"type": "string",
- "description": "The name of the function to call"
+ "description": "The name of the function to call",
+ "examples": [
+ "getCorrelationIDs"
+ ]
}
- }
+ },
+ "examples": [
+ {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ ]
},
"type": {
"type": "string",
- "description": "The type of the tool. Currently, only `function` is supported"
+ "description": "The type of the tool. Currently, only `function` is supported",
+ "examples": [
+ "function"
+ ]
}
- }
+ },
+ "examples": [
+ {
+ "id": "call_abc121",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ },
+ "type": "function"
+ }
+ ]
}
},
"tool_call_id": {
"type": "string",
- "description": "Tool call that this message is responding to"
+ "description": "Tool call that this message is responding to",
+ "examples": [
+ "call_abc123"
+ ]
}
},
"required": [
@@ -249,50 +416,64 @@
},
"LicenseReport.CorrelationRecord": {
"description": "Metadata that describes the execution session (run) that is used to tie/relate all of the license report together.",
- "example": {
- "auditTenantAccount": "priv-user@example.com",
- "correlationId": "9d838115-0868-45d4-b8a5-98adc1af7e42",
- "reportTenantAccount": "ent-user@example.com",
- "tenantId": "7e536189-b2dd-4c8b-98b1-9b174777883f",
- "createdAt": "2024-08-01T21:13:12.821Z",
- "updatedAt": "2024-08-01T21:13:12.821Z"
- },
+ "examples": [
+ {
+ "auditTenantAccount": "priv-user@example.com",
+ "correlationId": "9d838115-0868-45d4-b8a5-98adc1af7e42",
+ "reportTenantAccount": "ent-user@example.com",
+ "tenantId": "7e536189-b2dd-4c8b-98b1-9b174777883f",
+ "createdAt": "2024-08-01T21:13:12.821Z",
+ "updatedAt": "2024-08-01T21:13:12.821Z"
+ }
+ ],
"properties": {
"auditTenantAccount": {
"description": "The user account used to retrieve the license information in the tenant being audited.",
- "example": "admin-user@example.com",
+ "examples": [
+ "admin-user@example.com"
+ ],
"format": "email",
"type": "string"
},
"correlationId": {
"description": "The ID of the execution session (run) that is used to tie/relate all of the data together.",
- "example": "88da2253-758f-4135-9d37-64448c8b65c1",
+ "examples": [
+ "88da2253-758f-4135-9d37-64448c8b65c1"
+ ],
"format": "uuid",
"type": "string",
"pattern": "^\\w+-\\w+-\\w+-\\w+-\\w+$"
},
"reportTenantAccount": {
"description": "User account used to store/report the license report to the SHI Lab cloud service.",
- "example": "generic-user@example.com",
+ "examples": [
+ "generic-user@example.com"
+ ],
"format": "email",
"type": "string"
},
"tenantId": {
"description": "Unique ID of customer's Microsoft tenant that the license report is for.",
- "example": "0e1fe83f-a33f-4250-8546-225b8d45ae01",
+ "examples": [
+ "0e1fe83f-a33f-4250-8546-225b8d45ae01"
+ ],
"format": "uuid",
"type": "string",
"pattern": "^\\w+-\\w+-\\w+-\\w+-\\w+$"
},
"createdAt": {
"description": "Timestamp of when the report was created.",
- "example": "2024-08-01T21:12:22.148Z",
+ "examples": [
+ "2024-08-01T21:12:22.148Z"
+ ],
"format": "date-time",
"type": "string"
},
"updatedAt": {
"description": "Timestamp of when the report was last updated.",
- "example": "2024-08-01T21:12:22.148Z",
+ "examples": [
+ "2024-08-01T21:12:22.148Z"
+ ],
"format": "date-time",
"type": "string"
}
@@ -308,11 +489,25 @@
"properties": {
"assignedLicense": {
"additionalProperties": {
- "type": "integer",
- "nullable": true
+ "oneOf": [
+ {
+ "type": "integer",
+ "examples": [
+ 0
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
},
"description": "License assignment on the specified principal.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 0
+ }
+ ]
},
"assignedService": {
"additionalProperties": {
@@ -322,13 +517,32 @@
},
{
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "examples": [
+ 0
+ ]
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"description": "Service configuration assignment. This is used to record the set of principals that are \"benefiting\" from the service, regardless of license status.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 0,
+ "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null
+ },
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": false,
+ "Access Review": true,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ }
+ }
+ ]
},
"consumedService": {
"additionalProperties": {
@@ -338,13 +552,32 @@
},
{
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "examples": [
+ 0
+ ]
+ },
+ {
+ "type": "null"
}
- ],
- "nullable": true
+ ]
},
"description": "Usage telemetry retrieved for the service to indicate if the specific principal is consuming the service or not, regardless of license status.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": true,
+ "Access Review": false,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ }
+ },
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 0,
+ "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null
+ }
+ ]
}
},
"required": [
@@ -353,112 +586,125 @@
"consumedService"
],
"description": "Collection of principals that have had their in-use licenses and assigned licenses. Where the key is the principal ID and the value is the insights.",
- "example": {
- "assignedLicense": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": null,
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": null,
- "7159f980-6f83-4b67-bf41-e172b3ae1352": null
- },
- "assignedService": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
- "Conditional Access": false,
- "Access Review": true,
- "Entitlement Management": false,
- "Identity Protection": true
- },
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
- "Conditional Access": true,
- "Dynamic Group": false,
- "Group Naming": true,
- "On-Prem SSPR": false,
- "Group Expiration": true,
- "Provisioning Engine": true,
- "Enterprise State Roaming": false
- },
- "6511755b-c27d-4c66-a59e-b835e6b54e7f": null
- },
- "consumedService": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
- "Conditional Access": true,
- "Access Review": false,
- "Entitlement Management": false,
- "Identity Protection": true
+ "examples": [
+ {
+ "assignedLicense": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 0,
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": 1,
+ "7159f980-6f83-4b67-bf41-e172b3ae1352": 2
},
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
- "Conditional Access": true,
- "Dynamic Group": false,
- "Group Naming": true,
- "On-Prem SSPR": false,
- "Group Expiration": true,
- "Provisioning Engine": true,
- "Enterprise State Roaming": false
+ "assignedService": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": false,
+ "Access Review": true,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ },
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
+ "Conditional Access": true,
+ "Dynamic Group": false,
+ "Group Naming": true,
+ "On-Prem SSPR": false,
+ "Group Expiration": true,
+ "Provisioning Engine": true,
+ "Enterprise State Roaming": false
+ },
+ "6511755b-c27d-4c66-a59e-b835e6b54e7f": null
},
- "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null,
- "c90f1a25-e6cd-4163-ac6c-ca7616c585a9": null
+ "consumedService": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": true,
+ "Access Review": false,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ },
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
+ "Conditional Access": true,
+ "Dynamic Group": false,
+ "Group Naming": true,
+ "On-Prem SSPR": false,
+ "Group Expiration": true,
+ "Provisioning Engine": true,
+ "Enterprise State Roaming": false
+ },
+ "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null,
+ "c90f1a25-e6cd-4163-ac6c-ca7616c585a9": null
+ }
}
- },
+ ],
"title": "License Report - License Data"
},
"LicenseReport.FeatureBreakdown": {
"additionalProperties": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
},
"description": "List of features that are configured for the specific service plan's service configuration for the related principal.\nThe key is the name of the feature that is being described.\nThe value is the state of the feature configuration, `true` is in scope and `false` meaning not in scope.",
- "example": {
- "Conditional Access": true,
- "Access Reviews": true,
- "Dynamic Groups": false,
- "On-Prem Password Rest": true,
- "On-Prem Password Protection": false
- },
+ "examples": [
+ {
+ "Conditional Access": true,
+ "Access Reviews": true,
+ "Dynamic Groups": false,
+ "On-Prem Password Rest": true,
+ "On-Prem Password Protection": false
+ }
+ ],
"title": "License Report - Feature Breakdown",
"type": "object"
},
"LicenseReport": {
"description": "Completely calculated license report structure that is the result of a complete run.",
- "example": {
- "availableLicense": {
- "e17b13ee-9749-488b-9289-d31a8fde045d": 123,
- "2d995b6a-d4aa-4d8d-a03c-372ecb66509d": 456,
- "cbf6ee7c-c3c1-44a6-9f18-020c65536470": 789
- },
- "correlation": {
- "auditTenantAccount": "admin-user@example.com",
- "correlationId": "88da2253-758f-4135-9d37-64448c8b65c1",
- "reportTenantAccount": "generic-user@example.com",
- "tenantId": "0e1fe83f-a33f-4250-8546-225b8d45ae01"
- },
- "licenseData": {
- "250844e1-a7ab-4f21-8e3f-58f51b5983a3": {
- "assignedLicense": {
- "e17b13ee-9749-488b-9289-d31a8fde045d": null
- },
- "assignedService": {
- "cbf6ee7c-c3c1-44a6-9f18-020c65536470": null,
- "c7bcba35-199c-41e5-8c8d-6d4e4aad8964": null
- },
- "consumedService": {
- "fe98c41a-d931-4f6f-a5bc-750ba7144a77": null,
- "0474bdf1-ee76-4aff-a65c-6f82e5e1d5a6": {
- "Something Here": true,
- "Other Obscure feature": false
+ "examples": [
+ {
+ "availableLicense": {
+ "e17b13ee-9749-488b-9289-d31a8fde045d": 123,
+ "2d995b6a-d4aa-4d8d-a03c-372ecb66509d": 456,
+ "cbf6ee7c-c3c1-44a6-9f18-020c65536470": 789
+ },
+ "correlation": {
+ "auditTenantAccount": "admin-user@example.com",
+ "correlationId": "88da2253-758f-4135-9d37-64448c8b65c1",
+ "reportTenantAccount": "generic-user@example.com",
+ "tenantId": "0e1fe83f-a33f-4250-8546-225b8d45ae01"
+ },
+ "licenseData": {
+ "250844e1-a7ab-4f21-8e3f-58f51b5983a3": {
+ "assignedLicense": {
+ "e17b13ee-9749-488b-9289-d31a8fde045d": 0
+ },
+ "assignedService": {
+ "cbf6ee7c-c3c1-44a6-9f18-020c65536470": 0,
+ "c7bcba35-199c-41e5-8c8d-6d4e4aad8964": null
+ },
+ "consumedService": {
+ "fe98c41a-d931-4f6f-a5bc-750ba7144a77": null,
+ "0474bdf1-ee76-4aff-a65c-6f82e5e1d5a6": {
+ "Something Here": true,
+ "Other Obscure feature": false
+ }
}
}
}
}
- },
+ ],
"type": "object",
"properties": {
"availableLicense": {
"additionalProperties": {
- "example": 1234,
+ "examples": [
+ 1234
+ ],
"type": "integer"
},
"description": "Breakdown of the purchased licenses/service plans available in the tenant being audited for this run. Where the key is the ID of the service plan and the value is how many licenses are available/purchase for it.",
- "example": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": 1234,
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": 123
- },
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 1234,
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": 123
+ }
+ ],
"title": "License Report - Available Licenses",
"type": "object"
},
@@ -483,7 +729,9 @@
"properties": {
"correlationId": {
"description": "Used to correlate the license entitlements with other records.",
- "example": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "examples": [
+ "e097a3f5-9599-44a2-8923-fd3276c83ae1"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -493,96 +741,128 @@
},
"enterpriseDeviceCount": {
"description": "Count of Enterprise Devices that are allowed to be managed.",
- "example": 5,
+ "examples": [
+ 5
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseInterfaceCount": {
"description": "Count of Enterprise Interfaces that are allowed to be managed.",
- "example": 6,
+ "examples": [
+ 6
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseIntermediaryCount": {
"description": "Count of Enterprise Intermediaries that are allowed to be managed.",
- "example": 7,
+ "examples": [
+ 7
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseUserCount": {
"description": "Count of Enterprise Users that are allowed to be managed.",
- "example": 8,
+ "examples": [
+ 8
+ ],
"format": "int32",
"type": "integer"
},
"notValidAfter": {
"description": "Date that the entitlement expires at.",
- "example": "2024-07-30T17:35:24.044Z",
+ "examples": [
+ "2024-07-30T17:35:24.044Z"
+ ],
"format": "date-time",
"type": "string"
},
"notValidBefore": {
"description": "Date that the entitlement becomes active at.",
- "example": "2024-07-30T17:37:15.300Z",
+ "examples": [
+ "2024-07-30T17:37:15.300Z"
+ ],
"format": "date-time",
"type": "string"
},
"privilegedDeviceCount": {
"description": "Count of Privileged Devices (PAW) that are allowed to be managed.",
- "example": 9,
+ "examples": [
+ 9
+ ],
"format": "int32",
"type": "integer"
},
"privilegedInterfaceCount": {
"description": "Count of Privileged Interfaces that are allowed to be managed.",
- "example": 10,
+ "examples": [
+ 10
+ ],
"format": "int32",
"type": "integer"
},
"privilegedIntermediaryCount": {
"description": "Count of Privileged Intermediaries that are allowed to be managed.",
- "example": 11,
+ "examples": [
+ 11
+ ],
"format": "int32",
"type": "integer"
},
"privilegedUserCount": {
"description": "Count of Privileged Users that are allowed to be managed.",
- "example": 12,
+ "examples": [
+ 12
+ ],
"format": "int32",
"type": "integer"
},
"purchaseId": {
"description": "This could be any value used to correlate the purchase operation to this entitlement record.",
- "example": "Bob's your uncle.",
+ "examples": [
+ "Bob's your uncle."
+ ],
"type": "string"
},
"specializedDeviceCount": {
"description": "Count of Specialized Devices that are allowed to be managed.",
- "example": 13,
+ "examples": [
+ 13
+ ],
"format": "int32",
"type": "integer"
},
"specializedInterfaceCount": {
"description": "Count of Specialized Interfaces that are allowed to be managed.",
- "example": 14,
+ "examples": [
+ 14
+ ],
"format": "int32",
"type": "integer"
},
"specializedIntermediaryCount": {
"description": "Count of Specialized Intermediaries that are allowed to be managed.",
- "example": 15,
+ "examples": [
+ 15
+ ],
"format": "int32",
"type": "integer"
},
"specializedUserCount": {
"description": "Count of Specialized Users that are allowed to be managed.",
- "example": 15,
+ "examples": [
+ 15
+ ],
"format": "int32",
"type": "integer"
},
"tenantId": {
"description": "Tenant that this license entitlement is valid for.",
- "example": "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1",
+ "examples": [
+ "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -609,79 +889,124 @@
"tenantId"
],
"title": "License Entitlement - SHIELD Record",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "correlationId": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "enterpriseDeviceCount": 5,
+ "enterpriseInterfaceCount": 6,
+ "enterpriseIntermediaryCount": 7,
+ "enterpriseUserCount": 8,
+ "notValidAfter": "2024-07-30T17:35:24.044Z",
+ "notValidBefore": "2024-07-30T17:37:15.300Z",
+ "privilegedDeviceCount": 9,
+ "privilegedInterfaceCount": 10,
+ "privilegedIntermediaryCount": 11,
+ "privilegedUserCount": 12,
+ "purchaseId": "any arbitrary string as purchaseId",
+ "specializedDeviceCount": 13,
+ "specializedInterfaceCount": 14,
+ "specializedIntermediaryCount": 15,
+ "specializedUserCount": 15,
+ "tenantId": "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1"
+ }
+ ]
},
"LicenseEntitlement.Shield.Count": {
"properties": {
"enterpriseDeviceCount": {
"description": "Count of Enterprise Devices that are allowed to be managed.",
- "example": 5,
+ "examples": [
+ 5
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseInterfaceCount": {
"description": "Count of Enterprise Interfaces that are allowed to be managed.",
- "example": 6,
+ "examples": [
+ 3
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseIntermediaryCount": {
"description": "Count of Enterprise Intermediaries that are allowed to be managed.",
- "example": 7,
+ "examples": [
+ 7
+ ],
"format": "int32",
"type": "integer"
},
"enterpriseUserCount": {
"description": "Count of Enterprise Users that are allowed to be managed.",
- "example": 8,
+ "examples": [
+ 8
+ ],
"format": "int32",
"type": "integer"
},
"privilegedDeviceCount": {
"description": "Count of Privileged Devices (PAW) that are allowed to be managed.",
- "example": 9,
+ "examples": [
+ 9
+ ],
"format": "int32",
"type": "integer"
},
"privilegedInterfaceCount": {
"description": "Count of Privileged Interfaces that are allowed to be managed.",
- "example": 10,
+ "examples": [
+ 10
+ ],
"format": "int32",
"type": "integer"
},
"privilegedIntermediaryCount": {
"description": "Count of Privileged Intermediaries that are allowed to be managed.",
- "example": 11,
+ "examples": [
+ 11
+ ],
"format": "int32",
"type": "integer"
},
"privilegedUserCount": {
"description": "Count of Privileged Users that are allowed to be managed.",
- "example": 12,
+ "examples": [
+ 12
+ ],
"format": "int32",
"type": "integer"
},
"specializedDeviceCount": {
"description": "Count of Specialized Devices that are allowed to be managed.",
- "example": 13,
+ "examples": [
+ 13
+ ],
"format": "int32",
"type": "integer"
},
"specializedInterfaceCount": {
"description": "Count of Specialized Interfaces that are allowed to be managed.",
- "example": 14,
+ "examples": [
+ 14
+ ],
"format": "int32",
"type": "integer"
},
"specializedIntermediaryCount": {
"description": "Count of Specialized Intermediaries that are allowed to be managed.",
- "example": 15,
+ "examples": [
+ 15
+ ],
"format": "int32",
"type": "integer"
},
"specializedUserCount": {
"description": "Count of Specialized Users that are allowed to be managed.",
- "example": 15,
+ "examples": [
+ 15
+ ],
"format": "int32",
"type": "integer"
}
@@ -701,79 +1026,135 @@
"specializedUserCount"
],
"title": "License Entitlement - Active SHIELD Count",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "enterpriseDeviceCount": 5,
+ "enterpriseInterfaceCount": 3,
+ "enterpriseIntermediaryCount": 7,
+ "enterpriseUserCount": 8,
+ "privilegedDeviceCount": 9,
+ "privilegedInterfaceCount": 10,
+ "privilegedIntermediaryCount": 11,
+ "privilegedUserCount": 12,
+ "specializedDeviceCount": 13,
+ "specializedInterfaceCount": 14,
+ "specializedIntermediaryCount": 15,
+ "specializedUserCount": 15
+ }
+ ]
},
"Telemetry.Shield": {
"properties": {
"correlationId": {
"description": "Primary key for the table, used to correlate multiple telemetry records together.",
"format": "uuid",
- "type": "string"
+ "type": "string",
+ "examples": [
+ "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ ]
},
"enterpriseDeviceCount": {
"description": "Count of Enterprise Devices that are deployed in the CX environment.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"enterpriseInterfaceCount": {
"description": "Number of active Enterprise interfaces.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"enterpriseIntermediaryCount": {
"description": "Number of active Enterprise intermediaries.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"enterpriseUserCount": {
"description": "Count of Enterprise Users that are deployed in the CX environment.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"monthlyActiveEntUsers": {
"description": "Number of active managed Enterprise users.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"monthlyActivePrivUsers": {
"description": "Number of active managed privileged users.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"monthlyActiveSpecUsers": {
"description": "Number of active managed Specialized users.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"privilegedDeviceCount": {
"description": "Count of Privileged Devices (PAW) that are deployed in the CX environment.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"privilegedInterfaceCount": {
"description": "Number of active Privileged interfaces.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"privilegedIntermediaryCount": {
"description": "Number of active Privileged intermediaries.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"privilegedUserCount": {
"description": "Count of Privileged Users that are deployed in the CX environment.",
"type": "integer",
- "minimum": 0
+ "minimum": 0,
+ "examples": [
+ 0
+ ]
},
"shieldArchitectureVersion": {
"description": "Version number of the architecture that is deployed.",
- "example": "27",
+ "examples": [
+ "27"
+ ],
"type": "string",
- "minimum": 1
+ "minLength": 1
},
"shieldCoreVersion": {
"description": "Version number of the product that the product is running.",
- "example": "2.5.6",
+ "examples": [
+ "2.5.6"
+ ],
"type": "string"
},
"specializedDeviceCount": {
@@ -798,18 +1179,24 @@
},
"tenantId": {
"description": "Tenant ID for the CX in question.",
- "example": "5ae80362-6fe8-4ab1-9b6d-8dfa99d91657",
+ "examples": [
+ "5ae80362-6fe8-4ab1-9b6d-8dfa99d91657"
+ ],
"type": "string"
},
"createdAt": {
"description": "Timestamp on when the record was created. This is auto managed by sequelize.",
- "example": "2024-08-02T23:48:50.231Z",
+ "examples": [
+ "2024-08-02T23:48:50.231Z"
+ ],
"format": "date-time",
"type": "string"
},
"updatedAt": {
"description": "Timestamp on when the record was last updated. This is auto managed by sequelize.",
- "example": "2024-08-02T23:48:50.231Z",
+ "examples": [
+ "2024-08-02T23:48:50.231Z"
+ ],
"format": "date-time",
"type": "string"
}
@@ -834,14 +1221,41 @@
"specializedUserCount"
],
"title": "Application Telemetry - SHIELD",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "correlationId": "1d71e0fe-6e4a-464d-a690-80addf3bda55",
+ "enterpriseDeviceCount": 0,
+ "enterpriseInterfaceCount": 0,
+ "enterpriseIntermediaryCount": 0,
+ "enterpriseUserCount": 0,
+ "monthlyActiveEntUsers": 0,
+ "monthlyActivePrivUsers": 0,
+ "monthlyActiveSpecUsers": 0,
+ "privilegedDeviceCount": 0,
+ "privilegedInterfaceCount": 0,
+ "privilegedIntermediaryCount": 0,
+ "privilegedUserCount": 0,
+ "shieldArchitectureVersion": "27",
+ "shieldCoreVersion": "2.5.6",
+ "specializedDeviceCount": 3,
+ "specializedInterfaceCount": 2,
+ "specializedIntermediaryCount": 1,
+ "specializedUserCount": 0,
+ "tenantId": "5ae80362-6fe8-4ab1-9b6d-8dfa99d91657",
+ "createdAt": "2024-08-02T23:48:50.231Z",
+ "updatedAt": "2024-08-02T23:48:50.231Z"
+ }
+ ]
},
"Update.Shield.Check": {
"description": "Object returning the value of the version of the latest application package available.",
"properties": {
"updateVersion": {
"description": "Latest found version of the application package.",
- "example": "1.12.5",
+ "examples": [
+ "1.12.5"
+ ],
"type": "string"
}
},
@@ -849,24 +1263,35 @@
"updateVersion"
],
"title": "Update SHIELD Check - latest application package version",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "updateVersion": "1.12.5"
+ }
+ ]
},
"Update.Shield.Channel": {
"description": "Channel configuration for the SHIELD update service.",
"properties": {
"latest": {
"description": "Version number of the latest update available to the chanel.",
- "example": "1.12.5",
+ "examples": [
+ "1.12.5"
+ ],
"type": "string"
},
"name": {
"description": "(Unique) Name of the update channel that this configuration belongs to.",
- "example": "stable",
+ "examples": [
+ "stable"
+ ],
"type": "string"
},
"previous": {
"description": "Version number of the number that is being replaced via ring deployment, available to all rings at the minimum.",
- "example": "1.12.4",
+ "examples": [
+ "1.12.4"
+ ],
"type": "string"
}
},
@@ -876,19 +1301,30 @@
"previous"
],
"title": "SHIELD Update - Channel",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "latest": "1.12.5",
+ "name": "stable",
+ "previous": "1.12.4"
+ }
+ ]
},
"Update.Shield.Channel.Ring": {
"description": "Object containing channel ring configuration.",
"properties": {
"latest": {
"description": "Flag that indicates if the ring should be operating off of the latest version number provided by the channel (`true`) or the previous (`false`).",
- "example": true,
+ "examples": [
+ true
+ ],
"type": "boolean"
},
"number": {
"description": "Ring number that this configuration belongs to.",
- "example": 1,
+ "examples": [
+ 1
+ ],
"type": "integer",
"minimum": 0
}
@@ -898,29 +1334,43 @@
"number"
],
"title": "Update SHIELD Channel Ring - configuration entry",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "latest": true,
+ "number": 1
+ }
+ ]
},
"Update.Shield.Tenant": {
"description": "Object containing tenant update configuration.",
"properties": {
"alphaEnabled": {
"description": "Flag that indicates if the current tenant is allowed to request alpha builds (`true`) or not (`false`).",
- "example": false,
+ "examples": [
+ false
+ ],
"type": "boolean"
},
"channel": {
"description": "Name of the deploy channel.",
- "example": "stable",
+ "examples": [
+ "stable"
+ ],
"type": "string"
},
"ring": {
"description": "Ring number that the client is a member of for the current chanel.",
- "example": 1,
+ "examples": [
+ 1
+ ],
"type": "integer"
},
"tenantId": {
"description": "Tenant ID that the configuration belongs to.",
- "example": "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1",
+ "examples": [
+ "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -935,7 +1385,15 @@
"tenantId"
],
"title": "Update SHIELD Tenant - configuration entry",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "alphaEnabled": false,
+ "channel": "stable",
+ "ring": 1,
+ "tenantId": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
+ ]
},
"TenantDetails": {
"title": "Tenant Details Record",
@@ -943,7 +1401,9 @@
"properties": {
"tenantId": {
"description": "The object ID of the tenant record",
- "example": "1c4d2f3b-2e4b-4a5b-8c6d-7e8f9a0b1c2d",
+ "examples": [
+ "1c4d2f3b-2e4b-4a5b-8c6d-7e8f9a0b1c2d"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -952,12 +1412,16 @@
},
"tenantDisplayName": {
"description": "Human readable name for the tenant record",
- "example": "Contoso - Prod",
+ "examples": [
+ "Contoso - Prod"
+ ],
"type": "string"
},
"parentId": {
"description": "The object ID of the tenant that is considered a parent to this record",
- "example": "22354a3f-2e21-4bd2-8327-dc842cfa80c8",
+ "examples": [
+ "22354a3f-2e21-4bd2-8327-dc842cfa80c8"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -972,11 +1436,16 @@
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
+ "type": "string",
+ "examples": [
+ "fd9a6a53-594d-41aa-950a-b21ff41d4688"
+ ]
},
- "example": [
- "fd9a6a53-594d-41aa-950a-b21ff41d4688",
- "54fc12cd-403d-4c48-be12-86b807e958d3"
+ "examples": [
+ [
+ "fd9a6a53-594d-41aa-950a-b21ff41d4688",
+ "54fc12cd-403d-4c48-be12-86b807e958d3"
+ ]
]
}
},
@@ -986,6 +1455,17 @@
"tenantDisplayName",
"parentId",
"authorizedPrincipalList"
+ ],
+ "examples": [
+ {
+ "tenantId": "1c4d2f3b-2e4b-4a5b-8c6d-7e8f9a0b1c2d",
+ "tenantDisplayName": "Contoso - Prod",
+ "parentId": "22354a3f-2e21-4bd2-8327-dc842cfa80c8",
+ "authorizedPrincipalList": [
+ "fd9a6a53-594d-41aa-950a-b21ff41d4688",
+ "54fc12cd-403d-4c48-be12-86b807e958d3"
+ ]
+ }
]
}
},
@@ -1009,9 +1489,9 @@
},
"description": "Collects data from the various SHI Lab products and makes it available in a standardized way.",
"title": "SHI Data Gateway",
- "version": "2.3.0"
+ "version": "2.2.2"
},
- "openapi": "3.0.0",
+ "openapi": "3.1.0",
"paths": {
"/Api/Core/Health": {
"get": {
@@ -1027,6 +1507,28 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Core.HealthReport"
+ },
+ "examples": {
+ "Auth system failure": {
+ "summary": "Example health report - Auth failure",
+ "description": "An example health report returned indicates the authentication components are not working.",
+ "value": {
+ "authClient": false,
+ "authServer": false,
+ "bulkStorage": true,
+ "database": true
+ }
+ },
+ "Storage system failure": {
+ "summary": "Example health report - Storage failure",
+ "description": "An example health report returned indicates the storage components are not working.",
+ "value": {
+ "authClient": true,
+ "authServer": true,
+ "bulkStorage": false,
+ "database": false
+ }
+ }
}
}
}
@@ -1048,8 +1550,8 @@
"application/json": {
"examples": {
"License Report": {
- "description": "Sample, truncated report from an example customer environment.",
- "summary": "License Report",
+ "description": "Sample, truncated report from an example customer environment. The request body is the License Report that to be stored.",
+ "summary": "Example License Report Request",
"value": {
"availableLicense": {
"3d282045-ec7f-4813-88e2-29b74ee609f7": 123456,
@@ -1116,8 +1618,8 @@
"application/json": {
"examples": {
"License Report": {
- "description": "Sample, truncated report from an example customer environment.",
- "summary": "License Report",
+ "description": "Sample, truncated report from an example customer environment. This will return the same report as the request input.",
+ "summary": "Example of license report stored.",
"value": {
"availableLicense": {
"3d282045-ec7f-4813-88e2-29b74ee609f7": 123456,
@@ -1210,8 +1712,8 @@
"content": {
"application/json": {
"examples": {
- "Example License Report": {
- "description": "Sample list of correlation records for the authenticated tenant.",
+ "Example Correlation Records": {
+ "description": "Sample list of correlation records for the current authenticated tenant.",
"summary": "Available Correlation Records",
"value": [
{
@@ -1238,7 +1740,27 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/LicenseReport.CorrelationRecord"
- }
+ },
+ "examples": [
+ [
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "6d7c9271-9e68-4bdf-9ae3-f90c4213f74b",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-08-01T21:14:45.026Z",
+ "updatedAt": "2024-08-01T21:14:45.026Z"
+ },
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "d8095827-a313-40e1-b086-f72636de0edf",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-07-25T21:14:45.026Z",
+ "updatedAt": "2024-07-25T21:14:45.026Z"
+ }
+ ]
+ ]
}
}
},
@@ -1277,8 +1799,8 @@
"content": {
"application/json": {
"examples": {
- "Example License Report": {
- "description": "Sample list of correlation records for the authenticated tenant.",
+ "Example Correlation Records": {
+ "description": "Sample list of correlation records for the specified tenant.",
"summary": "Available Correlation Records",
"value": [
{
@@ -1305,7 +1827,27 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/LicenseReport.CorrelationRecord"
- }
+ },
+ "examples": [
+ [
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "6d7c9271-9e68-4bdf-9ae3-f90c4213f74b",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-08-01T21:14:45.026Z",
+ "updatedAt": "2024-08-01T21:14:45.026Z"
+ },
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "d8095827-a313-40e1-b086-f72636de0edf",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-07-25T21:14:45.026Z",
+ "updatedAt": "2024-07-25T21:14:45.026Z"
+ }
+ ]
+ ]
}
}
},
@@ -1341,9 +1883,9 @@
"content": {
"application/json": {
"examples": {
- "License Report": {
- "description": "Sample, truncated report from an example customer environment.",
- "summary": "License Report",
+ "Example License Report": {
+ "description": "Sample, truncated license report from an example customer environment for a correlation record of the current authenticated tenant.",
+ "summary": "Example License Report",
"value": {
"availableLicense": {
"3d282045-ec7f-4813-88e2-29b74ee609f7": 123456,
@@ -1464,8 +2006,8 @@
"application/json": {
"examples": {
"License Report": {
- "description": "Sample, truncated report from an example customer environment.",
- "summary": "License Report",
+ "description": "Sample, truncated report from an example customer environment for a correlation record of the specified tenant.",
+ "summary": "Example License Report",
"value": {
"availableLicense": {
"3d282045-ec7f-4813-88e2-29b74ee609f7": 123456,
@@ -1585,6 +2127,26 @@
"items": {
"$ref": "#/components/schemas/Chat.OpenAIChatMessage"
}
+ },
+ "examples": {
+ "Tool call": {
+ "summary": "Example tool call request",
+ "description": "An example request that represent a message initiated by the chat assistant to call a tool function for the currently authenticated tenant.",
+ "value": {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ }
+ }
}
}
}
@@ -1594,46 +2156,48 @@
"content": {
"application/json": {
"schema": {
- "example": {
- "messageList": [
- {
- "role": "user",
- "content": "Hello"
- },
- {
- "role": "assistant",
- "content": "Hello, how can I assist you today?"
- },
- {
- "role": "user",
- "content": "Can you show me what correlation records I have?"
- },
- {
- "role": "assistant",
- "content": "What are the available IDs?",
- "tool_calls": [
- {
- "id": "call_abc123",
- "type": "function",
- "function": {
- "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
- "name": "getCorrelationIDs"
+ "examples": [
+ {
+ "messageList": [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
}
- }
- ]
- },
- {
- "role": "tool",
- "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
- "tool_call_id": "call_abc123"
- },
- {
- "role": "assistant",
- "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
- }
- ],
- "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
- },
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
+ "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
"type": "object",
"properties": {
"messageList": {
@@ -1641,17 +2205,105 @@
"description": "List of message objects in current conversation",
"items": {
"$ref": "#/components/schemas/Chat.OpenAIChatMessage"
- }
+ },
+ "examples": [
+ [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ]
+ ]
},
"responseText": {
"type": "string",
- "description": "Most recent response text"
+ "description": "Most recent response text",
+ "examples": [
+ "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ ]
}
},
"required": [
"messageList",
"responseText"
]
+ },
+ "examples": {
+ "Chat response": {
+ "summary": "Example chat response with context",
+ "description": "An example chat response that includes context of current chat session with the request appended for the currently authenticated tenant.",
+ "value": {
+ "messageList": [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
+ "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ }
}
}
},
@@ -1684,6 +2336,46 @@
"type": "array",
"items": {
"$ref": "#/components/schemas/Chat.OpenAIChatMessage"
+ },
+ "examples": [
+ [
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ }
+ ]
+ ]
+ },
+ "examples": {
+ "Chat request": {
+ "summary": "Example chat request",
+ "description": "An example request that represent a message initiated by the chat assistant to call a tool function for the specified tenant.",
+ "value": [
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ }
+ ]
}
}
}
@@ -1694,46 +2386,48 @@
"content": {
"application/json": {
"schema": {
- "example": {
- "messageList": [
- {
- "role": "user",
- "content": "Hello"
- },
- {
- "role": "assistant",
- "content": "Hello, how can I assist you today?"
- },
- {
- "role": "user",
- "content": "Can you show me what correlation records I have?"
- },
- {
- "role": "assistant",
- "content": "What are the available IDs?",
- "tool_calls": [
- {
- "id": "call_abc123",
- "type": "function",
- "function": {
- "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
- "name": "getCorrelationIDs"
+ "examples": [
+ {
+ "messageList": [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
}
- }
- ]
- },
- {
- "role": "tool",
- "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
- "tool_call_id": "call_abc123"
- },
- {
- "role": "assistant",
- "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
- }
- ],
- "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
- },
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
+ "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
"type": "object",
"properties": {
"messageList": {
@@ -1741,17 +2435,105 @@
"description": "List of message objects in current conversation",
"items": {
"$ref": "#/components/schemas/Chat.OpenAIChatMessage"
- }
+ },
+ "examples": [
+ [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ]
+ ]
},
"responseText": {
"type": "string",
- "description": "Most recent response text"
+ "description": "Most recent response text",
+ "examples": [
+ "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ ]
}
},
"required": [
"messageList",
"responseText"
]
+ },
+ "examples": {
+ "Chat response": {
+ "summary": "Example chat response",
+ "description": "An example chat response that includes context of current chat session with the request appended for the specified tenant.",
+ "value": {
+ "messageList": [
+ {
+ "role": "user",
+ "content": "Hello"
+ },
+ {
+ "role": "assistant",
+ "content": "Hello, how can I assist you today?"
+ },
+ {
+ "role": "user",
+ "content": "Can you show me what correlation records I have?"
+ },
+ {
+ "role": "assistant",
+ "content": "What are the available IDs?",
+ "tool_calls": [
+ {
+ "id": "call_abc123",
+ "type": "function",
+ "function": {
+ "arguments": "{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-07-10\"}",
+ "name": "getCorrelationIDs"
+ }
+ }
+ ]
+ },
+ {
+ "role": "tool",
+ "content": "{\"825a9d7e-0b62-4392-b8ef-ab6951a46ebd\":\"2025-07-03T18:39:50.828Z\",\"744c0878-3a82-48a7-b239-a1d4b9298a69\":\"2025-07-07T21:01:20.995Z\"}",
+ "tool_call_id": "call_abc123"
+ },
+ {
+ "role": "assistant",
+ "content": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ ],
+ "responseText": "You have correlation records for the following dates:\n- July 3, 2025\n- July 7, 2025\n\nWould you like to see details from any of these correlation records?"
+ }
+ }
}
}
},
@@ -1766,21 +2548,6 @@
]
}
},
- "/Api/Chat/UpdateDocs": {
- "post": {
- "summary": "Update the RAG DB Used by AI",
- "description": "Triggers a refresh of the RAG (Retrieval-Augmented Generation) database used by the AI agent to provide up-to-date information.\n\nThis endpoint requires the `LicenseGptCache.ReadWrite` scope (permission). This endpoint is also only accessible from the `SHI Lab` tenant. End user access is restricted.",
- "operationId": "/Api/Chat/UpdateDoc/Post",
- "responses": {
- "204": {
- "$ref": "#/components/responses/204"
- }
- },
- "tags": [
- "Chat"
- ]
- }
- },
"/Api/Entitlement/Shield": {
"post": {
"description": "Creates a new license entitlement (activation) for SHIELD.\n\nThis endpoint requires the `LicenseEntitlement.ReadWrite.All` scope (permission). This endpoint is also only accessible from the `SHI` and `SHI Lab` tenants. End user access is restricted.",
@@ -1927,7 +2694,7 @@
"application/json": {
"examples": {
"Small MSP": {
- "description": "Example active license count for a small MSP.",
+ "description": "Example active license count for a small MSP for the currently authenticated tenant.",
"summary": "Local MSP",
"value": {
"enterpriseDeviceCount": 54,
@@ -1945,7 +2712,7 @@
}
},
"No Licenses": {
- "description": "Example license count for a company that doesn't have any licenses.",
+ "description": "Example license count for a company that doesn't have any licenses for the currently authenticated tenant..",
"summary": "No License",
"value": {
"enterpriseDeviceCount": 0,
@@ -1963,7 +2730,7 @@
}
},
"Enterprise": {
- "description": "Example active license count for an enterprise sized company.",
+ "description": "Example active license count for an enterprise sized company for the currently authenticated tenant..",
"summary": "Enterprise",
"value": {
"enterpriseDeviceCount": 60000,
@@ -2017,6 +2784,56 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/LicenseEntitlement.Shield"
+ },
+ "examples": [
+ [
+ {
+ "correlationId": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "enterpriseDeviceCount": 5,
+ "enterpriseInterfaceCount": 6,
+ "enterpriseIntermediaryCount": 7,
+ "enterpriseUserCount": 8,
+ "notValidAfter": "2024-07-30T17:35:24.044Z",
+ "notValidBefore": "2024-07-30T17:37:15.300Z",
+ "privilegedDeviceCount": 9,
+ "privilegedInterfaceCount": 10,
+ "privilegedIntermediaryCount": 11,
+ "privilegedUserCount": 12,
+ "purchaseId": "any arbitrary string as purchaseId",
+ "specializedDeviceCount": 13,
+ "specializedInterfaceCount": 14,
+ "specializedIntermediaryCount": 15,
+ "specializedUserCount": 15,
+ "tenantId": "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1"
+ }
+ ]
+ ]
+ },
+ "examples": {
+ "Example Purchase": {
+ "summary": "Example entitlement purchase",
+ "description": "An example SHIELD entitlement for the specified tenant.",
+ "value": [
+ {
+ "correlationId": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "enterpriseDeviceCount": 5,
+ "enterpriseInterfaceCount": 6,
+ "enterpriseIntermediaryCount": 7,
+ "enterpriseUserCount": 8,
+ "notValidAfter": "2024-07-30T17:35:24.044Z",
+ "notValidBefore": "2024-07-30T17:37:15.300Z",
+ "privilegedDeviceCount": 9,
+ "privilegedInterfaceCount": 10,
+ "privilegedIntermediaryCount": 11,
+ "privilegedUserCount": 12,
+ "purchaseId": "any arbitrary string as purchaseId",
+ "specializedDeviceCount": 13,
+ "specializedInterfaceCount": 14,
+ "specializedIntermediaryCount": 15,
+ "specializedUserCount": 15,
+ "tenantId": "a2a1698d-a3e0-42d3-96a4-47eb3e8f7dd1"
+ }
+ ]
}
}
}
@@ -2117,8 +2934,8 @@
"application/json": {
"examples": {
"Monthly Report": {
- "description": "Example monthly telemetry report for an enterprise organization.",
- "summary": "Monthly Report",
+ "description": "An example of latest monthly telemetry report for an enterprise organization after the latest telemetry input.",
+ "summary": "Updated Monthly Report",
"value": {
"correlationId": "6fe3cd30-931c-439a-b759-1e7f3a73622e",
"enterpriseDeviceCount": 64221,
@@ -2172,8 +2989,8 @@
"application/json": {
"examples": {
"List of Reports": {
- "description": "List of all available telemetry reports for the authenticated tenant.",
- "summary": "List of Reports",
+ "description": "List of all available SHIELD telemetry reports for the current authenticated tenant.",
+ "summary": "List of SHIELD telemetry reports",
"value": [
{
"correlationId": "6fe3cd30-931c-439a-b759-1e7f3a73622e",
@@ -2229,7 +3046,57 @@
"items": {
"$ref": "#/components/schemas/Telemetry.Shield"
},
- "minItems": 0
+ "minItems": 0,
+ "examples": [
+ [
+ {
+ "correlationId": "6fe3cd30-931c-439a-b759-1e7f3a73622e",
+ "enterpriseDeviceCount": 64221,
+ "enterpriseInterfaceCount": 523,
+ "enterpriseIntermediaryCount": 44,
+ "enterpriseUserCount": 642219,
+ "monthlyActiveEntUsers": 0,
+ "monthlyActivePrivUsers": 0,
+ "monthlyActiveSpecUsers": 0,
+ "privilegedDeviceCount": 50,
+ "privilegedInterfaceCount": 2000,
+ "privilegedIntermediaryCount": 25,
+ "privilegedUserCount": 50,
+ "shieldArchitectureVersion": "2",
+ "shieldCoreVersion": "3.0.0",
+ "specializedDeviceCount": 0,
+ "specializedInterfaceCount": 612,
+ "specializedIntermediaryCount": 2,
+ "specializedUserCount": 5238,
+ "tenantId": "46759f55-fb42-49e3-83ab-93de2a39bc1d",
+ "createdAt": "2024-08-05T15:25:55.525Z",
+ "updatedAt": "2024-08-05T15:25:55.525Z"
+ },
+ {
+ "correlationId": "a57d03c6-8218-4738-b860-ac158e257e27",
+ "enterpriseDeviceCount": 63221,
+ "enterpriseInterfaceCount": 523,
+ "enterpriseIntermediaryCount": 44,
+ "enterpriseUserCount": 632219,
+ "monthlyActiveEntUsers": 0,
+ "monthlyActivePrivUsers": 0,
+ "monthlyActiveSpecUsers": 0,
+ "privilegedDeviceCount": 50,
+ "privilegedInterfaceCount": 2000,
+ "privilegedIntermediaryCount": 25,
+ "privilegedUserCount": 50,
+ "shieldArchitectureVersion": "2",
+ "shieldCoreVersion": "3.0.0",
+ "specializedDeviceCount": 0,
+ "specializedInterfaceCount": 612,
+ "specializedIntermediaryCount": 2,
+ "specializedUserCount": 5238,
+ "tenantId": "46759f55-fb42-49e3-83ab-93de2a39bc1d",
+ "createdAt": "2024-07-05T15:25:55.525Z",
+ "updatedAt": "2024-07-05T15:25:55.525Z"
+ }
+ ]
+ ]
}
}
},
@@ -2263,8 +3130,8 @@
"application/json": {
"examples": {
"List of Reports": {
- "description": "List of all available telemetry reports for the authenticated tenant.",
- "summary": "List of Reports",
+ "description": "List of all available SHIELD telemetry reports for the specified tenant.",
+ "summary": "List of SHIELD telemetry reports",
"value": [
{
"correlationId": "6fe3cd30-931c-439a-b759-1e7f3a73622e",
@@ -2320,7 +3187,57 @@
"items": {
"$ref": "#/components/schemas/Telemetry.Shield"
},
- "minItems": 0
+ "minItems": 0,
+ "examples": [
+ [
+ {
+ "correlationId": "6fe3cd30-931c-439a-b759-1e7f3a73622e",
+ "enterpriseDeviceCount": 64221,
+ "enterpriseInterfaceCount": 523,
+ "enterpriseIntermediaryCount": 44,
+ "enterpriseUserCount": 642219,
+ "monthlyActiveEntUsers": 0,
+ "monthlyActivePrivUsers": 0,
+ "monthlyActiveSpecUsers": 0,
+ "privilegedDeviceCount": 50,
+ "privilegedInterfaceCount": 2000,
+ "privilegedIntermediaryCount": 25,
+ "privilegedUserCount": 50,
+ "shieldArchitectureVersion": "2",
+ "shieldCoreVersion": "3.0.0",
+ "specializedDeviceCount": 0,
+ "specializedInterfaceCount": 612,
+ "specializedIntermediaryCount": 2,
+ "specializedUserCount": 5238,
+ "tenantId": "46759f55-fb42-49e3-83ab-93de2a39bc1d",
+ "createdAt": "2024-08-05T15:25:55.525Z",
+ "updatedAt": "2024-08-05T15:25:55.525Z"
+ },
+ {
+ "correlationId": "a57d03c6-8218-4738-b860-ac158e257e27",
+ "enterpriseDeviceCount": 63221,
+ "enterpriseInterfaceCount": 523,
+ "enterpriseIntermediaryCount": 44,
+ "enterpriseUserCount": 632219,
+ "monthlyActiveEntUsers": 0,
+ "monthlyActivePrivUsers": 0,
+ "monthlyActiveSpecUsers": 0,
+ "privilegedDeviceCount": 50,
+ "privilegedInterfaceCount": 2000,
+ "privilegedIntermediaryCount": 25,
+ "privilegedUserCount": 50,
+ "shieldArchitectureVersion": "2",
+ "shieldCoreVersion": "3.0.0",
+ "specializedDeviceCount": 0,
+ "specializedInterfaceCount": 612,
+ "specializedIntermediaryCount": 2,
+ "specializedUserCount": 5238,
+ "tenantId": "46759f55-fb42-49e3-83ab-93de2a39bc1d",
+ "createdAt": "2024-07-05T15:25:55.525Z",
+ "updatedAt": "2024-07-05T15:25:55.525Z"
+ }
+ ]
+ ]
}
}
},
@@ -2392,6 +3309,38 @@
"type": "array",
"items": {
"$ref": "#/components/schemas/Update.Shield.Channel"
+ },
+ "examples": [
+ [
+ {
+ "latest": "1.12.5",
+ "name": "stable",
+ "previous": "1.12.4"
+ }
+ ]
+ ]
+ },
+ "examples": {
+ "Channel configuration": {
+ "summary": "Example all channel configs",
+ "description": "An example showing the all channel configurations.",
+ "value": [
+ {
+ "latest": "1.12.5",
+ "name": "stable",
+ "previous": "1.12.4"
+ },
+ {
+ "latest": "1.12.7",
+ "name": "alpha",
+ "previous": "1.12.6"
+ },
+ {
+ "latest": "1.12.6",
+ "name": "beta",
+ "previous": "1.12.5"
+ }
+ ]
}
}
}
@@ -2429,6 +3378,26 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update.Shield.Channel"
+ },
+ "examples": {
+ "Stable channel config": {
+ "summary": "Example stable channel config",
+ "description": "An example showing the stable update channel configuration.",
+ "value": {
+ "latest": "1.12.5",
+ "name": "stable",
+ "previous": "1.12.4"
+ }
+ },
+ "Alpha channel config": {
+ "summary": "Example alpha channel config",
+ "description": "An example showing the alpha update channel configuration.",
+ "value": {
+ "latest": "1.12.7",
+ "name": "alpha",
+ "previous": "1.12.6"
+ }
+ }
}
}
},
@@ -2462,7 +3431,7 @@
"application/json": {
"examples": {
"Channel Configuration Details": {
- "description": "Example channel configuration object.",
+ "description": "Example channel configuration object that will add/update for specified channel.",
"summary": "Channel Configuration",
"value": {
"latest": "1.12.5",
@@ -2474,17 +3443,26 @@
"type": "object",
"properties": {
"latest": {
- "description": "Flag that indicates if the ring should be operating off of the latest version number provided by the channel (`true`) or the previous (`false`).",
- "example": "true",
- "type": "boolean"
+ "description": "Version number of the latest update available to the chanel.",
+ "examples": [
+ "1.12.5"
+ ],
+ "type": "string"
},
- "number": {
- "description": "Ring number that this configuration belongs to.",
- "example": 1,
- "type": "integer",
- "minimum": 0
+ "previous": {
+ "description": "Version number of the number that is being replaced via ring deployment, available to all rings at the minimum.",
+ "examples": [
+ "1.12.14"
+ ],
+ "type": "string"
}
- }
+ },
+ "examples": [
+ {
+ "latest": "1.12.5",
+ "previous": "1.12.4"
+ }
+ ]
}
}
}
@@ -2574,6 +3552,30 @@
"type": "array",
"items": {
"$ref": "#/components/schemas/Update.Shield.Channel.Ring"
+ },
+ "examples": [
+ [
+ {
+ "latest": true,
+ "number": 1
+ }
+ ]
+ ]
+ },
+ "examples": {
+ "All ring config": {
+ "summary": "Example all ring configs",
+ "description": "An example showing the configurations of all rings of the specified channel.",
+ "value": [
+ {
+ "latest": true,
+ "number": 1
+ },
+ {
+ "latest": false,
+ "number": 0
+ }
+ ]
}
}
}
@@ -2614,6 +3616,16 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update.Shield.Channel.Ring"
+ },
+ "examples": {
+ "Sample ring config": {
+ "summary": "Example ring configuration",
+ "description": "An example ring configuration for the specified channel and ring.",
+ "value": {
+ "latest": true,
+ "number": 1
+ }
+ }
}
}
},
@@ -2662,10 +3674,17 @@
"properties": {
"latest": {
"description": "Flag that indicates if the ring should be operating off of the latest version number provided by the channel (`true`) or the previous (`false`).",
- "example": true,
+ "examples": [
+ true
+ ],
"type": "boolean"
}
- }
+ },
+ "examples": [
+ {
+ "latest": false
+ }
+ ]
}
}
}
@@ -2795,6 +3814,15 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update.Shield.Check"
+ },
+ "examples": {
+ "Latest package version": {
+ "summary": "Example latest application version",
+ "description": "An example showing the latest SHIELD package available.",
+ "value": {
+ "updateVersion": "1.12.5"
+ }
+ }
}
}
},
@@ -2825,6 +3853,15 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update.Shield.Check"
+ },
+ "examples": {
+ "Latest package version": {
+ "summary": "Example latest application version",
+ "description": "An example showing the latest SHIELD package available for the specified channel.",
+ "value": {
+ "updateVersion": "1.12.5"
+ }
+ }
}
}
},
@@ -2851,7 +3888,17 @@
"application/zip": {
"schema": {
"type": "string",
- "format": "binary"
+ "format": "binary",
+ "examples": [
+ "UEsDBBQAAAAIAAeLbU0AAAAAAAAAAAAAAAAJAAQATm90ZS50eHRVVAkAA1V2YV... (truncated)"
+ ]
+ },
+ "examples": {
+ "base64-inline": {
+ "summary": "Base64-encoded ZIP)",
+ "description": "Base64 encoding of a small ZIP (truncated) to simulate a update package binary string for the channel specified.",
+ "value": "UEsDBBQAAAAIAAeLbU0AAAAAAAAAAAAAAAAJAAQATm90ZS50eHRVVAkAA1V2YV... (truncated)"
+ }
}
}
}
@@ -2882,7 +3929,17 @@
"application/zip": {
"schema": {
"type": "string",
- "format": "binary"
+ "format": "binary",
+ "examples": [
+ "UEsDBBQAAAAIAAeLbU0AAAAAAAAAAAAAAAAJAAQATm90ZS50eHRVVAkAA1V2YV... (truncated)"
+ ]
+ },
+ "examples": {
+ "base64-inline": {
+ "summary": "Base64-encoded ZIP",
+ "description": "Base64 encoding of a small ZIP (truncated) to simulate a update package binary string for the channel specified.",
+ "value": "UEsDBBQAAAAIAAeLbU0AAAAAAAAAAAAAAAAJAAQATm90ZS50eHRVVAkAA1V2YV... (truncated)"
+ }
}
}
}
@@ -2912,6 +3969,30 @@
"type": "array",
"items": {
"$ref": "#/components/schemas/Update.Shield.Tenant"
+ },
+ "examples": [
+ [
+ {
+ "alphaEnabled": false,
+ "channel": "stable",
+ "ring": 1,
+ "tenantId": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
+ ]
+ ]
+ },
+ "examples": {
+ "All tenant list": {
+ "summary": "Example all tenant list",
+ "description": "A example truncated list of all tenant configurations that present in the update service.",
+ "value": [
+ {
+ "alphaEnabled": false,
+ "channel": "stable",
+ "ring": 1,
+ "tenantId": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
+ ]
}
}
}
@@ -2949,6 +4030,18 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update.Shield.Tenant"
+ },
+ "examples": {
+ "Tenant config": {
+ "summary": "Example tenant config",
+ "description": "A example configurations that present in the update service of the specified tenant.",
+ "value": {
+ "alphaEnabled": false,
+ "channel": "stable",
+ "ring": 1,
+ "tenantId": "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ }
+ }
}
}
},
@@ -2996,20 +4089,33 @@
"properties": {
"alphaEnabled": {
"description": "Flag that indicates if the current tenant is allowed to request alpha builds (`true`) or not (`false`).",
- "example": false,
+ "examples": [
+ false
+ ],
"type": "boolean"
},
"channel": {
"description": "Name of the deploy channel.",
- "example": "stable",
+ "examples": [
+ "stable"
+ ],
"type": "string"
},
"ring": {
"description": "Ring number that the client is a member of for the current chanel.",
- "example": 1,
+ "examples": [
+ 1
+ ],
"type": "integer"
}
- }
+ },
+ "examples": [
+ {
+ "alphaEnabled": false,
+ "channel": "stable",
+ "ring": 1
+ }
+ ]
}
}
}
@@ -3020,7 +4126,7 @@
"application/json": {
"examples": {
"Tenant Configuration Details": {
- "description": "Example object returned on creation or update.",
+ "description": "Example object returned on creation or update with tenantId set.",
"summary": "Tenant Configuration",
"value": {
"alphaEnabled": false,
@@ -3101,12 +4207,22 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/TenantDetails"
- }
+ },
+ "examples": [
+ [
+ {
+ "tenantId": "7e8f9a0b-1c2d-3e4b-5a6c-7d8e9f0a1b2c",
+ "displayName": "Contoso - R&D",
+ "parentId": "f3ed1efc-4e62-46b8-bf2a-6b59ca9784e5",
+ "authorizedPrincipalList": []
+ }
+ ]
+ ]
},
"examples": {
- "Example List Of Tenant Records": {
- "description": "Sample list of tenant records in the database",
- "summary": "Existing Tenant Records",
+ "Example List Of Multiple Tenant Records": {
+ "description": "Sample list of multiple tenant records in the database",
+ "summary": "Multiple Tenant Records",
"value": [
{
"tenantId": "5d6e7f8a-9b0c-1d2e-3f4a-5b6c7d8e9f0a",
@@ -3117,6 +4233,20 @@
"47c42971-2dea-4553-a788-d29a42e3e867"
]
},
+ {
+ "tenantId": "7e8f9a0b-1c2d-3e4b-5a6c-7d8e9f0a1b2c",
+ "displayName": "Contoso - R&D",
+ "parentId": "f3ed1efc-4e62-46b8-bf2a-6b59ca9784e5",
+ "authorizedPrincipalList": [
+ "7e9ce415-32b2-4e7a-a920-d4dbaae022e3"
+ ]
+ }
+ ]
+ },
+ "Example List Of Single Tenant Record": {
+ "description": "Example list of single tenant records which no user is authorized yet.",
+ "summary": "Single Tenant Records",
+ "value": [
{
"tenantId": "7e8f9a0b-1c2d-3e4b-5a6c-7d8e9f0a1b2c",
"displayName": "Contoso - R&D",
@@ -3164,7 +4294,7 @@
},
"examples": {
"Example Complete Tenant Record": {
- "description": "Sample details of one tenant record",
+ "description": "An example showing a single existing tenant record.",
"summary": "Existing Tenant Record",
"value": {
"tenantId": "9f0a1b2c-3d4e-5f6a-7b8c-9d0e1f2a3b4c",
@@ -3210,7 +4340,10 @@
"properties": {
"tenantDisplayName": {
"description": "Human readable name for the tenant record",
- "type": "string"
+ "type": "string",
+ "examples": [
+ "Contoso - R&D East"
+ ]
},
"parentId": {
"description": "The object ID of the tenant that is considered a parent to this record",
@@ -3218,7 +4351,10 @@
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
+ "type": "string",
+ "examples": [
+ "6a7b8c9d-0e1f-2a3b-4c5d-6e7f8a9b0c1d"
+ ]
},
"authorizedPrincipalList": {
"description": "List of object IDs that are allowed to access this record and related data.",
@@ -3228,8 +4364,17 @@
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
- }
+ "type": "string",
+ "examples": [
+ "4cae3355-0cff-410c-b4f9-69cb5de8f1ac"
+ ]
+ },
+ "examples": [
+ [
+ "4cae3355-0cff-410c-b4f9-69cb5de8f1ac",
+ "0e52e6ac-f8e1-4070-ae2e-9bd0a37507a1"
+ ]
+ ]
}
},
"anyOf": [
@@ -3248,26 +4393,36 @@
"authorizedPrincipalList"
]
}
+ ],
+ "examples": [
+ {
+ "tenantDisplayName": "Contoso - R&D East",
+ "parentId": "6a7b8c9d-0e1f-2a3b-4c5d-6e7f8a9b0c1d",
+ "authorizedPrincipalList": [
+ "4cae3355-0cff-410c-b4f9-69cb5de8f1ac",
+ "0e52e6ac-f8e1-4070-ae2e-9bd0a37507a1"
+ ]
+ }
]
},
"examples": {
"Example Request to Update Tenant Parent": {
- "description": "Sample payload requesting adjustment to the parent value",
+ "description": "Sample payload requesting adjustment to the parent value.",
"summary": "Update Parent Information for Tenant",
"value": {
"parentId": "6a7b8c9d-0e1f-2a3b-4c5d-6e7f8a9b0c1d"
}
},
"Example Request for Tenant Name and Parent Update": {
- "description": "Sample payload requesting to update parent value and display name on the tenant record",
+ "description": "Sample payload requesting to update parent value and display name on the tenant record.",
"summary": "Update Tenant Record Name and Parent Information",
"value": {
"parentId": "8f9a0b1c-2d3e-4f5a-6b7c-8d9e0a1b2c3d",
- "displayName": "Contoso - R&D East"
+ "displayName": "Contoso - R&D West"
}
},
"Example Request for Tenant Authorized Principals Update": {
- "description": "Sample payload requesting to update authorized principals for the tenant record",
+ "description": "Sample payload requesting to update authorized principals for the tenant record.",
"summary": "Update Tenant Authorized Principals List",
"value": {
"authorizedPrincipalList": [
@@ -3289,7 +4444,7 @@
},
"examples": {
"Example Complete Tenant Record": {
- "description": "Sample response after updating a tenant record",
+ "description": "Sample response after updating a tenant record.",
"summary": "Updated Tenant Record",
"value": {
"tenantId": "c00ffc2c-b6f6-4121-bd8e-4d02e9504eb9",
diff --git a/specs/SHIELD.json b/specs/SHIELD.json
index b02ad36..a97e06a 100644
--- a/specs/SHIELD.json
+++ b/specs/SHIELD.json
@@ -7,12 +7,21 @@
"name": "correlationId",
"required": true,
"schema": {
- "example": "1d71e0fe-6e4a-464d-a690-80addf3bda55",
+ "examples": [
+ "1d71e0fe-6e4a-464d-a690-80addf3bda55"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid correlation ID": {
+ "value": "1d71e0fe-6e4a-464d-a690-80addf3bda55",
+ "summary": "Example valid correlation ID",
+ "description": "An example of a valid correlation ID in type UUID."
+ }
}
},
"deviceId": {
@@ -21,12 +30,21 @@
"name": "deviceId",
"required": true,
"schema": {
- "example": "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51",
+ "examples": [
+ "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid device ID": {
+ "value": "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51",
+ "summary": "Example valid device ID",
+ "description": "An example of a valid managed Entra ID device ID in type UUID."
+ }
}
},
"intermediaryId": {
@@ -35,12 +53,21 @@
"name": "intermediaryId",
"required": true,
"schema": {
- "example": "25d4d9da-28ea-42f8-b3df-23c3969abffa",
+ "examples": [
+ "25d4d9da-28ea-42f8-b3df-23c3969abffa"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid intermediary ID": {
+ "value": "25d4d9da-28ea-42f8-b3df-23c3969abffa",
+ "summary": "Example intermediary ID",
+ "description": "An example of a valid parent group ID in type UUID."
+ }
}
},
"nextLink": {
@@ -48,17 +75,22 @@
"in": "query",
"name": "nextLink",
"schema": {
+ "examples": [
+ "3"
+ ],
"minLength": 1,
"type": "string"
},
"examples": {
- "number": {
+ "Number": {
"value": "3",
- "summary": "Number for the next page in the navigation flow"
+ "summary": "Number for the next page in the navigation flow",
+ "description": "The number representation with minimal length for the next page in the navigation flow."
},
- "uri": {
+ "Uri": {
"value": "https://graph.microsoft.com/beta/devices?$top=20&$skiptoken=RFNwdCtEZXZpY2VfMThkNGY4OTAtMDA2YS00ZWM1LWI2OWYtY2VmNDY4ZjczNzQ4K0RldmljZV8xOGQ0Zjg5MC0wMDZhLTRlYzUtYjY5Zi1jZWY0NjhmNzM3NDg",
- "summary": "Complete URL with details of the request and a skip token for MS Graph to parse and respond"
+ "summary": "Complete URL with details of the request and a skip token for MS Graph to parse and respond.",
+ "description": "The uri representation for the next page in the navigation flow. This example shows the complete URL with details of the request and a skip token for MS Graph to parse and respond."
}
}
},
@@ -69,12 +101,21 @@
"required": true,
"schema": {
"description": "Unique identifier of the marketplace offering.",
- "example": "271ab834-7469-4f2d-a705-549972c4f325",
+ "examples": [
+ "271ab834-7469-4f2d-a705-549972c4f325"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid offering ID": {
+ "value": "271ab834-7469-4f2d-a705-549972c4f325",
+ "summary": "Example of an offering ID",
+ "description": "An example of an valid marketplace offering ID in type UUID."
+ }
}
},
"search": {
@@ -82,8 +123,17 @@
"in": "query",
"name": "search",
"schema": {
- "example": "finance",
+ "examples": [
+ "finance"
+ ],
"type": "string"
+ },
+ "examples": {
+ "valid search term": {
+ "value": "finance",
+ "summary": "Example search term",
+ "description": "An example valid search term used in object filtering in a query."
+ }
}
},
"securityClass": {
@@ -93,6 +143,13 @@
"required": true,
"schema": {
"$ref": "#/components/schemas/SecurityClassList"
+ },
+ "examples": {
+ "Privileged": {
+ "value": "Privileged",
+ "summary": "Example security class",
+ "description": "An example enum string that indicates the security class of an managed object is privileged."
+ }
}
},
"updateChannelName": {
@@ -101,13 +158,22 @@
"name": "Update Channel Name",
"required": true,
"schema": {
- "example": "stable",
+ "examples": [
+ "stable"
+ ],
"type": "string",
"enum": [
"alpha",
"beta",
"stable"
]
+ },
+ "examples": {
+ "valid channel name": {
+ "value": "stable",
+ "summary": "Example of an update channel name",
+ "description": "An example of an valid update channel name that should be used when querying or downloading updates."
+ }
}
},
"userId": {
@@ -116,12 +182,21 @@
"name": "userId",
"required": true,
"schema": {
- "example": "264a8bed-0714-48fd-8b9d-0e4c4715cee5",
+ "examples": [
+ "264a8bed-0714-48fd-8b9d-0e4c4715cee5"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
+ },
+ "examples": {
+ "valid user ID": {
+ "value": "264a8bed-0714-48fd-8b9d-0e4c4715cee5",
+ "summary": "Example of a user ID",
+ "description": "An example of valid EntraID managed user ID in type UUID."
+ }
}
}
},
@@ -159,42 +234,58 @@
"authenticatorPermissions": {
"description": "Flag that indicates if the core permissions for the SHIELD - Authenticator App have been configured properly or not.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
},
"azurePermissions": {
"description": "Flag that indicates if the required core Azure RBAC assignment(s) are present or not.",
"type": "boolean",
- "example": false
+ "examples": [
+ false
+ ]
},
"defendEntitlement": {
"description": "Flag that indicates if the required defend licenses are present or not.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
},
"deployEntitlement": {
"description": "Flag that indicates if the required deploy licenses are present or not.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
},
"discoverEntitlement": {
"description": "Flag that indicates if the required discover licenses are present or not.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
},
"msGraphPermissions": {
"description": "Flag that indicates if the core permissions for the Microsoft Graph API have been configured properly or not.",
"type": "boolean",
- "example": false
+ "examples": [
+ false
+ ]
},
"dataGatewayPermissions": {
"description": "Flag that indicates if the core permissions for the SHI - Data Gateway have been configured properly or not.",
"type": "boolean",
- "example": false
+ "examples": [
+ false
+ ]
},
"entraDirectoryRole": {
"description": "Flag that indicates if the core permissions for Entra Directory Role assignment have been configured properly or not.",
"type": "boolean",
- "example": false
+ "examples": [
+ false
+ ]
}
},
"type": "object",
@@ -207,6 +298,18 @@
"msGraphPermissions",
"dataGatewayPermissions",
"entraDirectoryRole"
+ ],
+ "examples": [
+ {
+ "authenticatorPermissions": true,
+ "azurePermissions": false,
+ "defendEntitlement": true,
+ "deployEntitlement": false,
+ "discoverEntitlement": true,
+ "msGraphPermissions": false,
+ "dataGatewayPermissions": false,
+ "entraDirectoryRole": false
+ }
]
},
"Core.ProgressBar": {
@@ -219,17 +322,32 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/Core.ProgressBar"
- }
+ },
+ "examples": [
+ [
+ {
+ "description": "Collecting data from the Microsoft Entra ID system.",
+ "displayName": "Running Entra ID Plugin",
+ "id": "b759230f-48cb-496e-ad57-5f079083226b",
+ "currentStep": 5,
+ "totalStepCount": 7
+ }
+ ]
+ ]
},
"description": {
"type": "string",
"description": "Long form text describing the current step.",
- "example": "Collecting data from the Microsoft Entra ID system."
+ "examples": [
+ "Collecting data from the Microsoft Entra ID system."
+ ]
},
"displayName": {
"type": "string",
"description": "Text/label to render with the progress bar.",
- "example": "Running Entra ID Plugin"
+ "examples": [
+ "Running Entra ID Plugin"
+ ]
},
"id": {
"description": "Unique identifier to be able to select this specific instance via search.",
@@ -238,16 +356,22 @@
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "example": "b759230f-48cb-496e-ad57-5f079083226b"
+ "examples": [
+ "b759230f-48cb-496e-ad57-5f079083226b"
+ ]
},
"currentStep": {
"description": "Current step/value for the progress bar. This is in relation to the `totalStepCount` property. If undefined, an indeterminate/pulsing progress bar is used instead.",
- "example": 5,
+ "examples": [
+ 5
+ ],
"type": "number"
},
"totalStepCount": {
"description": "Number of steps before the progress bar is completely filed.",
- "example": 7,
+ "examples": [
+ 7
+ ],
"type": "number",
"minimum": 1
}
@@ -258,6 +382,16 @@
"displayName",
"id",
"totalStepCount"
+ ],
+ "examples": [
+ {
+ "childBar": [],
+ "description": "Collecting data from the Microsoft Entra ID system.",
+ "displayName": "Running Entra ID Plugin",
+ "id": "b759230f-48cb-496e-ad57-5f079083226b",
+ "currentStep": 5,
+ "totalStepCount": 7
+ }
]
},
"Authenticator.RequestStatus": {
@@ -269,23 +403,41 @@
{
"description": "Flag that represents if the server is not waiting for a specific access token.",
"type": "boolean",
- "example": false
+ "examples": [
+ false
+ ]
},
{
"$ref": "#/components/schemas/Authenticator.Status.TokenAudience"
}
+ ],
+ "examples": [
+ false,
+ {
+ "audience": "00000002-0000-0000-b000-000000000000"
+ }
]
},
"sccAuth": {
"description": "Flag that represents if the server is waiting for SCC Auth credentials.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
}
},
"type": "object",
"required": [
"accessToken",
"sccAuth"
+ ],
+ "examples": [
+ {
+ "accessToken": {
+ "audience": "00000002-0000-0000-b000-000000000000"
+ },
+ "sccAuth": true
+ }
]
},
"Authenticator.Status.TokenAudience": {
@@ -299,12 +451,19 @@
"maxLength": 36,
"minLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "example": "00000002-0000-0000-b000-000000000000"
+ "examples": [
+ "00000002-0000-0000-b000-000000000000"
+ ]
}
},
"type": "object",
"required": [
"audience"
+ ],
+ "examples": [
+ {
+ "audience": "00000002-0000-0000-b000-000000000000"
+ }
]
},
"Authenticator.Container.SccAuthCredentials": {
@@ -314,13 +473,17 @@
"properties": {
"authenticatedUpn": {
"description": "User principal name of the user that authenticated to the portals.",
- "example": "user@example.com",
+ "examples": [
+ "user@example.com"
+ ],
"type": "string",
"format": "email"
},
"expiration": {
"description": "Point in time at which the whole authentication structure has an expired state and is un-useable.",
- "example": "2024-09-26T18:16:29.340Z",
+ "examples": [
+ "2024-09-26T18:16:29.340Z"
+ ],
"type": "string",
"format": "date-time"
},
@@ -338,6 +501,24 @@
"authenticatedUpn",
"security",
"purview"
+ ],
+ "examples": [
+ {
+ "authenticatedUpn": "user@example.com",
+ "security": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ },
+ "purview": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ },
+ "expiration": "2024-09-26T18:16:29.340Z",
+ "defender": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ }
+ }
]
},
"Authenticator.Container.SccAuthCredentials.CredentialContainer": {
@@ -345,13 +526,17 @@
"description": "Container for the credentials for a single SccAuth authenticated site.",
"properties": {
"sccAuth": {
- "description": "Authentication Token.",
- "example": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "description": "Authentication token.",
+ "examples": [
+ "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)"
+ ],
"type": "string"
},
"xsrf": {
"description": "Cross Site Request Forgery Prevention Token.",
- "example": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)",
+ "examples": [
+ "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ ],
"type": "string"
}
},
@@ -359,7 +544,13 @@
"sccAuth",
"xsrf"
],
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ }
+ ]
},
"Discover.ExecutionStatus": {
"title": "Discover - Status",
@@ -369,11 +560,18 @@
"running": {
"description": "Flag that indicates if another run is already in progress or not.",
"type": "boolean",
- "example": true
+ "examples": [
+ true
+ ]
}
},
"required": [
"running"
+ ],
+ "examples": [
+ {
+ "running": true
+ }
]
},
"ManagedObject.Intermediary": {
@@ -381,7 +579,9 @@
"properties": {
"id": {
"description": "Read-only.",
- "example": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "examples": [
+ "e097a3f5-9599-44a2-8923-fd3276c83ae1"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -391,12 +591,16 @@
},
"kind": {
"description": "Type of Intermediary that the properties are describing.",
- "example": "AVD",
+ "examples": [
+ "AVD"
+ ],
"type": "string"
},
"name": {
"description": "Human friendly name of the AVD cluster. This will be displayed to end users in the remote desktop app and web portals.",
- "example": "Legacy Reach Back",
+ "examples": [
+ "Legacy Reach Back"
+ ],
"maxLength": 42,
"minLength": 1,
"type": "string"
@@ -409,18 +613,30 @@
"name"
],
"title": "Intermediary - Base Type",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged"
+ }
+ ]
},
"ManagedObject.AvdIntermediary": {
"properties": {
"addressRangeCIDR": {
"description": "Optional Virtual Network IP Address range, defaults to 10.0.0.0/16.",
- "example": "172.16.1.0/24",
+ "examples": [
+ "172.16.1.0/24"
+ ],
"type": "string"
},
"assignmentGroup": {
"description": "Read-only value that the server generates that is the Object ID of the user assignment security group for the current instance of the AVD intermediary.",
- "example": "68873e26-3c35-465c-9422-0884a00beb36",
+ "examples": [
+ "68873e26-3c35-465c-9422-0884a00beb36"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -431,24 +647,32 @@
"index": {
"description": "Used to uniquely name multiple session hosts in a single host pool.",
"minimum": 0,
- "nullable": false,
- "type": "number"
+ "type": "number",
+ "examples": [
+ 0
+ ]
},
"location": {
"description": "Azure Regions that are available for the configured subscription. Resources will be deployed to the region specified here.",
- "example": "East US 2",
+ "examples": [
+ "East US 2"
+ ],
"type": "string"
},
"resourceId": {
"description": "ID of the Host Pool. This is generated by the server and can't be set, hence the read only flag.",
- "example": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "examples": [
+ "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back"
+ ],
"minLength": 122,
"readOnly": true,
"type": "string"
},
"sessionHostGroup": {
"description": "Read-only value that the server generates that is the Object ID of the session host security group for the current instance of the AVD intermediary.",
- "example": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "examples": [
+ "f99f0918-da9b-4c58-9a8d-9346abc5d9ec"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -458,14 +682,18 @@
},
"sessionHostPrefix": {
"description": "Short name to append to the beginning of the session host VMs. The max computer name length is 15, 4 chars are reserved for indexing and 4 for prefixing.",
- "example": "Reach",
+ "examples": [
+ "Reach"
+ ],
"maxLength": 7,
"minLength": 1,
"type": "string"
},
"vmSku": {
"description": "SKU ID in Azure of the VM session host set that is to be deployed.",
- "example": "Standard_D2s_v5",
+ "examples": [
+ "Standard_D2s_v5"
+ ],
"type": "string"
}
},
@@ -476,54 +704,80 @@
"vmSku"
],
"title": "Intermediary - Azure Virtual Desktop",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ ]
},
"LicenseReport.CorrelationRecord": {
"description": "Metadata that describes the execution session (run) that is used to tie/relate all of the license report together.",
- "example": {
- "auditTenantAccount": "priv-user@example.com",
- "correlationId": "9d838115-0868-45d4-b8a5-98adc1af7e42",
- "reportTenantAccount": "ent-user@example.com",
- "tenantId": "7e536189-b2dd-4c8b-98b1-9b174777883f",
- "createdAt": "2024-08-01T21:13:12.821Z",
- "updatedAt": "2024-08-01T21:13:12.821Z"
- },
+ "examples": [
+ {
+ "auditTenantAccount": "priv-user@example.com",
+ "correlationId": "9d838115-0868-45d4-b8a5-98adc1af7e42",
+ "reportTenantAccount": "ent-user@example.com",
+ "tenantId": "7e536189-b2dd-4c8b-98b1-9b174777883f",
+ "createdAt": "2024-08-01T21:13:12.821Z",
+ "updatedAt": "2024-08-01T21:13:12.821Z"
+ }
+ ],
"properties": {
"auditTenantAccount": {
"description": "The user account used to retrieve the license information in the tenant being audited.",
- "example": "admin-user@example.com",
+ "examples": [
+ "admin-user@example.com"
+ ],
"format": "email",
"type": "string"
},
"correlationId": {
"description": "The ID of the execution session (run) that is used to tie/relate all of the data together.",
- "example": "88da2253-758f-4135-9d37-64448c8b65c1",
+ "examples": [
+ "88da2253-758f-4135-9d37-64448c8b65c1"
+ ],
"format": "uuid",
"type": "string",
"pattern": "^\\w+-\\w+-\\w+-\\w+-\\w+$"
},
"reportTenantAccount": {
"description": "User account used to store/report the license report to the SHI Lab cloud service.",
- "example": "generic-user@example.com",
+ "examples": [
+ "generic-user@example.com"
+ ],
"format": "email",
"type": "string"
},
"tenantId": {
"description": "Unique ID of customer's Microsoft tenant that the license report is for.",
- "example": "0e1fe83f-a33f-4250-8546-225b8d45ae01",
+ "examples": [
+ "0e1fe83f-a33f-4250-8546-225b8d45ae01"
+ ],
"format": "uuid",
"type": "string",
"pattern": "^\\w+-\\w+-\\w+-\\w+-\\w+$"
},
"createdAt": {
"description": "Timestamp of when the report was created.",
- "example": "2024-08-01T21:12:22.148Z",
+ "examples": [
+ "2024-08-01T21:12:22.148Z"
+ ],
"format": "date-time",
"type": "string"
},
"updatedAt": {
"description": "Timestamp of when the report was last updated.",
- "example": "2024-08-01T21:12:22.148Z",
+ "examples": [
+ "2024-08-01T21:12:22.148Z"
+ ],
"format": "date-time",
"type": "string"
}
@@ -540,10 +794,17 @@
"assignedLicense": {
"additionalProperties": {
"type": "integer",
- "nullable": true
+ "examples": [
+ 1
+ ]
},
"description": "License assignment on the specified principal.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 1
+ }
+ ]
},
"assignedService": {
"additionalProperties": {
@@ -553,13 +814,28 @@
},
{
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "examples": [
+ 0
+ ]
}
- ],
- "nullable": true
+ ]
},
"description": "Service configuration assignment. This is used to record the set of principals that are \"benefiting\" from the service, regardless of license status.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": false,
+ "Access Review": true,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ }
+ },
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 0
+ }
+ ]
},
"consumedService": {
"additionalProperties": {
@@ -569,13 +845,28 @@
},
{
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "examples": [
+ 0
+ ]
}
- ],
- "nullable": true
+ ]
},
"description": "Usage telemetry retrieved for the service to indicate if the specific principal is consuming the service or not, regardless of license status.",
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null
+ },
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": true,
+ "Access Review": false,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ }
+ }
+ ]
}
},
"required": [
@@ -584,112 +875,125 @@
"consumedService"
],
"description": "Collection of principals that have had their in-use licenses and assigned licenses. Where the key is the principal ID and the value is the insights.",
- "example": {
- "assignedLicense": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": null,
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": null,
- "7159f980-6f83-4b67-bf41-e172b3ae1352": null
- },
- "assignedService": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
- "Conditional Access": false,
- "Access Review": true,
- "Entitlement Management": false,
- "Identity Protection": true
- },
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
- "Conditional Access": true,
- "Dynamic Group": false,
- "Group Naming": true,
- "On-Prem SSPR": false,
- "Group Expiration": true,
- "Provisioning Engine": true,
- "Enterprise State Roaming": false
- },
- "6511755b-c27d-4c66-a59e-b835e6b54e7f": null
- },
- "consumedService": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
- "Conditional Access": true,
- "Access Review": false,
- "Entitlement Management": false,
- "Identity Protection": true
+ "examples": [
+ {
+ "assignedLicense": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": null,
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": null,
+ "7159f980-6f83-4b67-bf41-e172b3ae1352": null
},
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
- "Conditional Access": true,
- "Dynamic Group": false,
- "Group Naming": true,
- "On-Prem SSPR": false,
- "Group Expiration": true,
- "Provisioning Engine": true,
- "Enterprise State Roaming": false
+ "assignedService": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": false,
+ "Access Review": true,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ },
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
+ "Conditional Access": true,
+ "Dynamic Group": false,
+ "Group Naming": true,
+ "On-Prem SSPR": false,
+ "Group Expiration": true,
+ "Provisioning Engine": true,
+ "Enterprise State Roaming": false
+ },
+ "6511755b-c27d-4c66-a59e-b835e6b54e7f": null
},
- "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null,
- "c90f1a25-e6cd-4163-ac6c-ca7616c585a9": null
+ "consumedService": {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": {
+ "Conditional Access": true,
+ "Access Review": false,
+ "Entitlement Management": false,
+ "Identity Protection": true
+ },
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": {
+ "Conditional Access": true,
+ "Dynamic Group": false,
+ "Group Naming": true,
+ "On-Prem SSPR": false,
+ "Group Expiration": true,
+ "Provisioning Engine": true,
+ "Enterprise State Roaming": false
+ },
+ "4b0d28f2-c1ce-48ae-a7d2-1caaa7825891": null,
+ "c90f1a25-e6cd-4163-ac6c-ca7616c585a9": null
+ }
}
- },
+ ],
"title": "License Report - License Data"
},
"LicenseReport.FeatureBreakdown": {
"additionalProperties": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
},
"description": "List of features that are configured for the specific service plan's service configuration for the related principal.\nThe key is the name of the feature that is being described.\nThe value is the state of the feature configuration, `true` is in scope and `false` meaning not in scope.",
- "example": {
- "Conditional Access": true,
- "Access Reviews": true,
- "Dynamic Groups": false,
- "On-Prem Password Rest": true,
- "On-Prem Password Protection": false
- },
+ "examples": [
+ {
+ "Conditional Access": true,
+ "Access Reviews": true,
+ "Dynamic Groups": false,
+ "On-Prem Password Rest": true,
+ "On-Prem Password Protection": false
+ }
+ ],
"title": "License Report - Feature Breakdown",
"type": "object"
},
"LicenseReport": {
"description": "Completely calculated license report structure that is the result of a complete run.",
- "example": {
- "availableLicense": {
- "e17b13ee-9749-488b-9289-d31a8fde045d": 123,
- "2d995b6a-d4aa-4d8d-a03c-372ecb66509d": 456,
- "cbf6ee7c-c3c1-44a6-9f18-020c65536470": 789
- },
- "correlation": {
- "auditTenantAccount": "admin-user@example.com",
- "correlationId": "88da2253-758f-4135-9d37-64448c8b65c1",
- "reportTenantAccount": "generic-user@example.com",
- "tenantId": "0e1fe83f-a33f-4250-8546-225b8d45ae01"
- },
- "licenseData": {
- "250844e1-a7ab-4f21-8e3f-58f51b5983a3": {
- "assignedLicense": {
- "e17b13ee-9749-488b-9289-d31a8fde045d": null
- },
- "assignedService": {
- "cbf6ee7c-c3c1-44a6-9f18-020c65536470": null,
- "c7bcba35-199c-41e5-8c8d-6d4e4aad8964": null
- },
- "consumedService": {
- "fe98c41a-d931-4f6f-a5bc-750ba7144a77": null,
- "0474bdf1-ee76-4aff-a65c-6f82e5e1d5a6": {
- "Something Here": true,
- "Other Obscure feature": false
+ "examples": [
+ {
+ "availableLicense": {
+ "e17b13ee-9749-488b-9289-d31a8fde045d": 123,
+ "2d995b6a-d4aa-4d8d-a03c-372ecb66509d": 456,
+ "cbf6ee7c-c3c1-44a6-9f18-020c65536470": 789
+ },
+ "correlation": {
+ "auditTenantAccount": "admin-user@example.com",
+ "correlationId": "88da2253-758f-4135-9d37-64448c8b65c1",
+ "reportTenantAccount": "generic-user@example.com",
+ "tenantId": "0e1fe83f-a33f-4250-8546-225b8d45ae01"
+ },
+ "licenseData": {
+ "250844e1-a7ab-4f21-8e3f-58f51b5983a3": {
+ "assignedLicense": {
+ "e17b13ee-9749-488b-9289-d31a8fde045d": null
+ },
+ "assignedService": {
+ "cbf6ee7c-c3c1-44a6-9f18-020c65536470": null,
+ "c7bcba35-199c-41e5-8c8d-6d4e4aad8964": null
+ },
+ "consumedService": {
+ "fe98c41a-d931-4f6f-a5bc-750ba7144a77": null,
+ "0474bdf1-ee76-4aff-a65c-6f82e5e1d5a6": {
+ "Something Here": true,
+ "Other Obscure feature": false
+ }
}
}
}
}
- },
+ ],
"type": "object",
"properties": {
"availableLicense": {
"additionalProperties": {
- "example": 1234,
+ "examples": [
+ 1234
+ ],
"type": "integer"
},
"description": "Breakdown of the purchased licenses/service plans available in the tenant being audited for this run. Where the key is the ID of the service plan and the value is how many licenses are available/purchase for it.",
- "example": {
- "eec0eb4f-6444-4f95-aba0-50c24d67f998": 1234,
- "41781fb2-bc02-4b7c-bd55-b576c07bb09d": 123
- },
+ "examples": [
+ {
+ "eec0eb4f-6444-4f95-aba0-50c24d67f998": 1234,
+ "41781fb2-bc02-4b7c-bd55-b576c07bb09d": 123
+ }
+ ],
"title": "License Report - Available Licenses",
"type": "object"
},
@@ -713,23 +1017,39 @@
"title": "Managed Device",
"description": "Structure that represents a all of the states a managed device could be in.",
"type": "object",
+ "examples": [
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ }
+ ],
"properties": {
"commissionedDate": {
"description": "This is the ISO 8601 string format of the time representing the commission date of the PAW.",
- "example": "2023-02-04T05:06:09.601Z",
+ "examples": [
+ "2023-02-04T05:06:09.601Z"
+ ],
"format": "date-time",
"type": "string"
},
"displayName": {
"description": "Current computer name of the device according to Entra ID. Empty string indicates that the device has not joined Entra ID yet.",
- "example": "Priv-01534962354",
+ "examples": [
+ "Priv-01534962354"
+ ],
"maxLength": 15,
"minLength": 0,
"type": "string"
},
"id": {
"description": "Entra ID Device ID (Not Object ID) of the specified device.",
- "example": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "examples": [
+ "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -739,8 +1059,9 @@
},
"parentDeviceId": {
"description": "DeviceID of the parent PAW device.",
- "example": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
- "nullable": true,
+ "examples": [
+ "81682cf5-0405-491d-8ab8-e07c778d7eaf"
+ ],
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
},
@@ -749,7 +1070,9 @@
},
"uniqueGroupId": {
"description": "The object ID of the unique security group that contains the managed Entra ID Device Identity.",
- "example": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "examples": [
+ "146964e0-8ca4-4af0-9c2a-894b32912463"
+ ],
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"readOnly": true,
"type": "string"
@@ -776,31 +1099,32 @@
"properties": {
"groupAssignmentId": {
"description": "This is the ID of the Custom CSP Device Configuration that configures the local admin and local hyper-v group memberships.",
- "example": "830d8b6f-2f6f-41f7-8800-0c07445abd36",
+ "examples": [
+ "830d8b6f-2f6f-41f7-8800-0c07445abd36"
+ ],
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
},
"securityClass": {
- "description": "Security class that indicates this device is a privileged device.",
- "example": "Privileged",
- "type": "string",
- "enum": [
- "Privileged"
- ]
+ "$ref": "#/components/schemas/SecurityClassList"
},
"userAssignmentId": {
"description": "The ID of the Settings Catalog that contains the user rights assignment of the specified PAW device.",
- "example": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "examples": [
+ "146964e0-8ca4-4af0-9c2a-894b32912463"
+ ],
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"readOnly": true,
"type": "string"
},
"userAssignmentList": {
"description": "List of Object IDs for the privileged user accounts that are assigned to this device.",
- "example": [
- "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
- "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
- "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ "examples": [
+ [
+ "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
+ "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
+ "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ ]
],
"type": "array",
"items": {
@@ -814,6 +1138,23 @@
"securityClass",
"userAssignmentId",
"userAssignmentList"
+ ],
+ "examples": [
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "groupAssignmentId": "830d8b6f-2f6f-41f7-8800-0c07445abd36",
+ "securityClass": "Privileged",
+ "userAssignmentId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "userAssignmentList": [
+ "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
+ "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
+ "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ ]
+ }
]
}
]
@@ -824,27 +1165,34 @@
"properties": {
"creationDate": {
"description": "A date object representing when the user managed by SHIELD.",
- "example": "2023-10-21T15:24:47.970Z",
+ "examples": [
+ "2023-10-21T15:24:47.970Z"
+ ],
"format": "date-time",
"readOnly": true,
"type": "string"
},
"displayName": {
"description": "The name shown on UIs for the privileged user according to Entra ID.",
- "example": "Example User (Priv)",
+ "examples": [
+ "Example User (Priv)"
+ ],
"maxLength": 256,
- "nullable": true,
"type": "string"
},
"firstName": {
"description": "Given name of the privileged user according to Entra ID.",
"maxLength": 64,
- "nullable": true,
- "type": "string"
+ "type": "string",
+ "examples": [
+ "John"
+ ]
},
"id": {
"description": "The Entra ID Object ID of the managed user. This is the one property that is stored in the settings engine. This is the key in the storage systems to uniquely separate the managed user's data from others.",
- "example": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "examples": [
+ "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -859,21 +1207,27 @@
"type": "string",
"format": "uuid"
},
- "example": [
- "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
- "593d97dc-9a43-4bc7-9d79-ecde407d7782",
- "995f3b39-1e01-40d4-9368-ee956343e97c"
+ "examples": [
+ [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
]
},
"lastName": {
"description": "Surname/family name of the privileged user according to Entra ID.",
"maxLength": 64,
- "nullable": true,
- "type": "string"
+ "type": "string",
+ "examples": [
+ "Doe"
+ ]
},
"upn": {
"description": "User principal name of the user object according to Azure Active Directory.",
- "example": "priv-user@example.com",
+ "examples": [
+ "priv-user@example.com"
+ ],
"format": "email",
"maxLength": 113,
"minLength": 6,
@@ -889,20 +1243,26 @@
"type": "string",
"format": "uuid"
},
- "example": [
- "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
- "593d97dc-9a43-4bc7-9d79-ecde407d7782",
- "995f3b39-1e01-40d4-9368-ee956343e97c"
+ "examples": [
+ [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
]
},
"uiEducation": {
"description": "Indicates if user education is enabled in the UI for the specified user. True is on, false is off.",
- "example": false,
+ "examples": [
+ false
+ ],
"type": "boolean"
},
"uniqueGroupId": {
"description": "ObjectID of the unique user group that the managed user is a member of.",
- "example": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "examples": [
+ "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d"
+ ],
"format": "uuid",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"readOnly": true,
@@ -919,11 +1279,34 @@
"uniqueGroupId",
"upn"
],
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ ]
},
"ManagedObject.PrivilegedUser": {
"title": "Managed User - Privileged",
- "description": "Additional settings that represent a privileged user object. All data in this structure is preserved in the settings engine's permanent storage system.",
+ "description": "Additional settings that represents a privileged user object. All data in this structure is preserved in the settings engine's permanent storage system.",
"allOf": [
{
"$ref": "#/components/schemas/ManagedObject.User"
@@ -937,21 +1320,27 @@
"type": "string",
"format": "uuid"
},
- "example": [
- "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
- "593d97dc-9a43-4bc7-9d79-ecde407d7782",
- "995f3b39-1e01-40d4-9368-ee956343e97c"
+ "examples": [
+ [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
]
},
"generatedPassword": {
"description": "The password that was created for the managed user upon managed user creation, this is not stored. This is only available once during user creation. If the password is lost, reset the PWD in Entra ID or have the user perform SSPR.",
- "example": "GY_w7bZUKRgpIXctD0S2wg",
+ "examples": [
+ "GY_w7bZUKRgpIXctD0S2wg"
+ ],
"readOnly": true,
"type": "string"
},
"parentId": {
"description": "The Entra ID Object ID of the object that the manged user is tied to. This value is only present on privileged users.",
- "example": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "examples": [
+ "e59a3a64-dc36-4368-80ec-c205eb176ef6"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -960,16 +1349,13 @@
"type": "string"
},
"securityClass": {
- "description": "Security class that indicates this user is a privileged user.",
- "example": "Privileged",
- "type": "string",
- "enum": [
- "Privileged"
- ]
+ "$ref": "#/components/schemas/SecurityClassList"
},
"temporaryAccessPass": {
"description": "A TAP that was created for the managed user upon managed user creation, this is not stored. This is only available once during user creation. TAP expires at the configured tenant expiration time.",
- "example": "BCKTSN#E2R&5",
+ "examples": [
+ "BCKTSN#E2R&5"
+ ],
"readOnly": true,
"type": "string"
}
@@ -981,17 +1367,52 @@
],
"type": "object"
}
- ]
- },
- "ObjectPage.Intermediary.Avd": {
- "properties": {
- "@odata.count": {
- "nullable": true,
- "type": "number"
- },
- "@odata.nextLink": {
- "nullable": true,
- "type": "string"
+ ],
+ "examples": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
+ },
+ "ObjectPage.Intermediary.Avd": {
+ "properties": {
+ "@odata.count": {
+ "type": "number",
+ "examples": [
+ 0
+ ]
+ },
+ "@odata.nextLink": {
+ "type": "string",
+ "examples": [
+ "3"
+ ]
},
"value": {
"items": {
@@ -1010,9 +1431,47 @@
]
},
"minItems": 0,
- "type": "array"
+ "type": "array",
+ "examples": [
+ {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged",
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ ]
}
},
+ "examples": [
+ {
+ "@odata.count": 1,
+ "@odata.nextLink": "1",
+ "value": [
+ {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged",
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ ]
+ }
+ ],
"required": [
"value"
],
@@ -1022,12 +1481,16 @@
"ObjectPage.ManagedDevice": {
"properties": {
"@odata.count": {
- "nullable": true,
- "type": "number"
+ "type": "number",
+ "examples": [
+ 3
+ ]
},
"@odata.nextLink": {
- "nullable": true,
- "type": "string"
+ "type": "string",
+ "examples": [
+ "2"
+ ]
},
"value": {
"items": {
@@ -1041,48 +1504,84 @@
]
},
"minItems": 0,
- "type": "array"
+ "type": "array",
+ "examples": [
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ },
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "groupAssignmentId": "830d8b6f-2f6f-41f7-8800-0c07445abd36",
+ "securityClass": "Privileged",
+ "userAssignmentId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "userAssignmentList": [
+ "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
+ "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
+ "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ ]
+ }
+ ]
}
},
"required": [
"value"
],
"title": "Page of Managed Device Objects",
- "type": "object"
- },
- "ObjectPage.ManagedPrivilegedDevice": {
- "properties": {
- "@odata.count": {
- "nullable": true,
- "type": "number"
- },
- "@odata.nextLink": {
- "nullable": true,
- "type": "string"
- },
- "value": {
- "items": {
- "$ref": "#/components/schemas/ManagedObject.PrivilegedDevice"
- },
- "minItems": 0,
- "type": "array"
+ "type": "object",
+ "examples": [
+ {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ },
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "groupAssignmentId": "830d8b6f-2f6f-41f7-8800-0c07445abd36",
+ "securityClass": "Privileged",
+ "userAssignmentId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "userAssignmentList": [
+ "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
+ "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
+ "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ ]
+ }
+ ]
}
- },
- "required": [
- "value"
- ],
- "title": "Page of Managed Privileged Device Objects",
- "type": "object"
+ ]
},
"ObjectPage.ManagedUser": {
"properties": {
"@odata.count": {
- "nullable": true,
- "type": "number"
+ "type": "number",
+ "examples": [
+ 3
+ ]
},
"@odata.nextLink": {
- "nullable": true,
- "type": "string"
+ "type": "string",
+ "examples": [
+ "2"
+ ]
},
"value": {
"items": {
@@ -1096,38 +1595,124 @@
]
},
"minItems": 0,
- "type": "array"
+ "type": "array",
+ "examples": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
}
},
"required": [
"value"
],
"title": "Page of Managed User Objects",
- "type": "object"
- },
- "ObjectPage.ManagedPrivilegedUser": {
- "properties": {
- "@odata.count": {
- "nullable": true,
- "type": "number"
- },
- "@odata.nextLink": {
- "nullable": true,
- "type": "string"
- },
- "value": {
- "items": {
- "$ref": "#/components/schemas/ManagedObject.PrivilegedUser"
- },
- "minItems": 0,
- "type": "array"
+ "type": "object",
+ "examples": [
+ {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
}
- },
- "required": [
- "value"
- ],
- "title": "Page of Managed Privileged User Objects",
- "type": "object"
+ ]
},
"SecurityClassList": {
"description": "Security class types as described in https://learn.microsoft.com/en-us/security/compass/privileged-access-security-levels.",
@@ -1137,7 +1722,9 @@
"Enterprise",
"Unmanaged"
],
- "example": "Privileged",
+ "examples": [
+ "Privileged"
+ ],
"title": "Type of security class the object(s) belongs to",
"type": "string"
}
@@ -1162,9 +1749,9 @@
},
"description": "Deprive your threats of practical significance. Deploy the Securing Privilege Access architecture. All in a few seconds.",
"title": "SHI Environment Lockdown and Defense",
- "version": "3.0.7"
+ "version": "3.0.4"
},
- "openapi": "3.0.0",
+ "openapi": "3.1.0",
"paths": {
"/Api/Core/SystemRequirements": {
"get": {
@@ -1176,6 +1763,22 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Core.SystemRequirements"
+ },
+ "examples": {
+ "System Requirement": {
+ "value": {
+ "authenticatorPermissions": true,
+ "azurePermissions": false,
+ "defendEntitlement": true,
+ "deployEntitlement": false,
+ "discoverEntitlement": true,
+ "msGraphPermissions": false,
+ "dataGatewayPermissions": false,
+ "entraDirectoryRole": false
+ },
+ "summary": "Example system requirement object returned form the API endpoint",
+ "description": "An example that indicates:
- Azure RBAC assignment(s) are not present.
- SHIELD Defend licenses are present.
- SHIELD Deploy licenses are present.
- SHIELD Discover licenses are present.
- Permissions for the Microsoft Graph API have not been configured properly.
- Permissions for the SHI - Data Gateway have not been configured properly.
- Permissions for Entra Directory Role assignment have not been configured properly."
+ }
}
}
},
@@ -1202,12 +1805,18 @@
"appId": {
"description": "Application ID that should be used in Access Tokens as the audience and the endpoint necessary for auth code flows.",
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "examples": [
+ "85cbe72b-3215-48bc-9eeb-fa7896c31498"
+ ]
},
"tenantId": {
"description": "Tenant ID necessary for authority host URL configuration and UI customization.",
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "examples": [
+ "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ ]
}
},
"type": "object",
@@ -1215,6 +1824,16 @@
"appId",
"tenantId"
]
+ },
+ "examples": {
+ "valid request": {
+ "value": {
+ "appId": "85cbe72b-3215-48bc-9eeb-fa7896c31498",
+ "tenantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ },
+ "summary": "Example request object",
+ "description": "An example request object to retrieve the IDs required to authenticate."
+ }
}
}
},
@@ -1243,7 +1862,16 @@
"schema": {
"description": "Access token that SHIELD uses to prove it is a valid recipient of credentials.",
"type": "string",
- "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiJjYjU5ZjIyOC0wNjkwLTRhY2ItOWE3Yi0wMGMzNmEyZjRlOGQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNjgzODQsIm5iZiI6MTcyNzM2ODM4NCwiZXhwIjoxNzI3MzcyMjg0LCJhaW8iOiJBU1FBMi84WUFBQUFSN0hyaW5XTmRwcisvdnoreWlkZER6WVExeFRpc3BSZGY4TG1XNjhRaE0wPSIsImF6cCI6IjRlODU5MTQ2LWY5M2UtNDlmMi05ODZmLWI3MjIyNmZjZDViOSIsImF6cGFjciI6IjEiLCJvaWQiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJyaCI6IjAuQWNvQXFTMFFMUjdSZ0VxUUlzUVkta2hVeHlqeVdjdVFCc3RLbW5zQXcyb3ZUbzM2QUFBLiIsInJvbGVzIjpbIkF1dGhlbnRpY2F0b3IuQXR0ZXN0Il0sInN1YiI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInRpZCI6IjJkMTAyZGE5LWQxMWUtNGE4MC05MDIyLWM0MThmYTQ4NTRjNyIsInV0aSI6Il9MaUdVWWxmS2txNFZoR09NeGw4QUEiLCJ2ZXIiOiIyLjAifQ.xlXZfOnDoOVW3_aOiSIZH8uiySeohro-HVnDzDEff2EjmOk9adrTOP5Sw1av6g3vy38r6dSu4tViwNGrb7Z2krgRKKvp-4A9rkPqeJjjd2rhFl2KiOlxL0mmykbroZZ70RJzwHy2GC7wfuLwJwr-5m7POV2grbxIAlTsMdZWDFXYi-AahfDVtLugarWG5-tXAqiPBKjaU6ntAJIbu7Ol1vYZaeYMsNKTs8O1P10YM460zN9OkfoI1gV7_InHEr8RSyQnEPCJ2W1Or4lDhqdey4ohMoP9EzLgMsn9Ckss5g5C6vVE0GQawUoeGozPOBpgb31J8JzZUyB1JyVfi-vKkQ"
+ "examples": [
+ "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiJjYjU5ZjIyOC0wNjkwLTRhY2ItOWE3Yi0wMGMzNmEyZjRlOGQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNjgzODQsIm5iZiI6MTcyNzM2ODM4NCwiZXhwIjoxNzI3MzcyMjg0LCJhaW8iOiJBU1FBMi84WUFBQUFSN0hyaW5XTmRwcisvdnoreWlkZER6WVExeFRpc3BSZGY4TG1XNjhRaE0wPSIsImF6cCI6IjRlODU5MTQ2LWY5M2UtNDlmMi05ODZmLWI3MjIyNmZjZDViOSIsImF6cGFjciI6IjEiLCJvaWQiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJyaCI6IjAuQWNvQXFTMFFMUjdSZ0VxUUlzUVkta2hVeHlqeVdjdVFCc3RLbW5zQXcyb3ZUbzM2QUFBLiIsInJvbGVzIjpbIkF1dGhlbnRpY2F0b3IuQXR0ZXN0Il0sInN1YiI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInRpZCI6IjJkMTAyZGE5LWQxMWUtNGE4MC05MDIyLWM0MThmYTQ4NTRjNyIsInV0aSI6Il9MaUdVWWxmS2txNFZoR09NeGw4QUEiLCJ2ZXIiOiIyLjAifQ.xlXZfOnDoOVW3_aOiSIZH8uiySeohro-HVnDzDEff2EjmOk9adrTOP5Sw1av6g3vy38r6dSu4tViwNGrb7Z2krgRKKvp-4A9rkPqeJjjd2rhFl2KiOlxL0mmykbroZZ70RJzwHy2GC7wfuLwJwr-5m7POV2grbxIAlTsMdZWDFXYi-AahfDVtLugarWG5-tXAqiPBKjaU6ntAJIbu7Ol1vYZaeYMsNKTs8O1P10YM460zN9OkfoI1gV7_InHEr8RSyQnEPCJ2W1Or4lDhqdey4ohMoP9EzLgMsn9Ckss5g5C6vVE0GQawUoeGozPOBpgb31J8JzZUyB1JyVfi-vKkQ"
+ ]
+ },
+ "examples": {
+ "valid access token": {
+ "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiJjYjU5ZjIyOC0wNjkwLTRhY2ItOWE3Yi0wMGMzNmEyZjRlOGQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNjgzODQsIm5iZiI6MTcyNzM2ODM4NCwiZXhwIjoxNzI3MzcyMjg0LCJhaW8iOiJBU1FBMi84WUFBQUFSN0hyaW5XTmRwcisvdnoreWlkZER6WVExeFRpc3BSZGY4TG1XNjhRaE0wPSIsImF6cCI6IjRlODU5MTQ2LWY5M2UtNDlmMi05ODZmLWI3MjIyNmZjZDViOSIsImF6cGFjciI6IjEiLCJvaWQiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJyaCI6IjAuQWNvQXFTMFFMUjdSZ0VxUUlzUVkta2hVeHlqeVdjdVFCc3RLbW5zQXcyb3ZUbzM2QUFBLiIsInJvbGVzIjpbIkF1dGhlbnRpY2F0b3IuQXR0ZXN0Il0sInN1YiI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInRpZCI6IjJkMTAyZGE5LWQxMWUtNGE4MC05MDIyLWM0MThmYTQ4NTRjNyIsInV0aSI6Il9MaUdVWWxmS2txNFZoR09NeGw4QUEiLCJ2ZXIiOiIyLjAifQ.xlXZfOnDoOVW3_aOiSIZH8uiySeohro-HVnDzDEff2EjmOk9adrTOP5Sw1av6g3vy38r6dSu4tViwNGrb7Z2krgRKKvp-4A9rkPqeJjjd2rhFl2KiOlxL0mmykbroZZ70RJzwHy2GC7wfuLwJwr-5m7POV2grbxIAlTsMdZWDFXYi-AahfDVtLugarWG5-tXAqiPBKjaU6ntAJIbu7Ol1vYZaeYMsNKTs8O1P10YM460zN9OkfoI1gV7_InHEr8RSyQnEPCJ2W1Or4lDhqdey4ohMoP9EzLgMsn9Ckss5g5C6vVE0GQawUoeGozPOBpgb31J8JzZUyB1JyVfi-vKkQ",
+ "summary": "Example valid access token",
+ "description": "An example string that represents the access token that SHIELD uses to prove it is a valid recipient of credentials."
+ }
}
}
},
@@ -1266,6 +1894,7 @@
"application/json": {
"examples": {
"Waiting on Nothing": {
+ "summary": "Not waiting for credentials",
"description": "No credentials are being requested at the moment.",
"value": {
"accessToken": false,
@@ -1273,6 +1902,7 @@
}
},
"Waiting on Access Token": {
+ "summary": "Waiting on access token",
"description": "Waiting on an Access Token with the Audience of the Legacy Windows Graph API.",
"value": {
"accessToken": {
@@ -1282,6 +1912,7 @@
}
},
"Waiting on SccAuth": {
+ "summary": "Waiting on an SCC Auth data",
"description": "Waiting on an SCC Auth data from the SHIELD - Authenticator App.",
"value": {
"accessToken": false,
@@ -1311,6 +1942,28 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Authenticator.Container.SccAuthCredentials"
+ },
+ "examples": {
+ "valid Scc Auth credentials": {
+ "value": {
+ "authenticatedUpn": "user@example.com",
+ "security": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ },
+ "purview": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ },
+ "expiration": "2024-09-26T18:16:29.340Z",
+ "defender": {
+ "sccAuth": "54BKPtTL-eSMFp5cqYTMMSblm2U80cUJqQgmbe4f_sRn4ammMmU1NKNurn9HqpsUtS4FrMJRTKa3Or_pFbedM_57R0fVBfNJ-m2Pvey9OweWIDradzT0dB1WnufPTJiT2y7zSQy91Y9wJIn1_aY5q-MNh75qwjM84Dng-mYzbd9KqUfyPUolOo-j-... (Truncated)",
+ "xsrf": "PEDwTvWdm2qSTe-n8h-1praK4OcQK1ELTJ08DWYqBRzQiyA2MIuEKEMNLu4ExjDNpAOUnAxmsqOeuGzb82MJYkegOE6hW8BzpSM6k9nbTbJ4yjNGzMSQvWUnyqrBvGa8JfSRiSeaKdXGBnxGd90Spw2:... (truncated)"
+ }
+ },
+ "summary": "Example Scc Auth credentials",
+ "description": "An example of valid Scc Auth credentials used to configure SHIELD."
+ }
}
}
}
@@ -1341,11 +1994,24 @@
"token": {
"description": "This is transmitted as a property instead of a raw string as the body parser ignores it in Express.JS. Functionally identical though.",
"type": "string",
- "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiI0YzQwMjgxYi1hMzA1LTRhYWYtOTBhNC1kNWJiZWU2ZWI4ZWQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNzUzNzMsIm5iZiI6MTcyNzM3NTM3MywiZXhwIjoxNzI3Mzc5MjczLCJhaW8iOiJrMkJnWU9BM1ByL2lTc2loRmYzeU9uVk40UTZOc1dsZnRnWEhoMW5HYm5saWVuS1hRZ2tBIiwiYXpwIjoiNGU4NTkxNDYtZjkzZS00OWYyLTk4NmYtYjcyMjI2ZmNkNWI5IiwiYXpwYWNyIjoiMSIsIm9pZCI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInJoIjoiMC5BY29BcVMwUUxSN1JnRXFRSXNRWS1raFV4eHNvUUV3Rm82OUtrS1RWdS01dXVPMzZBQUEuIiwicm9sZXMiOlsiVGVsZW1ldHJ5LlNvcC5SZWFkV3JpdGUiLCJMaWNlbnNlUmVwb3J0LlJlYWRXcml0ZSJdLCJzdWIiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJ0aWQiOiIyZDEwMmRhOS1kMTFlLTRhODAtOTAyMi1jNDE4ZmE0ODU0YzciLCJ1dGkiOiJfTGlHVVlsZktrcTRWaEdPXzNpRkFBIiwidmVyIjoiMi4wIn0.CZMOfyo5Lo1Km8bgWtOw8f30n1AZ5HJQ-StyIPr_P_eEjanzHVSEiRsHweNATW0GQFfLs0lGH43xztFcNNepu7CctyEzoktJ-9De2mMLIMJviF1rlB19mxH3a3hUSPZuPeYPPONkYtjL4fZj0mCYcALoq-orc0Oswg0l3fatbS7a-DAgxZdLHa6M7OtXksMlMXwooxmocOQeg_zhpko1zyuzSsVwNrz1uMZYpivwaM1ImWZiqgjMc1NWCN2Co1nYNuvxg6Chcr0OOsPRaXayfzrP7IlsZIg5Itg9lrqN0cjT3t8GSejL2P8HmfPcYftlqOobCesjSfBthir5hGUoNA"
+ "examples": [
+ "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiI0YzQwMjgxYi1hMzA1LTRhYWYtOTBhNC1kNWJiZWU2ZWI4ZWQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNzUzNzMsIm5iZiI6MTcyNzM3NTM3MywiZXhwIjoxNzI3Mzc5MjczLCJhaW8iOiJrMkJnWU9BM1ByL2lTc2loRmYzeU9uVk40UTZOc1dsZnRnWEhoMW5HYm5saWVuS1hRZ2tBIiwiYXpwIjoiNGU4NTkxNDYtZjkzZS00OWYyLTk4NmYtYjcyMjI2ZmNkNWI5IiwiYXpwYWNyIjoiMSIsIm9pZCI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInJoIjoiMC5BY29BcVMwUUxSN1JnRXFRSXNRWS1raFV4eHNvUUV3Rm82OUtrS1RWdS01dXVPMzZBQUEuIiwicm9sZXMiOlsiVGVsZW1ldHJ5LlNvcC5SZWFkV3JpdGUiLCJMaWNlbnNlUmVwb3J0LlJlYWRXcml0ZSJdLCJzdWIiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJ0aWQiOiIyZDEwMmRhOS1kMTFlLTRhODAtOTAyMi1jNDE4ZmE0ODU0YzciLCJ1dGkiOiJfTGlHVVlsZktrcTRWaEdPXzNpRkFBIiwidmVyIjoiMi4wIn0.CZMOfyo5Lo1Km8bgWtOw8f30n1AZ5HJQ-StyIPr_P_eEjanzHVSEiRsHweNATW0GQFfLs0lGH43xztFcNNepu7CctyEzoktJ-9De2mMLIMJviF1rlB19mxH3a3hUSPZuPeYPPONkYtjL4fZj0mCYcALoq-orc0Oswg0l3fatbS7a-DAgxZdLHa6M7OtXksMlMXwooxmocOQeg_zhpko1zyuzSsVwNrz1uMZYpivwaM1ImWZiqgjMc1NWCN2Co1nYNuvxg6Chcr0OOsPRaXayfzrP7IlsZIg5Itg9lrqN0cjT3t8GSejL2P8HmfPcYftlqOobCesjSfBthir5hGUoNA"
+ ]
}
},
- "example": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiI0YzQwMjgxYi1hMzA1LTRhYWYtOTBhNC1kNWJiZWU2ZWI4ZWQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNzUzNzMsIm5iZiI6MTcyNzM3NTM3MywiZXhwIjoxNzI3Mzc5MjczLCJhaW8iOiJrMkJnWU9BM1ByL2lTc2loRmYzeU9uVk40UTZOc1dsZnRnWEhoMW5HYm5saWVuS1hRZ2tBIiwiYXpwIjoiNGU4NTkxNDYtZjkzZS00OWYyLTk4NmYtYjcyMjI2ZmNkNWI5IiwiYXpwYWNyIjoiMSIsIm9pZCI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInJoIjoiMC5BY29BcVMwUUxSN1JnRXFRSXNRWS1raFV4eHNvUUV3Rm82OUtrS1RWdS01dXVPMzZBQUEuIiwicm9sZXMiOlsiVGVsZW1ldHJ5LlNvcC5SZWFkV3JpdGUiLCJMaWNlbnNlUmVwb3J0LlJlYWRXcml0ZSJdLCJzdWIiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJ0aWQiOiIyZDEwMmRhOS1kMTFlLTRhODAtOTAyMi1jNDE4ZmE0ODU0YzciLCJ1dGkiOiJfTGlHVVlsZktrcTRWaEdPXzNpRkFBIiwidmVyIjoiMi4wIn0.CZMOfyo5Lo1Km8bgWtOw8f30n1AZ5HJQ-StyIPr_P_eEjanzHVSEiRsHweNATW0GQFfLs0lGH43xztFcNNepu7CctyEzoktJ-9De2mMLIMJviF1rlB19mxH3a3hUSPZuPeYPPONkYtjL4fZj0mCYcALoq-orc0Oswg0l3fatbS7a-DAgxZdLHa6M7OtXksMlMXwooxmocOQeg_zhpko1zyuzSsVwNrz1uMZYpivwaM1ImWZiqgjMc1NWCN2Co1nYNuvxg6Chcr0OOsPRaXayfzrP7IlsZIg5Itg9lrqN0cjT3t8GSejL2P8HmfPcYftlqOobCesjSfBthir5hGUoNA"
+ "examples": [
+ {
+ "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiI0YzQwMjgxYi1hMzA1LTRhYWYtOTBhNC1kNWJiZWU2ZWI4ZWQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNzUzNzMsIm5iZiI6MTcyNzM3NTM3MywiZXhwIjoxNzI3Mzc5MjczLCJhaW8iOiJrMkJnWU9BM1ByL2lTc2loRmYzeU9uVk40UTZOc1dsZnRnWEhoMW5HYm5saWVuS1hRZ2tBIiwiYXpwIjoiNGU4NTkxNDYtZjkzZS00OWYyLTk4NmYtYjcyMjI2ZmNkNWI5IiwiYXpwYWNyIjoiMSIsIm9pZCI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInJoIjoiMC5BY29BcVMwUUxSN1JnRXFRSXNRWS1raFV4eHNvUUV3Rm82OUtrS1RWdS01dXVPMzZBQUEuIiwicm9sZXMiOlsiVGVsZW1ldHJ5LlNvcC5SZWFkV3JpdGUiLCJMaWNlbnNlUmVwb3J0LlJlYWRXcml0ZSJdLCJzdWIiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJ0aWQiOiIyZDEwMmRhOS1kMTFlLTRhODAtOTAyMi1jNDE4ZmE0ODU0YzciLCJ1dGkiOiJfTGlHVVlsZktrcTRWaEdPXzNpRkFBIiwidmVyIjoiMi4wIn0.CZMOfyo5Lo1Km8bgWtOw8f30n1AZ5HJQ-StyIPr_P_eEjanzHVSEiRsHweNATW0GQFfLs0lGH43xztFcNNepu7CctyEzoktJ-9De2mMLIMJviF1rlB19mxH3a3hUSPZuPeYPPONkYtjL4fZj0mCYcALoq-orc0Oswg0l3fatbS7a-DAgxZdLHa6M7OtXksMlMXwooxmocOQeg_zhpko1zyuzSsVwNrz1uMZYpivwaM1ImWZiqgjMc1NWCN2Co1nYNuvxg6Chcr0OOsPRaXayfzrP7IlsZIg5Itg9lrqN0cjT3t8GSejL2P8HmfPcYftlqOobCesjSfBthir5hGUoNA"
+ }
+ ]
+ },
+ "examples": {
+ "Valid request body": {
+ "value": {
+ "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1jN2wzSXo5M2c3dXdnTmVFbW13X1dZR1BrbyJ9.eyJhdWQiOiI0YzQwMjgxYi1hMzA1LTRhYWYtOTBhNC1kNWJiZWU2ZWI4ZWQiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vMmQxMDJkYTktZDExZS00YTgwLTkwMjItYzQxOGZhNDg1NGM3L3YyLjAiLCJpYXQiOjE3MjczNzUzNzMsIm5iZiI6MTcyNzM3NTM3MywiZXhwIjoxNzI3Mzc5MjczLCJhaW8iOiJrMkJnWU9BM1ByL2lTc2loRmYzeU9uVk40UTZOc1dsZnRnWEhoMW5HYm5saWVuS1hRZ2tBIiwiYXpwIjoiNGU4NTkxNDYtZjkzZS00OWYyLTk4NmYtYjcyMjI2ZmNkNWI5IiwiYXpwYWNyIjoiMSIsIm9pZCI6ImUyZGU3NDRkLWFmNWUtNDg0MS1iYjhmLTY5NGRkMjVmZWY0ZCIsInJoIjoiMC5BY29BcVMwUUxSN1JnRXFRSXNRWS1raFV4eHNvUUV3Rm82OUtrS1RWdS01dXVPMzZBQUEuIiwicm9sZXMiOlsiVGVsZW1ldHJ5LlNvcC5SZWFkV3JpdGUiLCJMaWNlbnNlUmVwb3J0LlJlYWRXcml0ZSJdLCJzdWIiOiJlMmRlNzQ0ZC1hZjVlLTQ4NDEtYmI4Zi02OTRkZDI1ZmVmNGQiLCJ0aWQiOiIyZDEwMmRhOS1kMTFlLTRhODAtOTAyMi1jNDE4ZmE0ODU0YzciLCJ1dGkiOiJfTGlHVVlsZktrcTRWaEdPXzNpRkFBIiwidmVyIjoiMi4wIn0.CZMOfyo5Lo1Km8bgWtOw8f30n1AZ5HJQ-StyIPr_P_eEjanzHVSEiRsHweNATW0GQFfLs0lGH43xztFcNNepu7CctyEzoktJ-9De2mMLIMJviF1rlB19mxH3a3hUSPZuPeYPPONkYtjL4fZj0mCYcALoq-orc0Oswg0l3fatbS7a-DAgxZdLHa6M7OtXksMlMXwooxmocOQeg_zhpko1zyuzSsVwNrz1uMZYpivwaM1ImWZiqgjMc1NWCN2Co1nYNuvxg6Chcr0OOsPRaXayfzrP7IlsZIg5Itg9lrqN0cjT3t8GSejL2P8HmfPcYftlqOobCesjSfBthir5hGUoNA"
+ },
+ "summary": "Example request body",
+ "description": "An example object that represents the request body to be sent to the API endpoint."
}
}
}
@@ -1374,7 +2040,17 @@
"content": {
"application/json": {
"schema": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
+ },
+ "examples": {
+ "Example value": {
+ "summary": "Example value",
+ "description": "An example boolean value that represents an update to SHIELD is pending.",
+ "value": true
+ }
}
}
},
@@ -1399,11 +2075,27 @@
"properties": {
"appVersion": {
"description": "Follows symantec versioning as laid out here: https://semver.org/. This number is the version of the application package.",
- "example": "1.2.3",
+ "examples": [
+ "1.2.3"
+ ],
"type": "string"
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "appVersion": "1.2.3"
+ }
+ ]
+ },
+ "examples": {
+ "Example response": {
+ "summary": "Example reported SHIELD version",
+ "description": "An example of latest semantic version of the SHIELD available.",
+ "value": {
+ "appVersion": "1.2.3"
+ }
+ }
}
}
},
@@ -1433,11 +2125,27 @@
"properties": {
"appVersion": {
"description": "Follows symantec versioning as laid out here: https://semver.org/. This number is the version of the application package.",
- "example": "1.2.3",
+ "examples": [
+ "1.2.3"
+ ],
"type": "string"
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "appVersion": "1.2.3"
+ }
+ ]
+ },
+ "examples": {
+ "SHIELD version": {
+ "summary": "Example semantic version",
+ "description": "An example string that represents the latest semantic version of SHIELD available in specific channel.",
+ "value": {
+ "appVersion": "1.2.3"
+ }
+ }
}
}
},
@@ -1520,6 +2228,15 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Discover.ExecutionStatus"
+ },
+ "examples": {
+ "Execution Status": {
+ "value": {
+ "running": true
+ },
+ "summary": "Example execution status",
+ "description": "An example execution status object that indicates a SHIELD Discover run is already in progress."
+ }
}
}
},
@@ -1542,6 +2259,20 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Core.ProgressBar"
+ },
+ "examples": {
+ "Progress Bar": {
+ "value": {
+ "childBar": [],
+ "description": "Collecting data from the Microsoft Entra ID system.",
+ "displayName": "Running Entra ID Plugin",
+ "id": "b759230f-48cb-496e-ad57-5f079083226b",
+ "currentStep": 5,
+ "totalStepCount": 7
+ },
+ "summary": "Example progress bar object",
+ "description": "An example progress bar object returned from the endpoint. It indicates:
- The purpose of a progress bar.
- The text label of a progress bar.
- The unique identifier in type UUID of a specific SHIELD instance for search.
- The total number of steps of a progress bar.
- The current step/value of a progress bar.
- No child progress bar."
+ }
}
}
},
@@ -1580,7 +2311,7 @@
"content": {
"application/json": {
"examples": {
- "Example License Report": {
+ "anything": {
"description": "Sample list of correlation records for the authenticated tenant.",
"summary": "Available Correlation Records",
"value": [
@@ -1608,7 +2339,27 @@
"minItems": 0,
"items": {
"$ref": "#/components/schemas/LicenseReport.CorrelationRecord"
- }
+ },
+ "examples": [
+ [
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "6d7c9271-9e68-4bdf-9ae3-f90c4213f74b",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-08-01T21:14:45.026Z",
+ "updatedAt": "2024-08-01T21:14:45.026Z"
+ },
+ {
+ "auditTenantAccount": "somebodyThatI@example.com",
+ "correlationId": "d8095827-a313-40e1-b086-f72636de0edf",
+ "reportTenantAccount": "usedToKnow@example.com",
+ "tenantId": "3d6e7b7e-8d9a-4eb0-8753-67829b3934db",
+ "createdAt": "2024-07-25T21:14:45.026Z",
+ "updatedAt": "2024-07-25T21:14:45.026Z"
+ }
+ ]
+ ]
}
}
},
@@ -1643,7 +2394,7 @@
"examples": {
"License Report": {
"description": "Sample, truncated report from an example customer environment.",
- "summary": "License Report",
+ "summary": "Example License Report",
"value": {
"availableLicense": {
"3d282045-ec7f-4813-88e2-29b74ee609f7": 123456,
@@ -1728,7 +2479,7 @@
"content": {
"application/json": {
"examples": {
- "infra deployed": {
+ "Infra deployed": {
"description": "All API calls should be available since the core infrastructure is deployed.",
"summary": "Infrastructure is deployed",
"value": true
@@ -1740,7 +2491,10 @@
}
},
"schema": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
}
}
},
@@ -1785,10 +2539,18 @@
"schema": {
"properties": {
"deploymentConsent": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "deploymentConsent": true
+ }
+ ]
}
}
}
@@ -1805,7 +2567,10 @@
}
},
"schema": {
- "type": "boolean"
+ "type": "boolean",
+ "examples": [
+ true
+ ]
}
}
},
@@ -1833,6 +2598,28 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/Core.ProgressBar"
+ },
+ "examples": {
+ "Progress Bar": {
+ "value": {
+ "childBar": [
+ {
+ "description": "Collecting data from the Microsoft Purview.",
+ "displayName": "Running SHIELD Deploy - Purview",
+ "id": "b759230f-48cb-496e-ad57-5f079083226c",
+ "currentStep": 1,
+ "totalStepCount": 3
+ }
+ ],
+ "description": "Collecting data from the Microsoft Entra ID system.",
+ "displayName": "Running SHIELD Deploy",
+ "id": "b759230f-48cb-496e-ad57-5f079083226b",
+ "currentStep": 5,
+ "totalStepCount": 7
+ },
+ "summary": "Example progress bar object",
+ "description": "An example progress bar object returned from the endpoint. It indicates:
- The purpose of a progress bar.
- The text label of a progress bar.
- The unique identifier in type UUID of a specific SHIELD instance for search.
- The total number of steps of a progress bar.
- The current step/value of a progress bar.
- With a child progress bar."
+ }
}
}
},
@@ -1856,21 +2643,47 @@
"properties": {
"apiVersion": {
"description": "Follows symantec versioning as laid out here: https://semver.org/. This number is the version of the API server.",
- "example": "1.2.3",
+ "examples": [
+ "1.2.3"
+ ],
"type": "string"
},
"archSpecVersion": {
"description": "An incrementing number that describes the version of the architecture specification that the API supports.",
- "example": 123,
- "type": "number"
+ "examples": [
+ "25"
+ ],
+ "type": "string",
+ "minLength": 1
},
"deployedArchVersion": {
"description": "The version of the architecture specification that is currently deployed.",
- "example": 25,
- "type": "number"
+ "examples": [
+ "23"
+ ],
+ "type": "string",
+ "minLength": 1
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "apiVersion": "1.2.3",
+ "archSpecVersion": "25",
+ "deployedArchVersion": "23"
+ }
+ ]
+ },
+ "examples": {
+ "Versions response": {
+ "summary": "Example versions response",
+ "description": "An example object that represents the aggregation of versioning information of all SHIELDs components. including:
- Semantic version of the API server.
- The incrementing architecture specification version that the API supports.
- The incrementing architecture specification version that is currently deployed.",
+ "value": {
+ "apiVersion": "1.2.3",
+ "archSpecVersion": "25",
+ "deployedArchVersion": "23"
+ }
+ }
}
}
},
@@ -1907,6 +2720,32 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.Intermediary.Avd"
+ },
+ "examples": {
+ "Paged AVD intermediaries": {
+ "summary": "Example paged AVD intermediary list",
+ "description": "An example paged AVD intermediary list returned that represents the current page of all AVD intermediary instances form the specified security class.",
+ "value": {
+ "@odata.count": 1,
+ "@odata.nextLink": "1",
+ "value": [
+ {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged",
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -1973,6 +2812,32 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.Intermediary.Avd"
+ },
+ "examples": {
+ "Paged AVD intermediary result": {
+ "summary": "Example paged result of a AVD intermediary list",
+ "description": "An example paged result that represents the current page of retrieved AVD intermediary list from a parent group filtered by specified class.",
+ "value": {
+ "@odata.count": 1,
+ "@odata.nextLink": "1",
+ "value": [
+ {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged",
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -2086,6 +2951,68 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.ManagedUser"
+ },
+ "examples": {
+ "Managed user page": {
+ "summary": "Example paged user result",
+ "description": "An example of paged user result that represents the current page of assigned user list retrieved from the specified AVD intermediary.",
+ "value": {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -2148,12 +3075,27 @@
"items": {
"format": "uuid",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
+ "type": "string",
+ "examples": [
+ "0c56b055-9042-4f54-8e6e-6510e12a81dc"
+ ]
},
- "type": "array"
+ "type": "array",
+ "examples": [
+ [
+ "0c56b055-9042-4f54-8e6e-6510e12a81dc"
+ ]
+ ]
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "userList": [
+ "0c56b055-9042-4f54-8e6e-6510e12a81dc"
+ ]
+ }
+ ]
}
}
}
@@ -2168,6 +3110,35 @@
},
"minItems": 0,
"type": "array"
+ },
+ "examples": {
+ "Managed user": {
+ "summary": "Example managed users returned",
+ "description": "An example of managed user array returned that represents the users has been assigned to the specified AVD cluster and created corresponding session host successfully.",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ ]
+ }
}
}
},
@@ -2191,7 +3162,7 @@
},
"/Api/Defend/Intermediary/{intermediaryId}/Type/{securityClass}/Offering/8a921026-ec06-4e08-af19-8812e161e61f/Assign/{userId}": {
"get": {
- "description": "Get the specified managed user's from the specified AVD intermediary assignment list.\n\nThis endpoint requires the `Intermediary.Privileged.Read`, `Intermediary.Privileged.ReadWrite`, `Intermediary.Specialized.Read`, `Intermediary.Specialized.ReadWrite`, `Intermediary.Enterprise.ReadWrite`, `Intermediary.Enterprise.Read`, or the `Everything.ReadWrite` scope (permission). The security class parameter in the URL path corresponds to the same permission in the scope. That means if you are granted a privileged role, you can only call the privilege class URL.",
+ "description": "Get the specified managed user(s) from the specified AVD intermediary assignment list.\n\nThis endpoint requires the `Intermediary.Privileged.Read`, `Intermediary.Privileged.ReadWrite`, `Intermediary.Specialized.Read`, `Intermediary.Specialized.ReadWrite`, `Intermediary.Enterprise.ReadWrite`, `Intermediary.Enterprise.Read`, or the `Everything.ReadWrite` scope (permission). The security class parameter in the URL path corresponds to the same permission in the scope. That means if you are granted a privileged role, you can only call the privilege class URL.",
"operationId": "/Api/Defend/Intermediary/:intermediaryId/Type/:securityClass/Offering/AVD/Assign/:userId/Get",
"parameters": [
{
@@ -2210,6 +3181,68 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.ManagedUser"
+ },
+ "examples": {
+ "Assigned users": {
+ "summary": "Example assigned user list",
+ "description": "An example paged assigned user list that represents the current page retrieved from specified AVD intermediary assignment list.",
+ "value": {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -2268,15 +3301,29 @@
"properties": {
"userList": {
"items": {
- "example": "d1bc9d1a-5a30-4d66-898a-1dd300e707bc",
+ "examples": [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ],
"format": "uuid",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "examples": [
+ [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ]
+ ]
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "userList": [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ]
+ }
+ ]
}
}
}
@@ -2291,6 +3338,35 @@
},
"minItems": 0,
"type": "array"
+ },
+ "examples": {
+ "Removed user list": {
+ "summary": "Example removed user list",
+ "description": "An example array of ManagedObject.User that represents those removed from specific privileged device assignment.",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ ]
+ }
}
}
},
@@ -2322,6 +3398,68 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.ManagedUser"
+ },
+ "examples": {
+ "Example response": {
+ "summary": "Example paged response",
+ "description": "An example of ObjectPage.ManagedUser returned that represents the list of users assigned to specific privileged device.",
+ "value": {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -2356,17 +3494,17 @@
"summary": "1:1 User Mapping",
"value": {
"userList": [
- "user@contoso.com"
+ "0674276a-31e8-4773-8ed9-6fb49dbd0fa8"
]
}
},
"Multi-User Managed Device": {
- "description": "This example is the security best practice of having only one user mapped to a managed device.",
+ "description": "This example is the security best practice of having multiple users mapped to a managed device.",
"summary": "Multi-User Assignment",
"value": {
"userList": [
- "user@contoso.com",
- "anotherUser@contoso.com"
+ "0674276a-31e8-4773-8ed9-6fb49dbd0fa8",
+ "66714224-b1a6-4fd6-b9d8-5263fdf755fc"
]
}
}
@@ -2375,15 +3513,29 @@
"properties": {
"userList": {
"items": {
- "example": "d1bc9d1a-5a30-4d66-898a-1dd300e707bc",
+ "examples": [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ],
"format": "uuid",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "examples": [
+ [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ]
+ ]
}
},
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "userList": [
+ "d1bc9d1a-5a30-4d66-898a-1dd300e707bc"
+ ]
+ }
+ ]
}
}
}
@@ -2398,94 +3550,35 @@
},
"minItems": 0,
"type": "array"
- }
- }
- },
- "description": "OK"
- },
- "401": {
- "$ref": "#/components/responses/401"
- },
- "525": {
- "$ref": "#/components/responses/525"
- }
- },
- "summary": "Add User Assignments",
- "tags": [
- "Device Management"
- ]
- }
- },
- "/Api/Defend/Device/Type/Privileged": {
- "get": {
- "description": "Returns a list of all privileged managed devices.\n\nThis endpoint requires the `Device.Privileged.Read`, `Device.Privileged.ReadWrite`, or the `Everything.ReadWrite` scope (permission).",
- "operationId": "/Api/Defend/Device/Type/Privileged/Get",
- "parameters": [
- {
- "$ref": "#/components/parameters/nextLink"
- },
- {
- "$ref": "#/components/parameters/search"
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ObjectPage.ManagedPrivilegedDevice"
- }
- }
- },
- "description": "OK"
- },
- "401": {
- "$ref": "#/components/responses/401"
- },
- "525": {
- "$ref": "#/components/responses/525"
- }
- },
- "summary": "Get All Privileged Devices",
- "tags": [
- "Device Management"
- ]
- },
- "post": {
- "description": "Commissions a new device, into the device hierarchy and appends appropriate metadata and initial policies. Appends required metadata to proper locations.\n\nThis endpoint requires the `Device.Privileged.ReadWrite`, or the `Everything.ReadWrite` scope (permission).",
- "operationId": "/Api/Defend/Device/Type/Privileged/Post",
- "requestBody": {
- "content": {
- "application/json": {
- "example": {
- "deviceId": "f7e1a66f-ce2e-4351-83df-2776813ef95d"
- },
- "schema": {
- "properties": {
- "deviceId": {
- "description": "The SHIELD ID (Entra ID Device ID) of the device to target.",
- "example": "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51",
- "format": "uuid",
- "maxLength": 36,
- "minLength": 36,
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
- }
},
- "required": [
- "deviceId"
- ],
- "type": "object"
- }
- }
- }
- },
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ManagedObject.PrivilegedDevice"
+ "examples": {
+ "List of Managed Users": {
+ "summary": "Users assigned to the privileged device",
+ "description": "An example of ManagedObject.User array that represents the list of users which successfully assigned to the specified privileged device.",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ ]
+ }
}
}
},
@@ -2494,14 +3587,11 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
"525": {
"$ref": "#/components/responses/525"
}
},
- "summary": "Commission a New PAW.",
+ "summary": "Add User Assignments",
"tags": [
"Device Management"
]
@@ -2528,6 +3618,41 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.ManagedDevice"
+ },
+ "examples": {
+ "Managed device list": {
+ "summary": "Example list of managed devices",
+ "description": "An example paged result returned that represents a specific page of managed device list.",
+ "value": {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ },
+ {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "groupAssignmentId": "830d8b6f-2f6f-41f7-8800-0c07445abd36",
+ "securityClass": "Privileged",
+ "userAssignmentId": "146964e0-8ca4-4af0-9c2a-894b32912463",
+ "userAssignmentList": [
+ "56d0d4e1-96f6-4cfb-a5e9-a4ee923169a8",
+ "94a9d681-a8d2-43eb-a83b-d4bfe90259ff",
+ "c54d4854-9254-4689-8a22-1cc80a3dae4e"
+ ]
+ }
+ ]
+ }
+ }
}
}
},
@@ -2556,14 +3681,22 @@
"requestBody": {
"content": {
"application/json": {
- "example": {
- "deviceId": "f7e1a66f-ce2e-4351-83df-2776813ef95d"
+ "examples": {
+ "Request body": {
+ "value": {
+ "deviceId": "f7e1a66f-ce2e-4351-83df-2776813ef95d"
+ },
+ "summary": "Example request body",
+ "description": "An example request body object that represents a request to commission the device specified in the deviceId field."
+ }
},
"schema": {
"properties": {
"deviceId": {
"description": "The SHIELD ID (Entra ID Device ID) of the device to target.",
- "example": "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51",
+ "examples": [
+ "75da7fa4-4a04-44c8-8f2c-c1b2fa29aa51"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -2574,7 +3707,12 @@
"required": [
"deviceId"
],
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "deviceId": "f7e1a66f-ce2e-4351-83df-2776813ef95d"
+ }
+ ]
}
}
}
@@ -2585,6 +3723,20 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedObject.Device"
+ },
+ "examples": {
+ "Commissioned managed device": {
+ "summary": "Example managed device info",
+ "description": "An example managed device object returned that represents a successfully commissioned device.",
+ "value": {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ }
+ }
}
}
},
@@ -2654,6 +3806,20 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedObject.Device"
+ },
+ "examples": {
+ "Managed device": {
+ "summary": "Example managed device",
+ "description": "An example of ManagedObject.Device object returned that represents a managed device queried by a device ID with specified security class.",
+ "value": {
+ "commissionedDate": "2023-02-04T05:06:09.601Z",
+ "displayName": "Priv-01534962354",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "parentDeviceId": "81682cf5-0405-491d-8ab8-e07c778d7eaf",
+ "securityClass": "Privileged",
+ "uniqueGroupId": "146964e0-8ca4-4af0-9c2a-894b32912463"
+ }
+ }
}
}
},
@@ -2696,6 +3862,68 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectPage.ManagedUser"
+ },
+ "examples": {
+ "Managed user": {
+ "summary": "Example paged user list",
+ "description": "An examples of ObjectPage.ManagedUser returned that represents a page of a managed user list.",
+ "value": {
+ "@odata.count": 3,
+ "@odata.nextLink": "2",
+ "value": [
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ },
+ {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "deviceAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "generatedPassword": "GY_w7bZUKRgpIXctD0S2wg",
+ "parentId": "e59a3a64-dc36-4368-80ec-c205eb176ef6",
+ "temporaryAccessPass": "BCKTSN#E2R&5"
+ }
+ ]
+ }
+ }
}
}
},
@@ -2724,14 +3952,22 @@
"requestBody": {
"content": {
"application/json": {
- "example": {
- "userId": "d886680d-a283-4fc2-803f-370d81d62366"
+ "examples": {
+ "Request body": {
+ "value": {
+ "userId": "d886680d-a283-4fc2-803f-370d81d62366"
+ },
+ "summary": "Example request body",
+ "description": "An example object that represents a request to assign the specified user to target security class."
+ }
},
"schema": {
"properties": {
"userId": {
"description": "The Entra ID object ID of the user to clone.",
- "example": "264a8bed-0714-48fd-8b9d-0e4c4715cee5",
+ "examples": [
+ "264a8bed-0714-48fd-8b9d-0e4c4715cee5"
+ ],
"format": "uuid",
"maxLength": 36,
"minLength": 36,
@@ -2742,7 +3978,12 @@
"required": [
"userId"
],
- "type": "object"
+ "type": "object",
+ "examples": [
+ {
+ "userId": "264a8bed-0714-48fd-8b9d-0e4c4715cee5"
+ }
+ ]
}
}
}
@@ -2753,100 +3994,33 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedObject.User"
- }
- }
- },
- "description": "OK"
- },
- "401": {
- "$ref": "#/components/responses/401"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
- "409": {
- "description": "User is already managed."
- },
- "525": {
- "$ref": "#/components/responses/525"
- }
- },
- "summary": "Create/Bring User Into Management",
- "tags": [
- "User Management"
- ]
- }
- },
- "/Api/Defend/User/Type/Privileged": {
- "get": {
- "description": "Returns a list of all privileged managed users.\n\nThis endpoint requires the `User.Privileged.Read`, `User.Privileged.ReadWrite`, or the `Everything.ReadWrite` scope (permission).",
- "operationId": "/Api/Defend/User/Type/Privileged/Get",
- "parameters": [
- {
- "$ref": "#/components/parameters/nextLink"
- },
- {
- "$ref": "#/components/parameters/search"
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ObjectPage.ManagedPrivilegedUser"
- }
- }
- },
- "description": "OK"
- },
- "401": {
- "$ref": "#/components/responses/401"
- },
- "525": {
- "$ref": "#/components/responses/525"
- }
- },
- "summary": "Get All Privileged Users",
- "tags": [
- "User Management"
- ]
- },
- "post": {
- "description": "Securely clones the specified user's properties into a new managed user object in the privileged baselines.\n\nThis endpoint requires the `User.Privileged.ReadWrite`, or the `Everything.ReadWrite` scope (permission).",
- "operationId": "/Api/Defend/User/Type/Privileged/Post",
- "requestBody": {
- "content": {
- "application/json": {
- "example": {
- "userId": "d886680d-a283-4fc2-803f-370d81d62366"
- },
- "schema": {
- "properties": {
- "userId": {
- "description": "The Entra ID object ID of the user to clone.",
- "example": "264a8bed-0714-48fd-8b9d-0e4c4715cee5",
- "format": "uuid",
- "maxLength": 36,
- "minLength": 36,
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
- }
},
- "required": [
- "userId"
- ],
- "type": "object"
- }
- }
- }
- },
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ManagedObject.PrivilegedUser"
+ "examples": {
+ "Created or cloned user": {
+ "summary": "Example user created/cloned",
+ "description": "An example managed user object returned that represents the user brought into management successfully.",
+ "value": {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ }
}
}
},
@@ -2865,7 +4039,7 @@
"$ref": "#/components/responses/525"
}
},
- "summary": "Create/Bring new Privileged User Into Management",
+ "summary": "Create/Bring User Into Management",
"tags": [
"User Management"
]
@@ -2919,6 +4093,33 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedObject.User"
+ },
+ "examples": {
+ "Removed user": {
+ "summary": "Example removed user",
+ "description": "An example of managed user returned that represents the user has been removed from specified security class successfully.",
+ "value": {
+ "creationDate": "2023-10-21T15:24:47.970Z",
+ "displayName": "Example User (Priv)",
+ "firstName": "John",
+ "lastName": "Doe",
+ "id": "9f237e13-9a04-4daf-b3d4-6d2beec3c2bf",
+ "upn": "priv-user@example.com",
+ "securityClass": "Privileged",
+ "uiEducation": false,
+ "uniqueGroupId": "ad402c42-1bc9-4ba5-9419-7dbfb46a9c4d",
+ "intermediaryAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ],
+ "siloAssignmentList": [
+ "0390fb3e-c58b-4d73-b02c-eae41ec5e4a5",
+ "593d97dc-9a43-4bc7-9d79-ecde407d7782",
+ "995f3b39-1e01-40d4-9368-ee956343e97c"
+ ]
+ }
+ }
}
}
},
@@ -2955,27 +4156,6 @@
"requestBody": {
"content": {
"application/json": {
- "examples": {
- "Azure Bastion": {
- "description": "lorem ipsum!",
- "summary": "Azure Bastion",
- "value": "lorem ipsum!"
- },
- "Azure Virtual Desktop": {
- "description": "Deploys an AVD cluster that is connected to the device configurations system in SHIELD. The type property can be omitted because it is passed via path parameter.",
- "summary": "Azure Virtual Desktop",
- "value": {
- "name": "Legacy Reach Back",
- "properties": {
- "addressRangeCIDR": "172.16.1.0/24",
- "index": 0,
- "location": "East US 2",
- "sessionHostPrefix": "Reach",
- "vmSku": "Standard_D2s_v5"
- }
- }
- }
- },
"schema": {
"allOf": [
{
@@ -2989,7 +4169,38 @@
},
"type": "object"
}
+ ],
+ "examples": [
+ {
+ "name": "Legacy Reach Back",
+ "properties": {
+ "addressRangeCIDR": "172.16.1.0/24",
+ "index": 0,
+ "location": "East US 2",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ }
]
+ },
+ "examples": {
+ "Example intermediary object request": {
+ "summary": "Example Intermediary object request",
+ "description": "An example of create offering request body with minimal fields.",
+ "value": {
+ "id": "e097a3f5-9599-44a2-8923-fd3276c83ae1",
+ "kind": "AVD",
+ "name": "Legacy Reach Back",
+ "securityClass": "Privileged",
+ "properties": {
+ "addressRangeCIDR": "172.16.1.0/24",
+ "index": 0,
+ "location": "East US 2",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ }
+ }
}
}
}
@@ -3000,6 +4211,22 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedObject.AvdIntermediary"
+ },
+ "examples": {
+ "Returned AVD intermediary": {
+ "summary": "Example AVD intermediary returned",
+ "description": "An example of AVD intermediary object returned that represents an successfully deployed offering.",
+ "value": {
+ "addressRangeCIDR": "172.16.1.0/24",
+ "assignmentGroup": "68873e26-3c35-465c-9422-0884a00beb36",
+ "index": 0,
+ "location": "East US 2",
+ "resourceId": "/subscriptions/742f0d26-daa0-4f84-8d4f-fb052f89f639/resourceGroups/SHIELD_-_PSM-Legacy_Reach_Back/providers/Microsoft.DesktopVirtualization/hostpools/SHIELD_-_PSM-Cluster-Legacy_Reach_Back",
+ "sessionHostGroup": "f99f0918-da9b-4c58-9a8d-9346abc5d9ec",
+ "sessionHostPrefix": "Reach",
+ "vmSku": "Standard_D2s_v5"
+ }
+ }
}
}
},