Skip to content

Commit 134d2c2

Browse files
committed
Merge branch 'main' into pasha-LAB-2212
2 parents 18225eb + 5a9114e commit 134d2c2

8 files changed

Lines changed: 1387 additions & 548 deletions

File tree

specs/Data-Gateway.json

Lines changed: 218 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4883,6 +4883,69 @@
48834883
"updatedBy": "John Doe"
48844884
}
48854885
]
4886+
},
4887+
"CloudMatrix.Publisher": {
4888+
"title": "Cloud Matrix Third-Party Publisher",
4889+
"type": "object",
4890+
"description": "Represents a third-party publisher of Cloud Matrix assessment alternate product, including their name, isActive and optional metadata field for extensibility.",
4891+
"properties": {
4892+
"name": {
4893+
"type": "string",
4894+
"description": "Name of the publisher.",
4895+
"examples": [
4896+
"Microsoft",
4897+
"Google"
4898+
]
4899+
},
4900+
"isActive": {
4901+
"type": "boolean",
4902+
"description": "Indicates whether the publisher is currently active for users to choose from.",
4903+
"examples": [
4904+
true,
4905+
false
4906+
]
4907+
},
4908+
"metadata": {
4909+
"type": "object",
4910+
"properties": {
4911+
"updatedAt": {
4912+
"$ref": "#/components/schemas/DateTimeStringType"
4913+
},
4914+
"updatedBy": {
4915+
"type": "string",
4916+
"examples": [
4917+
"John Doe",
4918+
"admin"
4919+
]
4920+
}
4921+
},
4922+
"description": "Additional metadata about the publisher to provide extensibility.",
4923+
"examples": [
4924+
{
4925+
"updatedAt": "2025-12-15T21:13:12.821Z",
4926+
"updatedBy": "John Doe"
4927+
}
4928+
]
4929+
}
4930+
},
4931+
"required": [
4932+
"name",
4933+
"isActive"
4934+
],
4935+
"examples": [
4936+
{
4937+
"name": "Microsoft",
4938+
"isActive": true
4939+
},
4940+
{
4941+
"name": "Google",
4942+
"isActive": false,
4943+
"metadata": {
4944+
"updatedAt": "2025-12-15T21:13:12.821Z",
4945+
"updatedBy": "John Doe"
4946+
}
4947+
}
4948+
]
48864949
}
48874950
},
48884951
"securitySchemes": {
@@ -4905,7 +4968,7 @@
49054968
},
49064969
"description": "Collects data from the various SHI Lab products and makes it available in a standardized way.",
49074970
"title": "SHI - Data Gateway",
4908-
"version": "3.2.2"
4971+
"version": "3.3.0"
49094972
},
49104973
"openapi": "3.1.1",
49114974
"paths": {
@@ -11508,6 +11571,159 @@
1150811571
],
1150911572
"summary": "Get a List of Cloud Matrix Template Metadata Objects"
1151011573
}
11574+
},
11575+
"/Api/CloudMatrix/Publishers": {
11576+
"get": {
11577+
"description": "Get a list of Cloud Matrix third-party publishers.\n\nThis endpoint requires the `CloudMatrix.Read` scope (permission).",
11578+
"operationId": "/Api/CloudMatrix/Publishers/Get",
11579+
"responses": {
11580+
"200": {
11581+
"description": "Successful request to return the whole list of publishers.",
11582+
"content": {
11583+
"application/json": {
11584+
"schema": {
11585+
"type": "array",
11586+
"minItems": 1,
11587+
"items": {
11588+
"$ref": "#/components/schemas/CloudMatrix.Publisher"
11589+
}
11590+
},
11591+
"examples": {
11592+
"Sample Output": {
11593+
"description": "A list of all publishers.",
11594+
"summary": "All Publishers",
11595+
"value": [
11596+
{
11597+
"name": "Microsoft",
11598+
"isActive": true
11599+
},
11600+
{
11601+
"name": "Google",
11602+
"isActive": false,
11603+
"metadata": {
11604+
"updatedAt": "2025-12-15T21:13:12.821Z",
11605+
"updatedBy": "John Doe"
11606+
}
11607+
}
11608+
]
11609+
}
11610+
}
11611+
}
11612+
}
11613+
},
11614+
"204": {
11615+
"description": "When the publisher JSON file does not exist on blob storage.",
11616+
"$ref": "#/components/responses/204"
11617+
},
11618+
"500": {
11619+
"$ref": "#/components/responses/500"
11620+
}
11621+
},
11622+
"tags": [
11623+
"Cloud Matrix"
11624+
],
11625+
"summary": "Get a List of All Cloud Matrix Third-Party Publishers"
11626+
},
11627+
"put": {
11628+
"description": "Replace the list of Cloud Matrix third-party publishers. This will overwrite the existing list of publishers with the list provided in the request body. \n\nThis endpoint is only accessible from the `SHI` and `SHI Lab` tenants and requires the `CloudMatrix.ReadWrite.All` scope (permission).",
11629+
"operationId": "/Api/CloudMatrix/Publishers/Put",
11630+
"requestBody": {
11631+
"description": "The JSON payload containing all publishers to update.",
11632+
"required": true,
11633+
"content": {
11634+
"application/json": {
11635+
"schema": {
11636+
"type": "array",
11637+
"minItems": 1,
11638+
"items": {
11639+
"$ref": "#/components/schemas/CloudMatrix.Publisher"
11640+
}
11641+
},
11642+
"examples": {
11643+
"Minimal Input": {
11644+
"description": "Sample input which includes one publisher.",
11645+
"summary": "A Sample Input That Is Valid",
11646+
"value": [
11647+
{
11648+
"name": "Microsoft",
11649+
"isActive": true
11650+
}
11651+
]
11652+
},
11653+
"Minimal Input With Metadata": {
11654+
"description": "Sample input which includes two publishers, one with metadata.",
11655+
"summary": "A Sample Input With One Publisher That Contains Metadata",
11656+
"value": [
11657+
{
11658+
"name": "Microsoft",
11659+
"isActive": true
11660+
},
11661+
{
11662+
"name": "Google",
11663+
"isActive": false,
11664+
"metadata": {
11665+
"updatedAt": "2025-12-15T21:13:12.821Z",
11666+
"updatedBy": "John Doe"
11667+
}
11668+
}
11669+
]
11670+
}
11671+
}
11672+
}
11673+
}
11674+
},
11675+
"responses": {
11676+
"200": {
11677+
"description": "Indicates successful upload and replacement of publisher list on blob storage.",
11678+
"content": {
11679+
"application/json": {
11680+
"schema": {
11681+
"type": "object",
11682+
"properties": {
11683+
"isOverwrite": {
11684+
"type": "boolean",
11685+
"examples": [
11686+
true,
11687+
false
11688+
]
11689+
}
11690+
}
11691+
},
11692+
"examples": {
11693+
"Initial Upload": {
11694+
"description": "This example demonstrates the response when the list of publishers is being uploaded for the first time. Since there is no existing list on blob storage, the `isOverwrite` property is set to false.",
11695+
"summary": "Initial Upload of Publishers",
11696+
"value": {
11697+
"isOverwrite": false
11698+
}
11699+
},
11700+
"Replace Successful": {
11701+
"description": "This example demonstrates the response when the list of publishers is being replaced successfully. Since there is an existing list on blob storage, the `isOverwrite` property is set to true.",
11702+
"summary": "Successful Replacement of Publishers",
11703+
"value": {
11704+
"isOverwrite": true
11705+
}
11706+
}
11707+
}
11708+
}
11709+
}
11710+
},
11711+
"400": {
11712+
"description": "Indicates the request body is missing, is null, is not a valid CloudMatrix.Publisher array, or is an empty array.",
11713+
"$ref": "#/components/responses/400"
11714+
},
11715+
"415": {
11716+
"description": "Indicating the request does not have the correct content type header application/json."
11717+
},
11718+
"500": {
11719+
"$ref": "#/components/responses/500"
11720+
}
11721+
},
11722+
"tags": [
11723+
"Cloud Matrix"
11724+
],
11725+
"summary": "Upload and Replace the List of Cloud Matrix Third-Party Publishers"
11726+
}
1151111727
}
1151211728
},
1151311729
"security": [
@@ -11567,4 +11783,4 @@
1156711783
"name": "Cloud Matrix"
1156811784
}
1156911785
]
11570-
}
11786+
}

0 commit comments

Comments
 (0)