|
36 | 36 | }
|
37 | 37 | }
|
38 | 38 | },
|
| 39 | + "/api/hubs/{hub}/:addToGroup": { |
| 40 | + "post": { |
| 41 | + "tags": [ |
| 42 | + "webpubsub" |
| 43 | + ], |
| 44 | + "summary": "Add filtered connections to multiple groups.", |
| 45 | + "operationId": "WebPubSub_AddConnectionsToGroups", |
| 46 | + "consumes": [ |
| 47 | + "application/json-patch+json", |
| 48 | + "application/json", |
| 49 | + "text/json", |
| 50 | + "application/*+json" |
| 51 | + ], |
| 52 | + "produces": [ |
| 53 | + "application/json" |
| 54 | + ], |
| 55 | + "parameters": [ |
| 56 | + { |
| 57 | + "in": "path", |
| 58 | + "name": "hub", |
| 59 | + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", |
| 60 | + "required": true, |
| 61 | + "type": "string", |
| 62 | + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" |
| 63 | + }, |
| 64 | + { |
| 65 | + "in": "query", |
| 66 | + "name": "api-version", |
| 67 | + "description": "The version of the REST APIs.", |
| 68 | + "required": true, |
| 69 | + "type": "string" |
| 70 | + }, |
| 71 | + { |
| 72 | + "in": "body", |
| 73 | + "name": "message", |
| 74 | + "description": "Target groups and connection filter.", |
| 75 | + "schema": { |
| 76 | + "$ref": "#/definitions/MultiGroupJoinRequest" |
| 77 | + } |
| 78 | + } |
| 79 | + ], |
| 80 | + "responses": { |
| 81 | + "202": { |
| 82 | + "description": "Accepted", |
| 83 | + "x-ms-long-running-operation": true |
| 84 | + }, |
| 85 | + "default": { |
| 86 | + "description": "Error response", |
| 87 | + "schema": { |
| 88 | + "$ref": "#/definitions/ErrorDetail" |
| 89 | + }, |
| 90 | + "x-ms-error-response": true, |
| 91 | + "headers": { |
| 92 | + "x-ms-error-code": { |
| 93 | + "x-ms-client-name": "ErrorCode", |
| 94 | + "type": "string" |
| 95 | + } |
| 96 | + } |
| 97 | + } |
| 98 | + }, |
| 99 | + "x-ms-examples": { |
| 100 | + "WebPubSub_AddConnectionsToGroups": { |
| 101 | + "$ref": "./examples/WebPubSub_AddConnectionsToGroups.json" |
| 102 | + } |
| 103 | + } |
| 104 | + } |
| 105 | + }, |
39 | 106 | "/api/hubs/{hub}/:closeConnections": {
|
40 | 107 | "post": {
|
41 | 108 | "tags": [
|
|
196 | 263 | }
|
197 | 264 | }
|
198 | 265 | },
|
| 266 | + "/api/hubs/{hub}/:removeFromGroup": { |
| 267 | + "post": { |
| 268 | + "tags": [ |
| 269 | + "webpubsub" |
| 270 | + ], |
| 271 | + "summary": "Remove filtered connections from multiple groups.", |
| 272 | + "operationId": "WebPubSub_RemoveConnectionsFromGroups", |
| 273 | + "consumes": [ |
| 274 | + "application/json-patch+json", |
| 275 | + "application/json", |
| 276 | + "text/json", |
| 277 | + "application/*+json" |
| 278 | + ], |
| 279 | + "produces": [ |
| 280 | + "application/json" |
| 281 | + ], |
| 282 | + "parameters": [ |
| 283 | + { |
| 284 | + "in": "path", |
| 285 | + "name": "hub", |
| 286 | + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", |
| 287 | + "required": true, |
| 288 | + "type": "string", |
| 289 | + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" |
| 290 | + }, |
| 291 | + { |
| 292 | + "in": "query", |
| 293 | + "name": "api-version", |
| 294 | + "description": "The version of the REST APIs.", |
| 295 | + "required": true, |
| 296 | + "type": "string" |
| 297 | + }, |
| 298 | + { |
| 299 | + "in": "body", |
| 300 | + "name": "message", |
| 301 | + "description": "Target groups and connection filter.", |
| 302 | + "schema": { |
| 303 | + "$ref": "#/definitions/MultiGroupLeaveRequest" |
| 304 | + } |
| 305 | + } |
| 306 | + ], |
| 307 | + "responses": { |
| 308 | + "202": { |
| 309 | + "description": "Accepted", |
| 310 | + "x-ms-long-running-operation": true |
| 311 | + }, |
| 312 | + "default": { |
| 313 | + "description": "Error response", |
| 314 | + "schema": { |
| 315 | + "$ref": "#/definitions/ErrorDetail" |
| 316 | + }, |
| 317 | + "x-ms-error-response": true, |
| 318 | + "headers": { |
| 319 | + "x-ms-error-code": { |
| 320 | + "x-ms-client-name": "ErrorCode", |
| 321 | + "type": "string" |
| 322 | + } |
| 323 | + } |
| 324 | + } |
| 325 | + }, |
| 326 | + "x-ms-examples": { |
| 327 | + "WebPubSub_RemoveConnectionsFromGroups": { |
| 328 | + "$ref": "./examples/WebPubSub_RemoveConnectionsFromGroups.json" |
| 329 | + } |
| 330 | + } |
| 331 | + } |
| 332 | + }, |
199 | 333 | "/api/hubs/{hub}/:send": {
|
200 | 334 | "post": {
|
201 | 335 | "tags": [
|
|
252 | 386 | "name": "filter",
|
253 | 387 | "description": "Following OData filter syntax to filter out the subscribers receiving the messages.",
|
254 | 388 | "type": "string"
|
| 389 | + }, |
| 390 | + { |
| 391 | + "in": "query", |
| 392 | + "name": "messageTtlSeconds", |
| 393 | + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", |
| 394 | + "type": "integer", |
| 395 | + "format": "int32", |
| 396 | + "maximum": 300, |
| 397 | + "minimum": 0 |
255 | 398 | }
|
256 | 399 | ],
|
257 | 400 | "responses": {
|
258 | 401 | "202": {
|
259 |
| - "description": "The message is accepted. The service follows fire-and-forget pattern when sending messages." |
| 402 | + "description": "The message is accepted. The service follows fire-and-forget pattern when sending messages.", |
| 403 | + "x-ms-long-running-operation": true |
260 | 404 | },
|
261 | 405 | "default": {
|
262 | 406 | "description": "Error response",
|
|
448 | 592 | "format": "binary",
|
449 | 593 | "type": "string"
|
450 | 594 | }
|
451 |
| - } |
| 595 | + }, |
| 596 | + { |
| 597 | + "in": "query", |
| 598 | + "name": "messageTtlSeconds", |
| 599 | + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", |
| 600 | + "type": "integer", |
| 601 | + "format": "int32", |
| 602 | + "maximum": 300, |
| 603 | + "minimum": 0 |
| 604 | + }, |
452 | 605 | ],
|
453 | 606 | "responses": {
|
454 | 607 | "202": {
|
455 |
| - "description": "Accepted" |
| 608 | + "description": "Accepted", |
| 609 | + "x-ms-long-running-operation": true |
456 | 610 | },
|
457 | 611 | "default": {
|
458 | 612 | "description": "Error response",
|
|
738 | 892 | "name": "filter",
|
739 | 893 | "description": "Following OData filter syntax to filter out the subscribers receiving the messages.",
|
740 | 894 | "type": "string"
|
| 895 | + }, |
| 896 | + { |
| 897 | + "in": "query", |
| 898 | + "name": "messageTtlSeconds", |
| 899 | + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", |
| 900 | + "type": "integer", |
| 901 | + "format": "int32", |
| 902 | + "maximum": 300, |
| 903 | + "minimum": 0 |
741 | 904 | }
|
742 | 905 | ],
|
743 | 906 | "responses": {
|
744 | 907 | "202": {
|
745 |
| - "description": "Accepted" |
| 908 | + "description": "Accepted", |
| 909 | + "x-ms-long-running-operation": true |
746 | 910 | },
|
747 | 911 | "default": {
|
748 | 912 | "description": "Error response",
|
|
1326 | 1490 | "name": "filter",
|
1327 | 1491 | "description": "Following OData filter syntax to filter out the subscribers receiving the messages.",
|
1328 | 1492 | "type": "string"
|
1329 |
| - } |
| 1493 | + }, |
| 1494 | + { |
| 1495 | + "in": "query", |
| 1496 | + "name": "messageTtlSeconds", |
| 1497 | + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", |
| 1498 | + "type": "integer", |
| 1499 | + "format": "int32", |
| 1500 | + "maximum": 300, |
| 1501 | + "minimum": 0 |
| 1502 | + }, |
1330 | 1503 | ],
|
1331 | 1504 | "responses": {
|
1332 | 1505 | "202": {
|
1333 |
| - "description": "Accepted" |
| 1506 | + "description": "Accepted", |
| 1507 | + "x-ms-long-running-operation": true |
1334 | 1508 | },
|
1335 | 1509 | "default": {
|
1336 | 1510 | "description": "Error response",
|
|
1602 | 1776 | "$ref": "#/definitions/InnerError"
|
1603 | 1777 | }
|
1604 | 1778 | }
|
| 1779 | + }, |
| 1780 | + "MultiGroupJoinRequest": { |
| 1781 | + "description": "The request object containing targets groups and connection filter", |
| 1782 | + "type": "object", |
| 1783 | + "properties": { |
| 1784 | + "groups": { |
| 1785 | + "type": "array", |
| 1786 | + "items": { |
| 1787 | + "type": "string" |
| 1788 | + } |
| 1789 | + }, |
| 1790 | + "connectionFilter": { |
| 1791 | + "type": "string" |
| 1792 | + } |
| 1793 | + } |
| 1794 | + }, |
| 1795 | + "MultiGroupLeaveRequest": { |
| 1796 | + "description": "The request object containing targets groups and connection filter", |
| 1797 | + "type": "object", |
| 1798 | + "properties": { |
| 1799 | + "groups": { |
| 1800 | + "type": "array", |
| 1801 | + "items": { |
| 1802 | + "type": "string" |
| 1803 | + } |
| 1804 | + }, |
| 1805 | + "connectionFilter": { |
| 1806 | + "type": "string" |
| 1807 | + } |
| 1808 | + } |
1605 | 1809 | }
|
1606 | 1810 | },
|
1607 | 1811 | "x-ms-parameterized-host": {
|
|
0 commit comments