Skip to content

Commit 215554f

Browse files
committed
Adding new endpoint to provide list of correlation records
Listing available correlation entries for the Architecture Report
1 parent 85d6ae6 commit 215554f

File tree

1 file changed

+143
-1
lines changed

1 file changed

+143
-1
lines changed

specs/SHIELD.json

Lines changed: 143 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3207,6 +3207,80 @@
32073207
],
32083208
"title": "Type of security class the object(s) belongs to",
32093209
"type": "string"
3210+
},
3211+
"ArchitectureReport.CorrelationRecord": {
3212+
"description": "Metadata that describes the execution session (run) that is used to tie/relate all of the architecture report together.",
3213+
"examples": [
3214+
{
3215+
"auditTenantAccount": "first-user@example.com",
3216+
"correlationId": "b25f54b3-f30e-4447-9236-24ecac2e9261",
3217+
"reportTenantAccount": "other-user@example.com",
3218+
"tenantId": "a7159bdc-678d-4726-901e-cd6d018d46e2",
3219+
"createdAt": "2025-11-01T00:10:10.821Z",
3220+
"updatedAt": "2025-12-01T20:10:12.821Z"
3221+
}
3222+
],
3223+
"properties": {
3224+
"auditTenantAccount": {
3225+
"description": "The user principal name used to authenticate into the tenant being audited.",
3226+
"examples": [
3227+
"admin-user@example.com"
3228+
],
3229+
"format": "email",
3230+
"type": "string"
3231+
},
3232+
"correlationId": {
3233+
"description": "Unique Identifier that represents a single run of architectural analysis. This record is used to identify which architecture report records should be grouped together.",
3234+
"examples": [
3235+
"88da2253-758f-4135-9d37-64448c8b65c1"
3236+
],
3237+
"type": "string",
3238+
"format": "uuid",
3239+
"maxLength": 36,
3240+
"minLength": 36,
3241+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$"
3242+
},
3243+
"reportTenantAccount": {
3244+
"description": "User account used to store/report the architecture report to the SHI Lab cloud service.",
3245+
"examples": [
3246+
"generic-user@example.com"
3247+
],
3248+
"format": "email",
3249+
"type": "string"
3250+
},
3251+
"tenantId": {
3252+
"description": "Tenant that the tool was run against.",
3253+
"examples": [
3254+
"0e1fe83f-a33f-4250-8546-225b8d45ae01"
3255+
],
3256+
"type": "string",
3257+
"format": "uuid",
3258+
"maxLength": 36,
3259+
"minLength": 36,
3260+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$"
3261+
},
3262+
"createdAt": {
3263+
"description": "Timestamp on when the record was created.",
3264+
"examples": [
3265+
"2024-08-01T21:12:22.148Z"
3266+
],
3267+
"format": "date-time",
3268+
"type": "string"
3269+
},
3270+
"updatedAt": {
3271+
"description": "Timestamp on when the record was last updated.",
3272+
"examples": [
3273+
"2024-08-01T21:12:22.148Z"
3274+
],
3275+
"format": "date-time",
3276+
"type": "string"
3277+
}
3278+
},
3279+
"required": [
3280+
"auditTenantAccount"
3281+
],
3282+
"title": "Architecture Report - Correlation Record",
3283+
"type": "object"
32103284
}
32113285
},
32123286
"securitySchemes": {
@@ -3855,7 +3929,7 @@
38553929
"tags": [
38563930
"Discover"
38573931
],
3858-
"summary": "Retrieve the List of Correlation Records"
3932+
"summary": "Retrieve the List of License Report Correlation Records"
38593933
}
38603934
},
38613935
"/Api/Discover/LicenseReport/Correlation/{correlationId}/Data": {
@@ -3950,6 +4024,74 @@
39504024
"summary": "Retrieve the Specified License Report"
39514025
}
39524026
},
4027+
"/Api/Discover/ArchitectureReport/Correlation": {
4028+
"get": {
4029+
"description": "Retrieves the list of correlation records for the authenticated tenant. Correlation records store the metadata for a specific architecture report.\n\nThis endpoint requires the `Discover.Read`, or the `Everything.ReadWrite` scope (permission).",
4030+
"operationId": "/Api/Discover/ArchitectureReport/Correlation/Get",
4031+
"responses": {
4032+
"200": {
4033+
"content": {
4034+
"application/json": {
4035+
"examples": {
4036+
"Typical Response": {
4037+
"description": "Sample list of correlation records for the authenticated tenant.",
4038+
"summary": "Available Correlation Records for Architecture Report",
4039+
"value": [
4040+
{
4041+
"auditTenantAccount": "somebody@example.com",
4042+
"correlationId": "e0b0ebef-d0bf-4467-80c8-6a3a5f37fb24",
4043+
"reportTenantAccount": "tenantUser@example.com",
4044+
"tenantId": "79f7e8c4-15fa-4ae2-8f05-74f3c5071798",
4045+
"createdAt": "2025-10-01T12:14:45.026Z",
4046+
"updatedAt": "2025-11-02T00:14:45.026Z"
4047+
},
4048+
{
4049+
"auditTenantAccount": "somebodyElse@example.com",
4050+
"correlationId": "de4a7293-eed0-4167-b622-efeb764a2148",
4051+
"reportTenantAccount": "anotherUser@example.com",
4052+
"tenantId": "23317352-da99-4b52-ac1c-ad8e16310296",
4053+
"createdAt": "2025-06-20T20:14:45.026Z",
4054+
"updatedAt": "2025-07-22T12:10:45.026Z"
4055+
}
4056+
]
4057+
}
4058+
},
4059+
"schema": {
4060+
"type": "array",
4061+
"minItems": 0,
4062+
"items": {
4063+
"$ref": "#/components/schemas/ArchitectureReport.CorrelationRecord"
4064+
},
4065+
"examples": [
4066+
[
4067+
{
4068+
"auditTenantAccount": "somebody@example.com",
4069+
"correlationId": "e0b0ebef-d0bf-4467-80c8-6a3a5f37fb24",
4070+
"reportTenantAccount": "tenantUser@example.com",
4071+
"tenantId": "79f7e8c4-15fa-4ae2-8f05-74f3c5071798",
4072+
"createdAt": "2025-10-01T12:14:45.026Z",
4073+
"updatedAt": "2025-11-02T00:14:45.026Z"
4074+
}
4075+
]
4076+
]
4077+
}
4078+
}
4079+
},
4080+
"description": "OK"
4081+
},
4082+
"401": {
4083+
"$ref": "#/components/responses/401"
4084+
},
4085+
"403": {
4086+
"$ref": "#/components/responses/403"
4087+
}
4088+
},
4089+
"tags": [
4090+
"Discover"
4091+
],
4092+
"summary": "Retrieve the list of Architecture Report Correlation Records"
4093+
}
4094+
},
39534095
"/Api/Discover/ArchitectureReport/Correlation/{correlationId}/Data": {
39544096
"get": {
39554097
"description": "Retrieves the CSPM assessment coverage calculation results on the architecture report for the specified correlation ID in the authenticated tenant.\n\nThis endpoint requires the `Discover.Read`, or the `Everything.ReadWrite` scope (permission).",

0 commit comments

Comments
 (0)