From c702f22729e215d4bb89f0049176bd72eeb30b94 Mon Sep 17 00:00:00 2001 From: Ruman Mulla Date: Wed, 15 Jul 2026 14:45:17 +0100 Subject: [PATCH 1/3] LAB-2585: [Data Gateway] Open API Spec for CSPM Assessment Data Retrieval Endpoint --- specs/Data-Gateway.json | 75 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 3b7823e..082d5ca 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -5533,7 +5533,7 @@ ], "properties": { "correlationId": { - "$ref": "#/components/schemas/Uuid", + "$ref": "#/components/schemas/Uuid", "description": "Matches ID from whatever is being audited." }, "name": { @@ -10068,6 +10068,79 @@ "summary": "Submit CSPM Policy Assessment V1" } }, + "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/{correlationId}/Data": { + "get": { + "summary": "Retrieve CSPM Policy Assessment V1 by Correlation ID", + "description": "Retrieves the stored CSPM policy assessment for the specified correlation ID in the authenticated tenant.\n\nThis endpoint requires the `ArchitectureReport.Read`, `ArchitectureReport.Read.All`, `ArchitectureReport.ReadWrite`, or `ArchitectureReport.ReadWrite.All` scope (permission). This endpoint is also only accessible from the `SHI` and `SHI Lab` tenants. End user access is restricted.", + "operationId": "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/:correlationId/Data/Get", + "parameters": [ + { + "$ref": "#/components/parameters/correlationId" + } + ], + "responses": { + "200": { + "description": "The CSPM policy assessment data for the specified correlation ID.", + "content": { + "application/json": { + "examples": { + "CSPM Policy Assessment V1": { + "description": "Sample stored CSPM policy assessment result retrieved by correlation record ID.", + "summary": "CSPM Policy Assessment Details", + "value": { + "correlation": { + "auditTenantAccount": "user@example.com", + "correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "createdAt": "2023-11-19T10:00:00.000Z", + "reportTenantAccount": "user@example.com", + "tenantId": "123e4567-e89b-12d3-a456-426614174000", + "updatedAt": "2023-11-19T10:05:00.000Z" + }, + "data": { + "reportCreatedDate": "2026-06-26T11:00:00.000Z", + "reportUpdatedDate": "2026-06-26T11:00:00.000Z", + "policyList": { + "a1b2c3d4-e5f6-7890-abcd-ef1234567890": { + "name": "Require MFA for all users", + "categoryList": [ + "Conditional Access" + ], + "coverageStatus": "partial", + "coverageMetricsRaw": { + "covered": 80, + "partial": 15, + "noCover": 5 + }, + "coverageMetricsNormalized": { + "covered": 80, + "partial": 15, + "noCover": 5 + } + } + } + }, + "schemaVersion": 1 + } + } + }, + "schema": { + "$ref": "#/components/schemas/CspmPolicyAssessmentV1" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "500": { + "$ref": "#/components/responses/500" + } + }, + "tags": [ + "Architecture Reporting" + ] + } + }, "/Api/CloudMatrix/Dashboard": { "get": { "description": "Retrieves the list of cloud matrix correlation records on the tenant provided inside the token. Can use filters targeting creation date to limit results. Cloud matrix records store the metadata for a specific cloud matrix correlation.\n\nThis endpoint requires the `CloudMatrix.Read`, `CloudMatrix.Read.Del`, `CloudMatrix.Read.All`, `CloudMatrix.ReadWrite`, or `CloudMatrix.ReadWrite.All` scope (permission).", From 62443ac73e5d270677b87802edbb83368224efa7 Mon Sep 17 00:00:00 2001 From: Ruman Mulla <91155446+Loop-infinity@users.noreply.github.com> Date: Thu, 16 Jul 2026 09:26:49 +0100 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Ruman Mulla <91155446+Loop-infinity@users.noreply.github.com> --- specs/Data-Gateway.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 082d5ca..f721577 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -10132,6 +10132,12 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, "500": { "$ref": "#/components/responses/500" } From 161859af0a930c34ab2112ac9410d6d7e6f22459 Mon Sep 17 00:00:00 2001 From: Ruman Mulla Date: Fri, 17 Jul 2026 14:26:50 +0100 Subject: [PATCH 3/3] LAB-2581: Update CSPM Assessment Open api spec --- specs/Data-Gateway.json | 90 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index f721577..af58517 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -10071,7 +10071,7 @@ "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/{correlationId}/Data": { "get": { "summary": "Retrieve CSPM Policy Assessment V1 by Correlation ID", - "description": "Retrieves the stored CSPM policy assessment for the specified correlation ID in the authenticated tenant.\n\nThis endpoint requires the `ArchitectureReport.Read`, `ArchitectureReport.Read.All`, `ArchitectureReport.ReadWrite`, or `ArchitectureReport.ReadWrite.All` scope (permission). This endpoint is also only accessible from the `SHI` and `SHI Lab` tenants. End user access is restricted.", + "description": "Retrieves the stored CSPM policy assessment for the specified correlation ID in the authenticated tenant.\n\nThis endpoint requires the `ArchitectureReport.Read`, `ArchitectureReport.Read.All`, `ArchitectureReport.ReadWrite`, or `ArchitectureReport.ReadWrite.All` scope (permission).", "operationId": "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/:correlationId/Data/Get", "parameters": [ { @@ -10138,6 +10138,94 @@ "403": { "$ref": "#/components/responses/403" }, + "404": { + "$ref": "#/components/responses/404" + }, + "500": { + "$ref": "#/components/responses/500" + } + }, + "tags": [ + "Architecture Reporting" + ] + } + }, + "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/{correlationId}/Tenant/{tenantId}/Data": { + "get": { + "summary": "Retrieve CSPM Policy Assessment V1 by Correlation ID and Tenant ID", + "description": "Retrieves the stored CSPM policy assessment for the specified correlation ID in the specified tenant.\n\nThis endpoint requires the `ArchitectureReport.Read.All`, `ArchitectureReport.ReadWrite.All` scope (permission). This endpoint is also only accessible from the `SHI` and `SHI Lab` tenants. End user access is restricted.", + "operationId": "/Api/V1/ArchitectureReport/CspmPolicyAssessment/Correlation/:correlationId/Tenant/:tenantId/Data/Get", + "parameters": [ + { + "$ref": "#/components/parameters/correlationId" + }, + { + "$ref": "#/components/parameters/tenantId" + } + ], + "responses": { + "200": { + "description": "The CSPM policy assessment data for the specified correlation ID and tenant ID.", + "content": { + "application/json": { + "examples": { + "CSPM Policy Assessment V1": { + "description": "Sample stored CSPM policy assessment result retrieved by correlation record ID and tenant ID.", + "summary": "CSPM Policy Assessment Details", + "value": { + "correlation": { + "auditTenantAccount": "user@example.com", + "correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "createdAt": "2023-11-19T10:00:00.000Z", + "reportTenantAccount": "user@example.com", + "tenantId": "123e4567-e89b-12d3-a456-426614174000", + "updatedAt": "2023-11-19T10:05:00.000Z" + }, + "data": { + "reportCreatedDate": "2026-06-26T11:00:00.000Z", + "reportUpdatedDate": "2026-06-26T11:00:00.000Z", + "policyList": { + "a1b2c3d4-e5f6-7890-abcd-ef1234567890": { + "name": "Require MFA for all users", + "categoryList": [ + "Conditional Access" + ], + "coverageStatus": "partial", + "coverageMetricsRaw": { + "covered": 80, + "partial": 15, + "noCover": 5 + }, + "coverageMetricsNormalized": { + "covered": 80, + "partial": 15, + "noCover": 5 + } + } + } + }, + "schemaVersion": 1 + } + } + }, + "schema": { + "$ref": "#/components/schemas/CspmPolicyAssessmentV1" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, "500": { "$ref": "#/components/responses/500" }