@twin.org/node 0.0.3-next.32 → 0.0.3-next.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/locales/en.json +57 -15
- package/docs/changelog.md +223 -195
- package/docs/deployment-ec2.md +1 -1
- package/docs/open-api/spec.json +1744 -1073
- package/docs/usage.md +6 -0
- package/package.json +2 -2
package/docs/open-api/spec.json
CHANGED
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"name": "Info",
|
|
20
20
|
"description": "Information endpoints for the REST server."
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
"name": "Health",
|
|
24
|
+
"description": "Health endpoints for the REST server."
|
|
25
|
+
},
|
|
22
26
|
{
|
|
23
27
|
"name": "Authentication",
|
|
24
28
|
"description": "Authentication endpoints for the REST server."
|
|
@@ -47,6 +51,10 @@
|
|
|
47
51
|
"name": "Telemetry",
|
|
48
52
|
"description": "Endpoints which are modelled to access a telemetry contract."
|
|
49
53
|
},
|
|
54
|
+
{
|
|
55
|
+
"name": "Automation",
|
|
56
|
+
"description": "Endpoints which are modelled to access an automation contract."
|
|
57
|
+
},
|
|
50
58
|
{
|
|
51
59
|
"name": "Logging",
|
|
52
60
|
"description": "Endpoints which are modelled to access a logging contract."
|
|
@@ -119,34 +127,72 @@
|
|
|
119
127
|
"paths": {
|
|
120
128
|
"/": {
|
|
121
129
|
"get": {
|
|
122
|
-
"operationId": "
|
|
123
|
-
"summary": "Get the
|
|
130
|
+
"operationId": "serverHealth",
|
|
131
|
+
"summary": "Get the health for the server",
|
|
124
132
|
"tags": [
|
|
125
|
-
"
|
|
133
|
+
"Health"
|
|
126
134
|
],
|
|
127
135
|
"responses": {
|
|
128
136
|
"200": {
|
|
129
|
-
"description": "The
|
|
137
|
+
"description": "The health of the server.",
|
|
130
138
|
"content": {
|
|
131
|
-
"
|
|
139
|
+
"application/json": {
|
|
132
140
|
"schema": {
|
|
133
|
-
"$ref": "#/components/schemas/
|
|
141
|
+
"$ref": "#/components/schemas/ServerHealthResponse"
|
|
134
142
|
},
|
|
135
143
|
"examples": {
|
|
136
|
-
"
|
|
137
|
-
"summary": "The response for the
|
|
138
|
-
"value":
|
|
144
|
+
"healthResponseOK": {
|
|
145
|
+
"summary": "The response for the health request.",
|
|
146
|
+
"value": {
|
|
147
|
+
"status": "ok",
|
|
148
|
+
"components": [
|
|
149
|
+
{
|
|
150
|
+
"name": "Database",
|
|
151
|
+
"status": "ok"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "Storage",
|
|
155
|
+
"status": "ok"
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"healthResponseWarning": {
|
|
161
|
+
"summary": "The response for the health request with warnings.",
|
|
162
|
+
"value": {
|
|
163
|
+
"status": "warning",
|
|
164
|
+
"components": [
|
|
165
|
+
{
|
|
166
|
+
"name": "Database",
|
|
167
|
+
"status": "warning",
|
|
168
|
+
"description": "slowRunning"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "Storage",
|
|
172
|
+
"status": "ok"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"healthResponseError": {
|
|
178
|
+
"summary": "The response for the health request with errors.",
|
|
179
|
+
"value": {
|
|
180
|
+
"status": "error",
|
|
181
|
+
"components": [
|
|
182
|
+
{
|
|
183
|
+
"name": "Database",
|
|
184
|
+
"status": "ok"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"name": "Storage",
|
|
188
|
+
"status": "error",
|
|
189
|
+
"description": "storageFull"
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
139
193
|
}
|
|
140
194
|
}
|
|
141
195
|
}
|
|
142
|
-
},
|
|
143
|
-
"headers": {
|
|
144
|
-
"content-type": {
|
|
145
|
-
"schema": {
|
|
146
|
-
"type": "string"
|
|
147
|
-
},
|
|
148
|
-
"description": "e.g. text/plain"
|
|
149
|
-
}
|
|
150
196
|
}
|
|
151
197
|
},
|
|
152
198
|
"400": {
|
|
@@ -338,11 +384,11 @@
|
|
|
338
384
|
"examples": {
|
|
339
385
|
"livezResponseOK": {
|
|
340
386
|
"summary": "The response for the liveness request.",
|
|
341
|
-
"value": "
|
|
387
|
+
"value": "alive"
|
|
342
388
|
},
|
|
343
389
|
"livezResponseFailure": {
|
|
344
390
|
"summary": "The response for the liveness request with errors.",
|
|
345
|
-
"value": "
|
|
391
|
+
"value": "dead"
|
|
346
392
|
}
|
|
347
393
|
}
|
|
348
394
|
}
|
|
@@ -398,74 +444,40 @@
|
|
|
398
444
|
}
|
|
399
445
|
}
|
|
400
446
|
},
|
|
401
|
-
"/
|
|
447
|
+
"/readyz": {
|
|
402
448
|
"get": {
|
|
403
|
-
"operationId": "
|
|
404
|
-
"summary": "Get the
|
|
449
|
+
"operationId": "serverReadyz",
|
|
450
|
+
"summary": "Get the readyz status for the server",
|
|
405
451
|
"tags": [
|
|
406
452
|
"Info"
|
|
407
453
|
],
|
|
408
454
|
"responses": {
|
|
409
455
|
"200": {
|
|
410
|
-
"description": "The
|
|
456
|
+
"description": "The readyz of the server.",
|
|
411
457
|
"content": {
|
|
412
|
-
"
|
|
458
|
+
"text/plain": {
|
|
413
459
|
"schema": {
|
|
414
|
-
"$ref": "#/components/schemas/
|
|
460
|
+
"$ref": "#/components/schemas/ServerReadyzResponse"
|
|
415
461
|
},
|
|
416
462
|
"examples": {
|
|
417
|
-
"
|
|
418
|
-
"summary": "The response for the
|
|
419
|
-
"value":
|
|
420
|
-
"status": "ok",
|
|
421
|
-
"components": [
|
|
422
|
-
{
|
|
423
|
-
"name": "Database",
|
|
424
|
-
"status": "ok"
|
|
425
|
-
},
|
|
426
|
-
{
|
|
427
|
-
"name": "Storage",
|
|
428
|
-
"status": "ok"
|
|
429
|
-
}
|
|
430
|
-
]
|
|
431
|
-
}
|
|
432
|
-
},
|
|
433
|
-
"healthResponseWarning": {
|
|
434
|
-
"summary": "The response for the health request with warnings.",
|
|
435
|
-
"value": {
|
|
436
|
-
"status": "warning",
|
|
437
|
-
"components": [
|
|
438
|
-
{
|
|
439
|
-
"name": "Database",
|
|
440
|
-
"status": "warning",
|
|
441
|
-
"details": "The database is running slow."
|
|
442
|
-
},
|
|
443
|
-
{
|
|
444
|
-
"name": "Storage",
|
|
445
|
-
"status": "ok"
|
|
446
|
-
}
|
|
447
|
-
]
|
|
448
|
-
}
|
|
463
|
+
"readyzResponseOK": {
|
|
464
|
+
"summary": "The response for the readiness request.",
|
|
465
|
+
"value": "ready"
|
|
449
466
|
},
|
|
450
|
-
"
|
|
451
|
-
"summary": "The response for the
|
|
452
|
-
"value":
|
|
453
|
-
"status": "error",
|
|
454
|
-
"components": [
|
|
455
|
-
{
|
|
456
|
-
"name": "Database",
|
|
457
|
-
"status": "ok"
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"name": "Storage",
|
|
461
|
-
"status": "error",
|
|
462
|
-
"details": "The storage is full."
|
|
463
|
-
}
|
|
464
|
-
]
|
|
465
|
-
}
|
|
467
|
+
"readyzResponseFailure": {
|
|
468
|
+
"summary": "The response for the readiness request with errors.",
|
|
469
|
+
"value": "not ready"
|
|
466
470
|
}
|
|
467
471
|
}
|
|
468
472
|
}
|
|
473
|
+
},
|
|
474
|
+
"headers": {
|
|
475
|
+
"content-type": {
|
|
476
|
+
"schema": {
|
|
477
|
+
"type": "string"
|
|
478
|
+
},
|
|
479
|
+
"description": "e.g. text/plain"
|
|
480
|
+
}
|
|
469
481
|
}
|
|
470
482
|
},
|
|
471
483
|
"400": {
|
|
@@ -687,24 +699,31 @@
|
|
|
687
699
|
}
|
|
688
700
|
},
|
|
689
701
|
"/authentication/logout": {
|
|
690
|
-
"
|
|
702
|
+
"post": {
|
|
691
703
|
"operationId": "authenticationLogout",
|
|
692
704
|
"summary": "Logout from the server",
|
|
693
705
|
"tags": [
|
|
694
706
|
"Authentication"
|
|
695
707
|
],
|
|
696
|
-
"
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
"
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
708
|
+
"requestBody": {
|
|
709
|
+
"description": "Perform a logout on the auth token.",
|
|
710
|
+
"required": true,
|
|
711
|
+
"content": {
|
|
712
|
+
"application/json": {
|
|
713
|
+
"schema": {
|
|
714
|
+
"$ref": "#/components/schemas/LogoutRequest"
|
|
715
|
+
},
|
|
716
|
+
"examples": {
|
|
717
|
+
"logoutRequestExample": {
|
|
718
|
+
"summary": "The request to logout from the server.",
|
|
719
|
+
"value": {
|
|
720
|
+
"token": "eyJhbGciOiJIU...sw5c"
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
}
|
|
706
725
|
}
|
|
707
|
-
|
|
726
|
+
},
|
|
708
727
|
"responses": {
|
|
709
728
|
"204": {
|
|
710
729
|
"description": "The rest request ended in success with no data."
|
|
@@ -752,29 +771,36 @@
|
|
|
752
771
|
}
|
|
753
772
|
},
|
|
754
773
|
"/authentication/refresh": {
|
|
755
|
-
"
|
|
774
|
+
"post": {
|
|
756
775
|
"operationId": "authenticationRefreshToken",
|
|
757
776
|
"summary": "Refresh an authentication token",
|
|
758
777
|
"tags": [
|
|
759
778
|
"Authentication"
|
|
760
779
|
],
|
|
761
|
-
"parameters": [
|
|
762
|
-
{
|
|
763
|
-
"name": "token",
|
|
764
|
-
"description": "The token to refresh, if it uses a mechanism with public access.",
|
|
765
|
-
"in": "query",
|
|
766
|
-
"required": false,
|
|
767
|
-
"schema": {
|
|
768
|
-
"type": "string"
|
|
769
|
-
},
|
|
770
|
-
"example": "eyJhbGciOiJIU...sw5c"
|
|
771
|
-
}
|
|
772
|
-
],
|
|
773
780
|
"security": [
|
|
774
781
|
{
|
|
775
782
|
"jwtBearerAuthScheme": []
|
|
776
783
|
}
|
|
777
784
|
],
|
|
785
|
+
"requestBody": {
|
|
786
|
+
"description": "Perform a refresh of the auth token.",
|
|
787
|
+
"required": true,
|
|
788
|
+
"content": {
|
|
789
|
+
"application/json": {
|
|
790
|
+
"schema": {
|
|
791
|
+
"$ref": "#/components/schemas/RefreshTokenRequest"
|
|
792
|
+
},
|
|
793
|
+
"examples": {
|
|
794
|
+
"refreshTokenRequestExample": {
|
|
795
|
+
"summary": "The request to refresh an auth token.",
|
|
796
|
+
"value": {
|
|
797
|
+
"token": "eyJhbGciOiJIU...sw5c"
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
},
|
|
778
804
|
"responses": {
|
|
779
805
|
"200": {
|
|
780
806
|
"description": "Response from a refresh on the auth token.",
|
|
@@ -2620,35 +2646,24 @@
|
|
|
2620
2646
|
}
|
|
2621
2647
|
}
|
|
2622
2648
|
},
|
|
2623
|
-
"/identity/{identity}/
|
|
2649
|
+
"/identity/{identity}/alias": {
|
|
2624
2650
|
"post": {
|
|
2625
|
-
"operationId": "
|
|
2626
|
-
"summary": "
|
|
2651
|
+
"operationId": "identityAlsoKnownAsCreate",
|
|
2652
|
+
"summary": "Add an alias to the alsoKnownAs property on the document",
|
|
2627
2653
|
"tags": [
|
|
2628
2654
|
"Identity"
|
|
2629
2655
|
],
|
|
2630
2656
|
"parameters": [
|
|
2631
2657
|
{
|
|
2632
2658
|
"name": "identity",
|
|
2633
|
-
"description": "The identity to create the
|
|
2659
|
+
"description": "The identity to create the alias for.",
|
|
2634
2660
|
"in": "path",
|
|
2635
2661
|
"required": true,
|
|
2636
2662
|
"schema": {
|
|
2637
2663
|
"type": "string"
|
|
2638
2664
|
},
|
|
2639
2665
|
"style": "simple",
|
|
2640
|
-
"example": "did:
|
|
2641
|
-
},
|
|
2642
|
-
{
|
|
2643
|
-
"name": "verificationMethodId",
|
|
2644
|
-
"description": "The verification method id to use.",
|
|
2645
|
-
"in": "path",
|
|
2646
|
-
"required": true,
|
|
2647
|
-
"schema": {
|
|
2648
|
-
"type": "string"
|
|
2649
|
-
},
|
|
2650
|
-
"style": "simple",
|
|
2651
|
-
"example": "my-assertion"
|
|
2666
|
+
"example": "did:iota:tst:0xe3088ba9aa8c28e1d139708a14e8c0fdff11ee8223baac4aa5bcf3321e4bfc6a"
|
|
2652
2667
|
}
|
|
2653
2668
|
],
|
|
2654
2669
|
"security": [
|
|
@@ -2657,24 +2672,17 @@
|
|
|
2657
2672
|
}
|
|
2658
2673
|
],
|
|
2659
2674
|
"requestBody": {
|
|
2660
|
-
"description": "Request to create
|
|
2675
|
+
"description": "Request to create an alias for an identity.",
|
|
2661
2676
|
"required": true,
|
|
2662
2677
|
"content": {
|
|
2663
2678
|
"application/json": {
|
|
2664
2679
|
"schema": {
|
|
2665
|
-
"$ref": "#/components/schemas/
|
|
2680
|
+
"$ref": "#/components/schemas/IdentityAlsoKnownAsCreateRequest"
|
|
2666
2681
|
},
|
|
2667
2682
|
"examples": {
|
|
2668
|
-
"
|
|
2683
|
+
"identityAlsoKnownAsCreateRequestExample": {
|
|
2669
2684
|
"value": {
|
|
2670
|
-
"
|
|
2671
|
-
"subject": {
|
|
2672
|
-
"@context": "https://schema.org",
|
|
2673
|
-
"@type": "Person",
|
|
2674
|
-
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
2675
|
-
"name": "Jane Doe"
|
|
2676
|
-
},
|
|
2677
|
-
"revocationIndex": 5
|
|
2685
|
+
"alias": "did:example:123"
|
|
2678
2686
|
}
|
|
2679
2687
|
}
|
|
2680
2688
|
}
|
|
@@ -2682,44 +2690,8 @@
|
|
|
2682
2690
|
}
|
|
2683
2691
|
},
|
|
2684
2692
|
"responses": {
|
|
2685
|
-
"
|
|
2686
|
-
"description": "
|
|
2687
|
-
"content": {
|
|
2688
|
-
"application/json": {
|
|
2689
|
-
"schema": {
|
|
2690
|
-
"$ref": "#/components/schemas/IdentityVerifiableCredentialCreateResponse"
|
|
2691
|
-
},
|
|
2692
|
-
"examples": {
|
|
2693
|
-
"identityVerifiableCredentialCreateResponseExample": {
|
|
2694
|
-
"value": {
|
|
2695
|
-
"verifiableCredential": {
|
|
2696
|
-
"@context": [
|
|
2697
|
-
"https://www.w3.org/2018/credentials/v1",
|
|
2698
|
-
"https://schema.org"
|
|
2699
|
-
],
|
|
2700
|
-
"id": "https://example.com/credentials/3732",
|
|
2701
|
-
"type": [
|
|
2702
|
-
"VerifiableCredential",
|
|
2703
|
-
"Person"
|
|
2704
|
-
],
|
|
2705
|
-
"credentialSubject": {
|
|
2706
|
-
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
2707
|
-
"name": "Jane Doe"
|
|
2708
|
-
},
|
|
2709
|
-
"issuer": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a",
|
|
2710
|
-
"issuanceDate": "2025-01-24T09:21:51.500Z",
|
|
2711
|
-
"credentialStatus": {
|
|
2712
|
-
"id": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a#revocation",
|
|
2713
|
-
"type": "BitstringStatusList",
|
|
2714
|
-
"revocationBitmapIndex": "5"
|
|
2715
|
-
}
|
|
2716
|
-
},
|
|
2717
|
-
"jwt": "eyJraWQiOi...D1Z3AQ"
|
|
2718
|
-
}
|
|
2719
|
-
}
|
|
2720
|
-
}
|
|
2721
|
-
}
|
|
2722
|
-
}
|
|
2693
|
+
"204": {
|
|
2694
|
+
"description": "The rest request ended in success with no data."
|
|
2723
2695
|
},
|
|
2724
2696
|
"400": {
|
|
2725
2697
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -2781,44 +2753,161 @@
|
|
|
2781
2753
|
}
|
|
2782
2754
|
}
|
|
2783
2755
|
},
|
|
2784
|
-
"/identity/
|
|
2785
|
-
"
|
|
2786
|
-
"operationId": "
|
|
2787
|
-
"summary": "
|
|
2756
|
+
"/identity/{identity}/alias/{alias}": {
|
|
2757
|
+
"delete": {
|
|
2758
|
+
"operationId": "identityAlsoKnownAsRemove",
|
|
2759
|
+
"summary": "Remove an alias from the alsoKnownAs property on the document",
|
|
2788
2760
|
"tags": [
|
|
2789
2761
|
"Identity"
|
|
2790
2762
|
],
|
|
2791
|
-
"
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
"
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2763
|
+
"parameters": [
|
|
2764
|
+
{
|
|
2765
|
+
"name": "identity",
|
|
2766
|
+
"description": "The identity to remove the alias from.",
|
|
2767
|
+
"in": "path",
|
|
2768
|
+
"required": true,
|
|
2769
|
+
"schema": {
|
|
2770
|
+
"type": "string"
|
|
2771
|
+
},
|
|
2772
|
+
"style": "simple",
|
|
2773
|
+
"example": "did:iota:tst:0xe3088ba9aa8c28e1d139708a14e8c0fdff11ee8223baac4aa5bcf3321e4bfc6a"
|
|
2774
|
+
},
|
|
2775
|
+
{
|
|
2776
|
+
"name": "alias",
|
|
2777
|
+
"description": "The alias to remove.",
|
|
2778
|
+
"in": "path",
|
|
2779
|
+
"required": true,
|
|
2780
|
+
"schema": {
|
|
2781
|
+
"type": "string"
|
|
2782
|
+
},
|
|
2783
|
+
"style": "simple",
|
|
2784
|
+
"example": "did:example:123"
|
|
2785
|
+
}
|
|
2786
|
+
],
|
|
2787
|
+
"security": [
|
|
2788
|
+
{
|
|
2789
|
+
"jwtBearerAuthScheme": []
|
|
2790
|
+
}
|
|
2791
|
+
],
|
|
2792
|
+
"responses": {
|
|
2793
|
+
"204": {
|
|
2794
|
+
"description": "The rest request ended in success with no data."
|
|
2795
|
+
},
|
|
2796
|
+
"400": {
|
|
2797
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
2798
|
+
"content": {
|
|
2799
|
+
"application/json": {
|
|
2800
|
+
"schema": {
|
|
2801
|
+
"$ref": "#/components/schemas/Error"
|
|
2802
|
+
},
|
|
2803
|
+
"examples": {
|
|
2804
|
+
"exampleResponse": {
|
|
2805
|
+
"value": {
|
|
2806
|
+
"name": "GeneralError",
|
|
2807
|
+
"message": "errorMessage",
|
|
2808
|
+
"properties": {
|
|
2809
|
+
"foo": "bar"
|
|
2810
|
+
}
|
|
2811
|
+
}
|
|
2812
|
+
}
|
|
2813
|
+
}
|
|
2814
|
+
}
|
|
2815
|
+
}
|
|
2816
|
+
},
|
|
2817
|
+
"401": {
|
|
2818
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
2819
|
+
"content": {
|
|
2820
|
+
"application/json": {
|
|
2821
|
+
"schema": {
|
|
2822
|
+
"$ref": "#/components/schemas/Error"
|
|
2823
|
+
},
|
|
2824
|
+
"examples": {
|
|
2825
|
+
"exampleResponse": {
|
|
2826
|
+
"value": {
|
|
2827
|
+
"name": "UnauthorizedError",
|
|
2828
|
+
"message": "errorMessage"
|
|
2829
|
+
}
|
|
2830
|
+
}
|
|
2831
|
+
}
|
|
2832
|
+
}
|
|
2833
|
+
}
|
|
2834
|
+
},
|
|
2835
|
+
"500": {
|
|
2836
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
2837
|
+
"content": {
|
|
2838
|
+
"application/json": {
|
|
2839
|
+
"schema": {
|
|
2840
|
+
"$ref": "#/components/schemas/Error"
|
|
2841
|
+
},
|
|
2842
|
+
"examples": {
|
|
2843
|
+
"exampleResponse": {
|
|
2844
|
+
"value": {
|
|
2845
|
+
"name": "InternalServerError",
|
|
2846
|
+
"message": "errorMessage"
|
|
2847
|
+
}
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
}
|
|
2855
|
+
},
|
|
2856
|
+
"/identity/{identity}/verifiable-credential/{verificationMethodId}": {
|
|
2857
|
+
"post": {
|
|
2858
|
+
"operationId": "identityVerifiableCredentialCreate",
|
|
2859
|
+
"summary": "Create an identity verifiable credential",
|
|
2860
|
+
"tags": [
|
|
2861
|
+
"Identity"
|
|
2862
|
+
],
|
|
2863
|
+
"parameters": [
|
|
2864
|
+
{
|
|
2865
|
+
"name": "identity",
|
|
2866
|
+
"description": "The identity to create the verification credential for.",
|
|
2867
|
+
"in": "path",
|
|
2868
|
+
"required": true,
|
|
2869
|
+
"schema": {
|
|
2870
|
+
"type": "string"
|
|
2871
|
+
},
|
|
2872
|
+
"style": "simple",
|
|
2873
|
+
"example": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a"
|
|
2874
|
+
},
|
|
2875
|
+
{
|
|
2876
|
+
"name": "verificationMethodId",
|
|
2877
|
+
"description": "The verification method id to use.",
|
|
2878
|
+
"in": "path",
|
|
2879
|
+
"required": true,
|
|
2880
|
+
"schema": {
|
|
2881
|
+
"type": "string"
|
|
2882
|
+
},
|
|
2883
|
+
"style": "simple",
|
|
2884
|
+
"example": "my-assertion"
|
|
2885
|
+
}
|
|
2886
|
+
],
|
|
2887
|
+
"security": [
|
|
2888
|
+
{
|
|
2889
|
+
"jwtBearerAuthScheme": []
|
|
2890
|
+
}
|
|
2891
|
+
],
|
|
2892
|
+
"requestBody": {
|
|
2893
|
+
"description": "Request to create a verifiable credential.",
|
|
2894
|
+
"required": true,
|
|
2895
|
+
"content": {
|
|
2896
|
+
"application/json": {
|
|
2897
|
+
"schema": {
|
|
2898
|
+
"$ref": "#/components/schemas/IdentityVerifiableCredentialCreateRequest"
|
|
2899
|
+
},
|
|
2900
|
+
"examples": {
|
|
2901
|
+
"identityVerifiableCredentialCreateRequestExample": {
|
|
2902
|
+
"value": {
|
|
2903
|
+
"credentialId": "https://example.com/credentials/3732",
|
|
2904
|
+
"subject": {
|
|
2905
|
+
"@context": "https://schema.org",
|
|
2906
|
+
"@type": "Person",
|
|
2812
2907
|
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
2813
2908
|
"name": "Jane Doe"
|
|
2814
2909
|
},
|
|
2815
|
-
"
|
|
2816
|
-
"issuanceDate": "2025-01-24T09:21:51.500Z",
|
|
2817
|
-
"credentialStatus": {
|
|
2818
|
-
"id": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a#revocation",
|
|
2819
|
-
"type": "BitstringStatusList",
|
|
2820
|
-
"revocationBitmapIndex": "5"
|
|
2821
|
-
}
|
|
2910
|
+
"revocationIndex": 5
|
|
2822
2911
|
}
|
|
2823
2912
|
}
|
|
2824
2913
|
}
|
|
@@ -2827,16 +2916,15 @@
|
|
|
2827
2916
|
},
|
|
2828
2917
|
"responses": {
|
|
2829
2918
|
"200": {
|
|
2830
|
-
"description": "Response to
|
|
2919
|
+
"description": "Response to creating a verifiable credential.",
|
|
2831
2920
|
"content": {
|
|
2832
2921
|
"application/json": {
|
|
2833
2922
|
"schema": {
|
|
2834
|
-
"$ref": "#/components/schemas/
|
|
2923
|
+
"$ref": "#/components/schemas/IdentityVerifiableCredentialCreateResponse"
|
|
2835
2924
|
},
|
|
2836
2925
|
"examples": {
|
|
2837
|
-
"
|
|
2926
|
+
"identityVerifiableCredentialCreateResponseExample": {
|
|
2838
2927
|
"value": {
|
|
2839
|
-
"revoked": false,
|
|
2840
2928
|
"verifiableCredential": {
|
|
2841
2929
|
"@context": [
|
|
2842
2930
|
"https://www.w3.org/2018/credentials/v1",
|
|
@@ -2858,7 +2946,8 @@
|
|
|
2858
2946
|
"type": "BitstringStatusList",
|
|
2859
2947
|
"revocationBitmapIndex": "5"
|
|
2860
2948
|
}
|
|
2861
|
-
}
|
|
2949
|
+
},
|
|
2950
|
+
"jwt": "eyJraWQiOi...D1Z3AQ"
|
|
2862
2951
|
}
|
|
2863
2952
|
}
|
|
2864
2953
|
}
|
|
@@ -2886,6 +2975,24 @@
|
|
|
2886
2975
|
}
|
|
2887
2976
|
}
|
|
2888
2977
|
},
|
|
2978
|
+
"401": {
|
|
2979
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
2980
|
+
"content": {
|
|
2981
|
+
"application/json": {
|
|
2982
|
+
"schema": {
|
|
2983
|
+
"$ref": "#/components/schemas/Error"
|
|
2984
|
+
},
|
|
2985
|
+
"examples": {
|
|
2986
|
+
"exampleResponse": {
|
|
2987
|
+
"value": {
|
|
2988
|
+
"name": "UnauthorizedError",
|
|
2989
|
+
"message": "errorMessage"
|
|
2990
|
+
}
|
|
2991
|
+
}
|
|
2992
|
+
}
|
|
2993
|
+
}
|
|
2994
|
+
}
|
|
2995
|
+
},
|
|
2889
2996
|
"500": {
|
|
2890
2997
|
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
2891
2998
|
"content": {
|
|
@@ -2907,25 +3014,50 @@
|
|
|
2907
3014
|
}
|
|
2908
3015
|
}
|
|
2909
3016
|
},
|
|
2910
|
-
"/identity/verifiable-credential/verify": {
|
|
2911
|
-
"
|
|
2912
|
-
"operationId": "
|
|
2913
|
-
"summary": "Verify an identity verifiable credential",
|
|
3017
|
+
"/identity/verifiable-credential/verify/document": {
|
|
3018
|
+
"post": {
|
|
3019
|
+
"operationId": "identityVerifiableCredentialVerifyDocument",
|
|
3020
|
+
"summary": "Verify an identity verifiable credential document",
|
|
2914
3021
|
"tags": [
|
|
2915
3022
|
"Identity"
|
|
2916
3023
|
],
|
|
2917
|
-
"
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
"
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
3024
|
+
"requestBody": {
|
|
3025
|
+
"description": "Request to verify a verifiable credential.",
|
|
3026
|
+
"required": true,
|
|
3027
|
+
"content": {
|
|
3028
|
+
"application/json": {
|
|
3029
|
+
"schema": {
|
|
3030
|
+
"$ref": "https://schema.twindev.org/w3c-did/DidVerifiableCredential"
|
|
3031
|
+
},
|
|
3032
|
+
"examples": {
|
|
3033
|
+
"identityVerifiableCredentialVerifyDocumentRequestExample": {
|
|
3034
|
+
"value": {
|
|
3035
|
+
"@context": [
|
|
3036
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
3037
|
+
"https://schema.org"
|
|
3038
|
+
],
|
|
3039
|
+
"id": "https://example.com/credentials/3732",
|
|
3040
|
+
"type": [
|
|
3041
|
+
"VerifiableCredential",
|
|
3042
|
+
"Person"
|
|
3043
|
+
],
|
|
3044
|
+
"credentialSubject": {
|
|
3045
|
+
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
3046
|
+
"name": "Jane Doe"
|
|
3047
|
+
},
|
|
3048
|
+
"issuer": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a",
|
|
3049
|
+
"issuanceDate": "2025-01-24T09:21:51.500Z",
|
|
3050
|
+
"credentialStatus": {
|
|
3051
|
+
"id": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a#revocation",
|
|
3052
|
+
"type": "BitstringStatusList",
|
|
3053
|
+
"revocationBitmapIndex": "5"
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
}
|
|
3057
|
+
}
|
|
3058
|
+
}
|
|
2927
3059
|
}
|
|
2928
|
-
|
|
3060
|
+
},
|
|
2929
3061
|
"responses": {
|
|
2930
3062
|
"200": {
|
|
2931
3063
|
"description": "Response to verifying a verifiable credential.",
|
|
@@ -3008,23 +3140,124 @@
|
|
|
3008
3140
|
}
|
|
3009
3141
|
}
|
|
3010
3142
|
},
|
|
3011
|
-
"/identity/
|
|
3143
|
+
"/identity/verifiable-credential/verify": {
|
|
3012
3144
|
"get": {
|
|
3013
|
-
"operationId": "
|
|
3014
|
-
"summary": "
|
|
3145
|
+
"operationId": "identityVerifiableCredentialVerify",
|
|
3146
|
+
"summary": "Verify an identity verifiable credential",
|
|
3015
3147
|
"tags": [
|
|
3016
3148
|
"Identity"
|
|
3017
3149
|
],
|
|
3018
3150
|
"parameters": [
|
|
3019
3151
|
{
|
|
3020
|
-
"name": "
|
|
3021
|
-
"description": "The
|
|
3022
|
-
"in": "
|
|
3023
|
-
"required":
|
|
3152
|
+
"name": "jwt",
|
|
3153
|
+
"description": "The jwt to verify.",
|
|
3154
|
+
"in": "query",
|
|
3155
|
+
"required": false,
|
|
3024
3156
|
"schema": {
|
|
3025
3157
|
"type": "string"
|
|
3026
3158
|
},
|
|
3027
|
-
"
|
|
3159
|
+
"example": "eyJraWQiOi...D1Z3AQ"
|
|
3160
|
+
}
|
|
3161
|
+
],
|
|
3162
|
+
"responses": {
|
|
3163
|
+
"200": {
|
|
3164
|
+
"description": "Response to verifying a verifiable credential.",
|
|
3165
|
+
"content": {
|
|
3166
|
+
"application/json": {
|
|
3167
|
+
"schema": {
|
|
3168
|
+
"$ref": "#/components/schemas/IdentityVerifiableCredentialVerifyResponse"
|
|
3169
|
+
},
|
|
3170
|
+
"examples": {
|
|
3171
|
+
"identityVerifiableCredentialVerifyResponseExample": {
|
|
3172
|
+
"value": {
|
|
3173
|
+
"revoked": false,
|
|
3174
|
+
"verifiableCredential": {
|
|
3175
|
+
"@context": [
|
|
3176
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
3177
|
+
"https://schema.org"
|
|
3178
|
+
],
|
|
3179
|
+
"id": "https://example.com/credentials/3732",
|
|
3180
|
+
"type": [
|
|
3181
|
+
"VerifiableCredential",
|
|
3182
|
+
"Person"
|
|
3183
|
+
],
|
|
3184
|
+
"credentialSubject": {
|
|
3185
|
+
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
3186
|
+
"name": "Jane Doe"
|
|
3187
|
+
},
|
|
3188
|
+
"issuer": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a",
|
|
3189
|
+
"issuanceDate": "2025-01-24T09:21:51.500Z",
|
|
3190
|
+
"credentialStatus": {
|
|
3191
|
+
"id": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a#revocation",
|
|
3192
|
+
"type": "BitstringStatusList",
|
|
3193
|
+
"revocationBitmapIndex": "5"
|
|
3194
|
+
}
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
}
|
|
3200
|
+
}
|
|
3201
|
+
},
|
|
3202
|
+
"400": {
|
|
3203
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
3204
|
+
"content": {
|
|
3205
|
+
"application/json": {
|
|
3206
|
+
"schema": {
|
|
3207
|
+
"$ref": "#/components/schemas/Error"
|
|
3208
|
+
},
|
|
3209
|
+
"examples": {
|
|
3210
|
+
"exampleResponse": {
|
|
3211
|
+
"value": {
|
|
3212
|
+
"name": "GeneralError",
|
|
3213
|
+
"message": "errorMessage",
|
|
3214
|
+
"properties": {
|
|
3215
|
+
"foo": "bar"
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
}
|
|
3220
|
+
}
|
|
3221
|
+
}
|
|
3222
|
+
},
|
|
3223
|
+
"500": {
|
|
3224
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
3225
|
+
"content": {
|
|
3226
|
+
"application/json": {
|
|
3227
|
+
"schema": {
|
|
3228
|
+
"$ref": "#/components/schemas/Error"
|
|
3229
|
+
},
|
|
3230
|
+
"examples": {
|
|
3231
|
+
"exampleResponse": {
|
|
3232
|
+
"value": {
|
|
3233
|
+
"name": "InternalServerError",
|
|
3234
|
+
"message": "errorMessage"
|
|
3235
|
+
}
|
|
3236
|
+
}
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
}
|
|
3240
|
+
}
|
|
3241
|
+
}
|
|
3242
|
+
}
|
|
3243
|
+
},
|
|
3244
|
+
"/identity/{identity}/verifiable-credential/revoke/{revocationIndex}": {
|
|
3245
|
+
"get": {
|
|
3246
|
+
"operationId": "identityVerifiableCredentialRevoke",
|
|
3247
|
+
"summary": "Revoke an identity verifiable credential",
|
|
3248
|
+
"tags": [
|
|
3249
|
+
"Identity"
|
|
3250
|
+
],
|
|
3251
|
+
"parameters": [
|
|
3252
|
+
{
|
|
3253
|
+
"name": "identity",
|
|
3254
|
+
"description": "The identity to revoke the verification credential for.",
|
|
3255
|
+
"in": "path",
|
|
3256
|
+
"required": true,
|
|
3257
|
+
"schema": {
|
|
3258
|
+
"type": "string"
|
|
3259
|
+
},
|
|
3260
|
+
"style": "simple",
|
|
3028
3261
|
"example": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a"
|
|
3029
3262
|
},
|
|
3030
3263
|
{
|
|
@@ -3358,6 +3591,138 @@
|
|
|
3358
3591
|
}
|
|
3359
3592
|
}
|
|
3360
3593
|
},
|
|
3594
|
+
"/identity/verifiable-presentation/verify/document": {
|
|
3595
|
+
"post": {
|
|
3596
|
+
"operationId": "identityVerifiablePresentationVerifyDocument",
|
|
3597
|
+
"summary": "Verify an identity verifiable presentation document",
|
|
3598
|
+
"tags": [
|
|
3599
|
+
"Identity"
|
|
3600
|
+
],
|
|
3601
|
+
"requestBody": {
|
|
3602
|
+
"description": "Request to verify a verifiable presentation.",
|
|
3603
|
+
"required": true,
|
|
3604
|
+
"content": {
|
|
3605
|
+
"application/json": {
|
|
3606
|
+
"schema": {
|
|
3607
|
+
"$ref": "https://schema.twindev.org/w3c-did/DidVerifiablePresentation"
|
|
3608
|
+
},
|
|
3609
|
+
"examples": {
|
|
3610
|
+
"identityVerifiablePresentationVerifyDocumentRequestExample": {
|
|
3611
|
+
"value": {
|
|
3612
|
+
"@context": [
|
|
3613
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
3614
|
+
"https://schema.org"
|
|
3615
|
+
],
|
|
3616
|
+
"id": "https://example.com/credentials/3732",
|
|
3617
|
+
"type": [
|
|
3618
|
+
"VerifiableCredential",
|
|
3619
|
+
"Person"
|
|
3620
|
+
],
|
|
3621
|
+
"verifiableCredential": [
|
|
3622
|
+
{
|
|
3623
|
+
"@context": [
|
|
3624
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
3625
|
+
"https://schema.org"
|
|
3626
|
+
],
|
|
3627
|
+
"id": "https://example.com/credentials/3732",
|
|
3628
|
+
"type": [
|
|
3629
|
+
"VerifiableCredential",
|
|
3630
|
+
"Person"
|
|
3631
|
+
],
|
|
3632
|
+
"credentialSubject": {
|
|
3633
|
+
"id": "did:entity-storage:0x4757993355b921a8229bd780f30921b6a0216a72e6c3f37a09d13b8426a17def",
|
|
3634
|
+
"name": "Jane Doe"
|
|
3635
|
+
},
|
|
3636
|
+
"issuer": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a",
|
|
3637
|
+
"issuanceDate": "2025-01-24T09:21:51.500Z",
|
|
3638
|
+
"credentialStatus": {
|
|
3639
|
+
"id": "did:entity-storage:0x879c31386f992cfa29b77fe31e37256d69f6a57653cee4eb60ad4c4613c5515a#revocation",
|
|
3640
|
+
"type": "BitstringStatusList",
|
|
3641
|
+
"revocationBitmapIndex": "5"
|
|
3642
|
+
}
|
|
3643
|
+
}
|
|
3644
|
+
]
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
}
|
|
3648
|
+
}
|
|
3649
|
+
}
|
|
3650
|
+
},
|
|
3651
|
+
"responses": {
|
|
3652
|
+
"200": {
|
|
3653
|
+
"description": "Response to verifying a verifiable presentation.",
|
|
3654
|
+
"content": {
|
|
3655
|
+
"application/json": {
|
|
3656
|
+
"schema": {
|
|
3657
|
+
"$ref": "#/components/schemas/IdentityVerifiablePresentationVerifyResponse"
|
|
3658
|
+
},
|
|
3659
|
+
"examples": {
|
|
3660
|
+
"identityVerifiablePresentationVerifyResponseExample": {
|
|
3661
|
+
"value": {
|
|
3662
|
+
"revoked": false,
|
|
3663
|
+
"verifiablePresentation": {
|
|
3664
|
+
"@context": [
|
|
3665
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
3666
|
+
"https://schema.org"
|
|
3667
|
+
],
|
|
3668
|
+
"id": "presentationId",
|
|
3669
|
+
"type": [
|
|
3670
|
+
"VerifiablePresentation",
|
|
3671
|
+
"Person"
|
|
3672
|
+
],
|
|
3673
|
+
"verifiableCredential": [
|
|
3674
|
+
"eyJraWQiOi...D1Z3AQ"
|
|
3675
|
+
],
|
|
3676
|
+
"holder": "did:entity-storage:0xcea318e06e89f3fb4048160770effd84d0cfa5801fee13dfa6f9413a00429cec"
|
|
3677
|
+
}
|
|
3678
|
+
}
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
}
|
|
3682
|
+
}
|
|
3683
|
+
},
|
|
3684
|
+
"400": {
|
|
3685
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
3686
|
+
"content": {
|
|
3687
|
+
"application/json": {
|
|
3688
|
+
"schema": {
|
|
3689
|
+
"$ref": "#/components/schemas/Error"
|
|
3690
|
+
},
|
|
3691
|
+
"examples": {
|
|
3692
|
+
"exampleResponse": {
|
|
3693
|
+
"value": {
|
|
3694
|
+
"name": "GeneralError",
|
|
3695
|
+
"message": "errorMessage",
|
|
3696
|
+
"properties": {
|
|
3697
|
+
"foo": "bar"
|
|
3698
|
+
}
|
|
3699
|
+
}
|
|
3700
|
+
}
|
|
3701
|
+
}
|
|
3702
|
+
}
|
|
3703
|
+
}
|
|
3704
|
+
},
|
|
3705
|
+
"500": {
|
|
3706
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
3707
|
+
"content": {
|
|
3708
|
+
"application/json": {
|
|
3709
|
+
"schema": {
|
|
3710
|
+
"$ref": "#/components/schemas/Error"
|
|
3711
|
+
},
|
|
3712
|
+
"examples": {
|
|
3713
|
+
"exampleResponse": {
|
|
3714
|
+
"value": {
|
|
3715
|
+
"name": "InternalServerError",
|
|
3716
|
+
"message": "errorMessage"
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
}
|
|
3720
|
+
}
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
}
|
|
3724
|
+
}
|
|
3725
|
+
},
|
|
3361
3726
|
"/identity/verifiable-presentation/verify": {
|
|
3362
3727
|
"get": {
|
|
3363
3728
|
"operationId": "identityVerifiablePresentationVerify",
|
|
@@ -4809,38 +5174,679 @@
|
|
|
4809
5174
|
}
|
|
4810
5175
|
}
|
|
4811
5176
|
},
|
|
4812
|
-
"/blob-storage/{id}": {
|
|
4813
|
-
"get": {
|
|
4814
|
-
"operationId": "blobStorageGet",
|
|
4815
|
-
"summary": "Get the metadata for an item from blob storage",
|
|
5177
|
+
"/blob-storage/{id}": {
|
|
5178
|
+
"get": {
|
|
5179
|
+
"operationId": "blobStorageGet",
|
|
5180
|
+
"summary": "Get the metadata for an item from blob storage",
|
|
5181
|
+
"tags": [
|
|
5182
|
+
"Blob Storage"
|
|
5183
|
+
],
|
|
5184
|
+
"parameters": [
|
|
5185
|
+
{
|
|
5186
|
+
"name": "id",
|
|
5187
|
+
"description": "The id of the blob to get in urn format.",
|
|
5188
|
+
"in": "path",
|
|
5189
|
+
"required": true,
|
|
5190
|
+
"schema": {
|
|
5191
|
+
"type": "string"
|
|
5192
|
+
},
|
|
5193
|
+
"style": "simple",
|
|
5194
|
+
"example": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
|
|
5195
|
+
},
|
|
5196
|
+
{
|
|
5197
|
+
"name": "includeContent",
|
|
5198
|
+
"description": "Include the content in the response, otherwise only metadata is returned.",
|
|
5199
|
+
"in": "query",
|
|
5200
|
+
"required": false,
|
|
5201
|
+
"schema": {
|
|
5202
|
+
"type": "string"
|
|
5203
|
+
},
|
|
5204
|
+
"example": "true"
|
|
5205
|
+
},
|
|
5206
|
+
{
|
|
5207
|
+
"name": "decompress",
|
|
5208
|
+
"description": "If the content should be decompressed, if it was compressed when stored, defaults to true.",
|
|
5209
|
+
"in": "query",
|
|
5210
|
+
"required": false,
|
|
5211
|
+
"schema": {
|
|
5212
|
+
"type": "string"
|
|
5213
|
+
}
|
|
5214
|
+
},
|
|
5215
|
+
{
|
|
5216
|
+
"name": "overrideVaultKeyId",
|
|
5217
|
+
"description": "Use a different vault key id for decryption, if not provided the default vault key id will be used.",
|
|
5218
|
+
"in": "query",
|
|
5219
|
+
"required": false,
|
|
5220
|
+
"schema": {
|
|
5221
|
+
"type": "string"
|
|
5222
|
+
}
|
|
5223
|
+
},
|
|
5224
|
+
{
|
|
5225
|
+
"name": "accept",
|
|
5226
|
+
"in": "header",
|
|
5227
|
+
"required": true,
|
|
5228
|
+
"schema": {
|
|
5229
|
+
"type": "string"
|
|
5230
|
+
},
|
|
5231
|
+
"style": "simple"
|
|
5232
|
+
}
|
|
5233
|
+
],
|
|
5234
|
+
"security": [
|
|
5235
|
+
{
|
|
5236
|
+
"jwtBearerAuthScheme": []
|
|
5237
|
+
}
|
|
5238
|
+
],
|
|
5239
|
+
"responses": {
|
|
5240
|
+
"200": {
|
|
5241
|
+
"description": "Response to get an entry from blob storage.",
|
|
5242
|
+
"content": {
|
|
5243
|
+
"application/json": {
|
|
5244
|
+
"schema": {
|
|
5245
|
+
"$ref": "https://schema.twindev.org/blob-storage/BlobStorageEntry"
|
|
5246
|
+
},
|
|
5247
|
+
"examples": {
|
|
5248
|
+
"blobStorageGetResponseExample": {
|
|
5249
|
+
"value": {
|
|
5250
|
+
"@context": [
|
|
5251
|
+
"https://schema.twindev.org/blob-storage/",
|
|
5252
|
+
"https://schema.twindev.org/common/",
|
|
5253
|
+
"https://schema.org"
|
|
5254
|
+
],
|
|
5255
|
+
"type": "BlobStorageEntry",
|
|
5256
|
+
"id": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
|
|
5257
|
+
"dateCreated": "2024-01-01T00:00:00Z",
|
|
5258
|
+
"encodingFormat": "application/pdf",
|
|
5259
|
+
"blobSize": 42,
|
|
5260
|
+
"integrity": "sha256-xX2UsIj0xtLLMt7QFIExDHhqoAE0yO4i+EseJUVgKnA=",
|
|
5261
|
+
"fileExtension": "pdf",
|
|
5262
|
+
"metadata": {
|
|
5263
|
+
"@context": "https://schema.org",
|
|
5264
|
+
"@type": "DigitalDocument",
|
|
5265
|
+
"name": "myfile.pdf"
|
|
5266
|
+
},
|
|
5267
|
+
"blob": "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw=="
|
|
5268
|
+
}
|
|
5269
|
+
}
|
|
5270
|
+
}
|
|
5271
|
+
},
|
|
5272
|
+
"application/ld+json": {
|
|
5273
|
+
"schema": {
|
|
5274
|
+
"$ref": "https://schema.twindev.org/blob-storage/BlobStorageEntry"
|
|
5275
|
+
},
|
|
5276
|
+
"examples": {
|
|
5277
|
+
"blobStorageGetResponseJsonLdExample": {
|
|
5278
|
+
"value": {
|
|
5279
|
+
"@context": [
|
|
5280
|
+
"https://schema.twindev.org/blob-storage/",
|
|
5281
|
+
"https://schema.twindev.org/common/",
|
|
5282
|
+
"https://schema.org"
|
|
5283
|
+
],
|
|
5284
|
+
"type": "BlobStorageEntry",
|
|
5285
|
+
"id": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
|
|
5286
|
+
"dateCreated": "2024-01-01T00:00:00Z",
|
|
5287
|
+
"encodingFormat": "application/pdf",
|
|
5288
|
+
"blobSize": 42,
|
|
5289
|
+
"integrity": "sha256-xX2UsIj0xtLLMt7QFIExDHhqoAE0yO4i+EseJUVgKnA=",
|
|
5290
|
+
"fileExtension": "pdf",
|
|
5291
|
+
"metadata": {
|
|
5292
|
+
"@context": "https://schema.org",
|
|
5293
|
+
"@type": "DigitalDocument",
|
|
5294
|
+
"name": "myfile.pdf"
|
|
5295
|
+
},
|
|
5296
|
+
"blob": "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw=="
|
|
5297
|
+
}
|
|
5298
|
+
}
|
|
5299
|
+
}
|
|
5300
|
+
}
|
|
5301
|
+
}
|
|
5302
|
+
},
|
|
5303
|
+
"400": {
|
|
5304
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
5305
|
+
"content": {
|
|
5306
|
+
"application/json": {
|
|
5307
|
+
"schema": {
|
|
5308
|
+
"$ref": "#/components/schemas/Error"
|
|
5309
|
+
},
|
|
5310
|
+
"examples": {
|
|
5311
|
+
"exampleResponse": {
|
|
5312
|
+
"value": {
|
|
5313
|
+
"name": "GeneralError",
|
|
5314
|
+
"message": "errorMessage",
|
|
5315
|
+
"properties": {
|
|
5316
|
+
"foo": "bar"
|
|
5317
|
+
}
|
|
5318
|
+
}
|
|
5319
|
+
}
|
|
5320
|
+
}
|
|
5321
|
+
}
|
|
5322
|
+
}
|
|
5323
|
+
},
|
|
5324
|
+
"401": {
|
|
5325
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
5326
|
+
"content": {
|
|
5327
|
+
"application/json": {
|
|
5328
|
+
"schema": {
|
|
5329
|
+
"$ref": "#/components/schemas/Error"
|
|
5330
|
+
},
|
|
5331
|
+
"examples": {
|
|
5332
|
+
"exampleResponse": {
|
|
5333
|
+
"value": {
|
|
5334
|
+
"name": "UnauthorizedError",
|
|
5335
|
+
"message": "errorMessage"
|
|
5336
|
+
}
|
|
5337
|
+
}
|
|
5338
|
+
}
|
|
5339
|
+
}
|
|
5340
|
+
}
|
|
5341
|
+
},
|
|
5342
|
+
"404": {
|
|
5343
|
+
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
5344
|
+
"content": {
|
|
5345
|
+
"application/json": {
|
|
5346
|
+
"schema": {
|
|
5347
|
+
"$ref": "#/components/schemas/NotFoundResponse"
|
|
5348
|
+
},
|
|
5349
|
+
"examples": {
|
|
5350
|
+
"exampleResponse": {
|
|
5351
|
+
"value": {
|
|
5352
|
+
"name": "NotFoundError",
|
|
5353
|
+
"message": "errorMessage",
|
|
5354
|
+
"properties": {
|
|
5355
|
+
"notFoundId": "1"
|
|
5356
|
+
}
|
|
5357
|
+
}
|
|
5358
|
+
}
|
|
5359
|
+
}
|
|
5360
|
+
}
|
|
5361
|
+
}
|
|
5362
|
+
},
|
|
5363
|
+
"500": {
|
|
5364
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5365
|
+
"content": {
|
|
5366
|
+
"application/json": {
|
|
5367
|
+
"schema": {
|
|
5368
|
+
"$ref": "#/components/schemas/Error"
|
|
5369
|
+
},
|
|
5370
|
+
"examples": {
|
|
5371
|
+
"exampleResponse": {
|
|
5372
|
+
"value": {
|
|
5373
|
+
"name": "InternalServerError",
|
|
5374
|
+
"message": "errorMessage"
|
|
5375
|
+
}
|
|
5376
|
+
}
|
|
5377
|
+
}
|
|
5378
|
+
}
|
|
5379
|
+
}
|
|
5380
|
+
}
|
|
5381
|
+
}
|
|
5382
|
+
},
|
|
5383
|
+
"put": {
|
|
5384
|
+
"operationId": "blobStorageUpdate",
|
|
5385
|
+
"summary": "Update the metadata for an item in blob storage",
|
|
5386
|
+
"tags": [
|
|
5387
|
+
"Blob Storage"
|
|
5388
|
+
],
|
|
5389
|
+
"parameters": [
|
|
5390
|
+
{
|
|
5391
|
+
"name": "id",
|
|
5392
|
+
"description": "The id of the blob to get in urn format.",
|
|
5393
|
+
"in": "path",
|
|
5394
|
+
"required": true,
|
|
5395
|
+
"schema": {
|
|
5396
|
+
"type": "string"
|
|
5397
|
+
},
|
|
5398
|
+
"style": "simple",
|
|
5399
|
+
"example": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
|
|
5400
|
+
}
|
|
5401
|
+
],
|
|
5402
|
+
"security": [
|
|
5403
|
+
{
|
|
5404
|
+
"jwtBearerAuthScheme": []
|
|
5405
|
+
}
|
|
5406
|
+
],
|
|
5407
|
+
"requestBody": {
|
|
5408
|
+
"description": "Request to update a blob entry.",
|
|
5409
|
+
"required": true,
|
|
5410
|
+
"content": {
|
|
5411
|
+
"application/json": {
|
|
5412
|
+
"schema": {
|
|
5413
|
+
"$ref": "#/components/schemas/BlobStorageUpdateRequest"
|
|
5414
|
+
},
|
|
5415
|
+
"examples": {
|
|
5416
|
+
"blobStorageUpdateRequestExample": {
|
|
5417
|
+
"value": {
|
|
5418
|
+
"metadata": {
|
|
5419
|
+
"@context": "https://schema.org",
|
|
5420
|
+
"@type": "DigitalDocument",
|
|
5421
|
+
"name": "myfile.pdf"
|
|
5422
|
+
}
|
|
5423
|
+
}
|
|
5424
|
+
}
|
|
5425
|
+
}
|
|
5426
|
+
}
|
|
5427
|
+
}
|
|
5428
|
+
},
|
|
5429
|
+
"responses": {
|
|
5430
|
+
"204": {
|
|
5431
|
+
"description": "The rest request ended in success with no data."
|
|
5432
|
+
},
|
|
5433
|
+
"400": {
|
|
5434
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
5435
|
+
"content": {
|
|
5436
|
+
"application/json": {
|
|
5437
|
+
"schema": {
|
|
5438
|
+
"$ref": "#/components/schemas/Error"
|
|
5439
|
+
},
|
|
5440
|
+
"examples": {
|
|
5441
|
+
"exampleResponse": {
|
|
5442
|
+
"value": {
|
|
5443
|
+
"name": "GeneralError",
|
|
5444
|
+
"message": "errorMessage",
|
|
5445
|
+
"properties": {
|
|
5446
|
+
"foo": "bar"
|
|
5447
|
+
}
|
|
5448
|
+
}
|
|
5449
|
+
}
|
|
5450
|
+
}
|
|
5451
|
+
}
|
|
5452
|
+
}
|
|
5453
|
+
},
|
|
5454
|
+
"401": {
|
|
5455
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
5456
|
+
"content": {
|
|
5457
|
+
"application/json": {
|
|
5458
|
+
"schema": {
|
|
5459
|
+
"$ref": "#/components/schemas/Error"
|
|
5460
|
+
},
|
|
5461
|
+
"examples": {
|
|
5462
|
+
"exampleResponse": {
|
|
5463
|
+
"value": {
|
|
5464
|
+
"name": "UnauthorizedError",
|
|
5465
|
+
"message": "errorMessage"
|
|
5466
|
+
}
|
|
5467
|
+
}
|
|
5468
|
+
}
|
|
5469
|
+
}
|
|
5470
|
+
}
|
|
5471
|
+
},
|
|
5472
|
+
"500": {
|
|
5473
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5474
|
+
"content": {
|
|
5475
|
+
"application/json": {
|
|
5476
|
+
"schema": {
|
|
5477
|
+
"$ref": "#/components/schemas/Error"
|
|
5478
|
+
},
|
|
5479
|
+
"examples": {
|
|
5480
|
+
"exampleResponse": {
|
|
5481
|
+
"value": {
|
|
5482
|
+
"name": "InternalServerError",
|
|
5483
|
+
"message": "errorMessage"
|
|
5484
|
+
}
|
|
5485
|
+
}
|
|
5486
|
+
}
|
|
5487
|
+
}
|
|
5488
|
+
}
|
|
5489
|
+
}
|
|
5490
|
+
}
|
|
5491
|
+
},
|
|
5492
|
+
"delete": {
|
|
5493
|
+
"operationId": "blobStorageRemove",
|
|
5494
|
+
"summary": "Remove an item from blob storage",
|
|
5495
|
+
"tags": [
|
|
5496
|
+
"Blob Storage"
|
|
5497
|
+
],
|
|
5498
|
+
"parameters": [
|
|
5499
|
+
{
|
|
5500
|
+
"name": "id",
|
|
5501
|
+
"description": "The id of the blob to remove in urn format.",
|
|
5502
|
+
"in": "path",
|
|
5503
|
+
"required": true,
|
|
5504
|
+
"schema": {
|
|
5505
|
+
"type": "string"
|
|
5506
|
+
},
|
|
5507
|
+
"style": "simple",
|
|
5508
|
+
"example": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
|
|
5509
|
+
}
|
|
5510
|
+
],
|
|
5511
|
+
"security": [
|
|
5512
|
+
{
|
|
5513
|
+
"jwtBearerAuthScheme": []
|
|
5514
|
+
}
|
|
5515
|
+
],
|
|
5516
|
+
"responses": {
|
|
5517
|
+
"204": {
|
|
5518
|
+
"description": "The rest request ended in success with no data."
|
|
5519
|
+
},
|
|
5520
|
+
"400": {
|
|
5521
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
5522
|
+
"content": {
|
|
5523
|
+
"application/json": {
|
|
5524
|
+
"schema": {
|
|
5525
|
+
"$ref": "#/components/schemas/Error"
|
|
5526
|
+
},
|
|
5527
|
+
"examples": {
|
|
5528
|
+
"exampleResponse": {
|
|
5529
|
+
"value": {
|
|
5530
|
+
"name": "GeneralError",
|
|
5531
|
+
"message": "errorMessage",
|
|
5532
|
+
"properties": {
|
|
5533
|
+
"foo": "bar"
|
|
5534
|
+
}
|
|
5535
|
+
}
|
|
5536
|
+
}
|
|
5537
|
+
}
|
|
5538
|
+
}
|
|
5539
|
+
}
|
|
5540
|
+
},
|
|
5541
|
+
"401": {
|
|
5542
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
5543
|
+
"content": {
|
|
5544
|
+
"application/json": {
|
|
5545
|
+
"schema": {
|
|
5546
|
+
"$ref": "#/components/schemas/Error"
|
|
5547
|
+
},
|
|
5548
|
+
"examples": {
|
|
5549
|
+
"exampleResponse": {
|
|
5550
|
+
"value": {
|
|
5551
|
+
"name": "UnauthorizedError",
|
|
5552
|
+
"message": "errorMessage"
|
|
5553
|
+
}
|
|
5554
|
+
}
|
|
5555
|
+
}
|
|
5556
|
+
}
|
|
5557
|
+
}
|
|
5558
|
+
},
|
|
5559
|
+
"404": {
|
|
5560
|
+
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
5561
|
+
"content": {
|
|
5562
|
+
"application/json": {
|
|
5563
|
+
"schema": {
|
|
5564
|
+
"$ref": "#/components/schemas/NotFoundResponse"
|
|
5565
|
+
},
|
|
5566
|
+
"examples": {
|
|
5567
|
+
"exampleResponse": {
|
|
5568
|
+
"value": {
|
|
5569
|
+
"name": "NotFoundError",
|
|
5570
|
+
"message": "errorMessage",
|
|
5571
|
+
"properties": {
|
|
5572
|
+
"notFoundId": "1"
|
|
5573
|
+
}
|
|
5574
|
+
}
|
|
5575
|
+
}
|
|
5576
|
+
}
|
|
5577
|
+
}
|
|
5578
|
+
}
|
|
5579
|
+
},
|
|
5580
|
+
"500": {
|
|
5581
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5582
|
+
"content": {
|
|
5583
|
+
"application/json": {
|
|
5584
|
+
"schema": {
|
|
5585
|
+
"$ref": "#/components/schemas/Error"
|
|
5586
|
+
},
|
|
5587
|
+
"examples": {
|
|
5588
|
+
"exampleResponse": {
|
|
5589
|
+
"value": {
|
|
5590
|
+
"name": "InternalServerError",
|
|
5591
|
+
"message": "errorMessage"
|
|
5592
|
+
}
|
|
5593
|
+
}
|
|
5594
|
+
}
|
|
5595
|
+
}
|
|
5596
|
+
}
|
|
5597
|
+
}
|
|
5598
|
+
}
|
|
5599
|
+
}
|
|
5600
|
+
},
|
|
5601
|
+
"/blob-storage/{id}/content": {
|
|
5602
|
+
"get": {
|
|
5603
|
+
"operationId": "blobStorageGetContent",
|
|
5604
|
+
"summary": "Get the content for an item in blob storage",
|
|
5605
|
+
"tags": [
|
|
5606
|
+
"Blob Storage"
|
|
5607
|
+
],
|
|
5608
|
+
"parameters": [
|
|
5609
|
+
{
|
|
5610
|
+
"name": "id",
|
|
5611
|
+
"description": "",
|
|
5612
|
+
"in": "path",
|
|
5613
|
+
"required": true,
|
|
5614
|
+
"schema": {
|
|
5615
|
+
"type": "string"
|
|
5616
|
+
},
|
|
5617
|
+
"style": "simple",
|
|
5618
|
+
"example": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70"
|
|
5619
|
+
}
|
|
5620
|
+
],
|
|
5621
|
+
"security": [
|
|
5622
|
+
{
|
|
5623
|
+
"jwtBearerAuthScheme": []
|
|
5624
|
+
}
|
|
5625
|
+
],
|
|
5626
|
+
"responses": {
|
|
5627
|
+
"200": {
|
|
5628
|
+
"description": "The content of the blob, which will be a specific mime type if one can be detected from the content (or set as encodingFormat in the entry), or defaults to application/octet-stream.",
|
|
5629
|
+
"content": {
|
|
5630
|
+
"application/octet-stream": {
|
|
5631
|
+
"schema": {
|
|
5632
|
+
"type": "string",
|
|
5633
|
+
"format": "binary"
|
|
5634
|
+
},
|
|
5635
|
+
"examples": {
|
|
5636
|
+
"blobStorageGetContentResponseExample": {
|
|
5637
|
+
"summary": "Binary Data",
|
|
5638
|
+
"value": ""
|
|
5639
|
+
}
|
|
5640
|
+
}
|
|
5641
|
+
}
|
|
5642
|
+
}
|
|
5643
|
+
},
|
|
5644
|
+
"400": {
|
|
5645
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
5646
|
+
"content": {
|
|
5647
|
+
"application/json": {
|
|
5648
|
+
"schema": {
|
|
5649
|
+
"$ref": "#/components/schemas/Error"
|
|
5650
|
+
},
|
|
5651
|
+
"examples": {
|
|
5652
|
+
"exampleResponse": {
|
|
5653
|
+
"value": {
|
|
5654
|
+
"name": "GeneralError",
|
|
5655
|
+
"message": "errorMessage",
|
|
5656
|
+
"properties": {
|
|
5657
|
+
"foo": "bar"
|
|
5658
|
+
}
|
|
5659
|
+
}
|
|
5660
|
+
}
|
|
5661
|
+
}
|
|
5662
|
+
}
|
|
5663
|
+
}
|
|
5664
|
+
},
|
|
5665
|
+
"401": {
|
|
5666
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
5667
|
+
"content": {
|
|
5668
|
+
"application/json": {
|
|
5669
|
+
"schema": {
|
|
5670
|
+
"$ref": "#/components/schemas/Error"
|
|
5671
|
+
},
|
|
5672
|
+
"examples": {
|
|
5673
|
+
"exampleResponse": {
|
|
5674
|
+
"value": {
|
|
5675
|
+
"name": "UnauthorizedError",
|
|
5676
|
+
"message": "errorMessage"
|
|
5677
|
+
}
|
|
5678
|
+
}
|
|
5679
|
+
}
|
|
5680
|
+
}
|
|
5681
|
+
}
|
|
5682
|
+
},
|
|
5683
|
+
"404": {
|
|
5684
|
+
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
5685
|
+
"content": {
|
|
5686
|
+
"application/json": {
|
|
5687
|
+
"schema": {
|
|
5688
|
+
"$ref": "#/components/schemas/NotFoundResponse"
|
|
5689
|
+
},
|
|
5690
|
+
"examples": {
|
|
5691
|
+
"exampleResponse": {
|
|
5692
|
+
"value": {
|
|
5693
|
+
"name": "NotFoundError",
|
|
5694
|
+
"message": "errorMessage",
|
|
5695
|
+
"properties": {
|
|
5696
|
+
"notFoundId": "1"
|
|
5697
|
+
}
|
|
5698
|
+
}
|
|
5699
|
+
}
|
|
5700
|
+
}
|
|
5701
|
+
}
|
|
5702
|
+
}
|
|
5703
|
+
},
|
|
5704
|
+
"500": {
|
|
5705
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5706
|
+
"content": {
|
|
5707
|
+
"application/json": {
|
|
5708
|
+
"schema": {
|
|
5709
|
+
"$ref": "#/components/schemas/Error"
|
|
5710
|
+
},
|
|
5711
|
+
"examples": {
|
|
5712
|
+
"exampleResponse": {
|
|
5713
|
+
"value": {
|
|
5714
|
+
"name": "InternalServerError",
|
|
5715
|
+
"message": "errorMessage"
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
}
|
|
5719
|
+
}
|
|
5720
|
+
}
|
|
5721
|
+
}
|
|
5722
|
+
}
|
|
5723
|
+
}
|
|
5724
|
+
},
|
|
5725
|
+
"/telemetry/metric": {
|
|
5726
|
+
"post": {
|
|
5727
|
+
"operationId": "telemetryCreateMetric",
|
|
5728
|
+
"summary": "Create a telemetry metric",
|
|
4816
5729
|
"tags": [
|
|
4817
|
-
"
|
|
5730
|
+
"Telemetry"
|
|
4818
5731
|
],
|
|
4819
|
-
"
|
|
5732
|
+
"security": [
|
|
4820
5733
|
{
|
|
4821
|
-
"
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
"
|
|
4829
|
-
|
|
5734
|
+
"jwtBearerAuthScheme": []
|
|
5735
|
+
}
|
|
5736
|
+
],
|
|
5737
|
+
"requestBody": {
|
|
5738
|
+
"description": "Create a new telemetry metric.",
|
|
5739
|
+
"required": true,
|
|
5740
|
+
"content": {
|
|
5741
|
+
"application/json": {
|
|
5742
|
+
"schema": {
|
|
5743
|
+
"$ref": "#/components/schemas/TelemetryMetric"
|
|
5744
|
+
},
|
|
5745
|
+
"examples": {
|
|
5746
|
+
"telemetryCreateMetricRequestExample": {
|
|
5747
|
+
"value": {
|
|
5748
|
+
"id": "my-counter",
|
|
5749
|
+
"label": "My Counter",
|
|
5750
|
+
"description": "This is my counter",
|
|
5751
|
+
"type": 0,
|
|
5752
|
+
"unit": "KG"
|
|
5753
|
+
}
|
|
5754
|
+
}
|
|
5755
|
+
}
|
|
5756
|
+
}
|
|
5757
|
+
}
|
|
5758
|
+
},
|
|
5759
|
+
"responses": {
|
|
5760
|
+
"201": {
|
|
5761
|
+
"description": "The rest request ended in created response.",
|
|
5762
|
+
"headers": {
|
|
5763
|
+
"location": {
|
|
5764
|
+
"schema": {
|
|
5765
|
+
"type": "string"
|
|
5766
|
+
},
|
|
5767
|
+
"description": "e.g. my-counter"
|
|
5768
|
+
}
|
|
5769
|
+
}
|
|
5770
|
+
},
|
|
5771
|
+
"400": {
|
|
5772
|
+
"description": "The server cannot process the request, see the content for more details.",
|
|
5773
|
+
"content": {
|
|
5774
|
+
"application/json": {
|
|
5775
|
+
"schema": {
|
|
5776
|
+
"$ref": "#/components/schemas/Error"
|
|
5777
|
+
},
|
|
5778
|
+
"examples": {
|
|
5779
|
+
"exampleResponse": {
|
|
5780
|
+
"value": {
|
|
5781
|
+
"name": "GeneralError",
|
|
5782
|
+
"message": "errorMessage",
|
|
5783
|
+
"properties": {
|
|
5784
|
+
"foo": "bar"
|
|
5785
|
+
}
|
|
5786
|
+
}
|
|
5787
|
+
}
|
|
5788
|
+
}
|
|
5789
|
+
}
|
|
5790
|
+
}
|
|
5791
|
+
},
|
|
5792
|
+
"401": {
|
|
5793
|
+
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
5794
|
+
"content": {
|
|
5795
|
+
"application/json": {
|
|
5796
|
+
"schema": {
|
|
5797
|
+
"$ref": "#/components/schemas/Error"
|
|
5798
|
+
},
|
|
5799
|
+
"examples": {
|
|
5800
|
+
"exampleResponse": {
|
|
5801
|
+
"value": {
|
|
5802
|
+
"name": "UnauthorizedError",
|
|
5803
|
+
"message": "errorMessage"
|
|
5804
|
+
}
|
|
5805
|
+
}
|
|
5806
|
+
}
|
|
5807
|
+
}
|
|
5808
|
+
}
|
|
4830
5809
|
},
|
|
5810
|
+
"500": {
|
|
5811
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5812
|
+
"content": {
|
|
5813
|
+
"application/json": {
|
|
5814
|
+
"schema": {
|
|
5815
|
+
"$ref": "#/components/schemas/Error"
|
|
5816
|
+
},
|
|
5817
|
+
"examples": {
|
|
5818
|
+
"exampleResponse": {
|
|
5819
|
+
"value": {
|
|
5820
|
+
"name": "InternalServerError",
|
|
5821
|
+
"message": "errorMessage"
|
|
5822
|
+
}
|
|
5823
|
+
}
|
|
5824
|
+
}
|
|
5825
|
+
}
|
|
5826
|
+
}
|
|
5827
|
+
}
|
|
5828
|
+
}
|
|
5829
|
+
},
|
|
5830
|
+
"get": {
|
|
5831
|
+
"operationId": "telemetryListEntries",
|
|
5832
|
+
"summary": "Get a list of the telemetry metrics",
|
|
5833
|
+
"tags": [
|
|
5834
|
+
"Telemetry"
|
|
5835
|
+
],
|
|
5836
|
+
"parameters": [
|
|
4831
5837
|
{
|
|
4832
|
-
"name": "
|
|
4833
|
-
"description": "
|
|
5838
|
+
"name": "type",
|
|
5839
|
+
"description": "The type of the metric.",
|
|
4834
5840
|
"in": "query",
|
|
4835
5841
|
"required": false,
|
|
4836
5842
|
"schema": {
|
|
4837
5843
|
"type": "string"
|
|
4838
5844
|
},
|
|
4839
|
-
"example": "
|
|
5845
|
+
"example": "0"
|
|
4840
5846
|
},
|
|
4841
5847
|
{
|
|
4842
|
-
"name": "
|
|
4843
|
-
"description": "
|
|
5848
|
+
"name": "cursor",
|
|
5849
|
+
"description": "The optional cursor to get next chunk.",
|
|
4844
5850
|
"in": "query",
|
|
4845
5851
|
"required": false,
|
|
4846
5852
|
"schema": {
|
|
@@ -4848,22 +5854,13 @@
|
|
|
4848
5854
|
}
|
|
4849
5855
|
},
|
|
4850
5856
|
{
|
|
4851
|
-
"name": "
|
|
4852
|
-
"description": "
|
|
5857
|
+
"name": "limit",
|
|
5858
|
+
"description": "Limit the number of entities to return.",
|
|
4853
5859
|
"in": "query",
|
|
4854
5860
|
"required": false,
|
|
4855
5861
|
"schema": {
|
|
4856
5862
|
"type": "string"
|
|
4857
5863
|
}
|
|
4858
|
-
},
|
|
4859
|
-
{
|
|
4860
|
-
"name": "accept",
|
|
4861
|
-
"in": "header",
|
|
4862
|
-
"required": true,
|
|
4863
|
-
"schema": {
|
|
4864
|
-
"type": "string"
|
|
4865
|
-
},
|
|
4866
|
-
"style": "simple"
|
|
4867
5864
|
}
|
|
4868
5865
|
],
|
|
4869
5866
|
"security": [
|
|
@@ -4873,62 +5870,30 @@
|
|
|
4873
5870
|
],
|
|
4874
5871
|
"responses": {
|
|
4875
5872
|
"200": {
|
|
4876
|
-
"description": "Response
|
|
5873
|
+
"description": "Response for telemetry list request.",
|
|
4877
5874
|
"content": {
|
|
4878
5875
|
"application/json": {
|
|
4879
5876
|
"schema": {
|
|
4880
|
-
"$ref": "
|
|
4881
|
-
},
|
|
4882
|
-
"examples": {
|
|
4883
|
-
"blobStorageGetResponseExample": {
|
|
4884
|
-
"value": {
|
|
4885
|
-
"@context": [
|
|
4886
|
-
"https://schema.twindev.org/blob-storage/",
|
|
4887
|
-
"https://schema.twindev.org/common/",
|
|
4888
|
-
"https://schema.org"
|
|
4889
|
-
],
|
|
4890
|
-
"type": "BlobStorageEntry",
|
|
4891
|
-
"id": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
|
|
4892
|
-
"dateCreated": "2024-01-01T00:00:00Z",
|
|
4893
|
-
"encodingFormat": "application/pdf",
|
|
4894
|
-
"blobSize": 42,
|
|
4895
|
-
"integrity": "sha256-xX2UsIj0xtLLMt7QFIExDHhqoAE0yO4i+EseJUVgKnA=",
|
|
4896
|
-
"fileExtension": "pdf",
|
|
4897
|
-
"metadata": {
|
|
4898
|
-
"@context": "https://schema.org",
|
|
4899
|
-
"@type": "DigitalDocument",
|
|
4900
|
-
"name": "myfile.pdf"
|
|
4901
|
-
},
|
|
4902
|
-
"blob": "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw=="
|
|
4903
|
-
}
|
|
4904
|
-
}
|
|
4905
|
-
}
|
|
4906
|
-
},
|
|
4907
|
-
"application/ld+json": {
|
|
4908
|
-
"schema": {
|
|
4909
|
-
"$ref": "https://schema.twindev.org/blob-storage/BlobStorageEntry"
|
|
5877
|
+
"$ref": "#/components/schemas/TelemetryListResponse"
|
|
4910
5878
|
},
|
|
4911
5879
|
"examples": {
|
|
4912
|
-
"
|
|
5880
|
+
"telemetryListResponseExample": {
|
|
4913
5881
|
"value": {
|
|
4914
|
-
"
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
5882
|
+
"entities": [
|
|
5883
|
+
{
|
|
5884
|
+
"id": "my-counter",
|
|
5885
|
+
"label": "My Counter",
|
|
5886
|
+
"type": 0,
|
|
5887
|
+
"unit": "KG"
|
|
5888
|
+
},
|
|
5889
|
+
{
|
|
5890
|
+
"id": "my-counter-2",
|
|
5891
|
+
"label": "My Counter 2",
|
|
5892
|
+
"type": 1,
|
|
5893
|
+
"unit": "M"
|
|
5894
|
+
}
|
|
4918
5895
|
],
|
|
4919
|
-
"
|
|
4920
|
-
"id": "blob-memory:c57d94b088f4c6d2cb32ded014813d0c786aa00134c8ee22f84b1e2545602a70",
|
|
4921
|
-
"dateCreated": "2024-01-01T00:00:00Z",
|
|
4922
|
-
"encodingFormat": "application/pdf",
|
|
4923
|
-
"blobSize": 42,
|
|
4924
|
-
"integrity": "sha256-xX2UsIj0xtLLMt7QFIExDHhqoAE0yO4i+EseJUVgKnA=",
|
|
4925
|
-
"fileExtension": "pdf",
|
|
4926
|
-
"metadata": {
|
|
4927
|
-
"@context": "https://schema.org",
|
|
4928
|
-
"@type": "DigitalDocument",
|
|
4929
|
-
"name": "myfile.pdf"
|
|
4930
|
-
},
|
|
4931
|
-
"blob": "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw=="
|
|
5896
|
+
"cursor": "1"
|
|
4932
5897
|
}
|
|
4933
5898
|
}
|
|
4934
5899
|
}
|
|
@@ -4974,27 +5939,6 @@
|
|
|
4974
5939
|
}
|
|
4975
5940
|
}
|
|
4976
5941
|
},
|
|
4977
|
-
"404": {
|
|
4978
|
-
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
4979
|
-
"content": {
|
|
4980
|
-
"application/json": {
|
|
4981
|
-
"schema": {
|
|
4982
|
-
"$ref": "#/components/schemas/NotFoundResponse"
|
|
4983
|
-
},
|
|
4984
|
-
"examples": {
|
|
4985
|
-
"exampleResponse": {
|
|
4986
|
-
"value": {
|
|
4987
|
-
"name": "NotFoundError",
|
|
4988
|
-
"message": "errorMessage",
|
|
4989
|
-
"properties": {
|
|
4990
|
-
"notFoundId": "1"
|
|
4991
|
-
}
|
|
4992
|
-
}
|
|
4993
|
-
}
|
|
4994
|
-
}
|
|
4995
|
-
}
|
|
4996
|
-
}
|
|
4997
|
-
},
|
|
4998
5942
|
"500": {
|
|
4999
5943
|
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5000
5944
|
"content": {
|
|
@@ -5011,27 +5955,29 @@
|
|
|
5011
5955
|
}
|
|
5012
5956
|
}
|
|
5013
5957
|
}
|
|
5014
|
-
}
|
|
5015
|
-
}
|
|
5016
|
-
}
|
|
5017
|
-
}
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5958
|
+
}
|
|
5959
|
+
}
|
|
5960
|
+
}
|
|
5961
|
+
}
|
|
5962
|
+
},
|
|
5963
|
+
"/telemetry/metric/{id}": {
|
|
5964
|
+
"get": {
|
|
5965
|
+
"operationId": "telemetryGetMetric",
|
|
5966
|
+
"summary": "Get a telemetry metric and it's most recent value",
|
|
5021
5967
|
"tags": [
|
|
5022
|
-
"
|
|
5968
|
+
"Telemetry"
|
|
5023
5969
|
],
|
|
5024
5970
|
"parameters": [
|
|
5025
5971
|
{
|
|
5026
5972
|
"name": "id",
|
|
5027
|
-
"description": "The id of the
|
|
5973
|
+
"description": "The id of the metric.",
|
|
5028
5974
|
"in": "path",
|
|
5029
5975
|
"required": true,
|
|
5030
5976
|
"schema": {
|
|
5031
5977
|
"type": "string"
|
|
5032
5978
|
},
|
|
5033
5979
|
"style": "simple",
|
|
5034
|
-
"example": "
|
|
5980
|
+
"example": "my-counter"
|
|
5035
5981
|
}
|
|
5036
5982
|
],
|
|
5037
5983
|
"security": [
|
|
@@ -5039,31 +5985,34 @@
|
|
|
5039
5985
|
"jwtBearerAuthScheme": []
|
|
5040
5986
|
}
|
|
5041
5987
|
],
|
|
5042
|
-
"
|
|
5043
|
-
"
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
|
|
5988
|
+
"responses": {
|
|
5989
|
+
"200": {
|
|
5990
|
+
"description": "Get a telemetry metric response.",
|
|
5991
|
+
"content": {
|
|
5992
|
+
"application/json": {
|
|
5993
|
+
"schema": {
|
|
5994
|
+
"$ref": "#/components/schemas/TelemetryGetMetricResponse"
|
|
5995
|
+
},
|
|
5996
|
+
"examples": {
|
|
5997
|
+
"telemetryGetMetricResponseExample": {
|
|
5998
|
+
"value": {
|
|
5999
|
+
"metric": {
|
|
6000
|
+
"id": "my-counter",
|
|
6001
|
+
"label": "My Counter",
|
|
6002
|
+
"description": "This is my counter",
|
|
6003
|
+
"type": 0,
|
|
6004
|
+
"unit": "KG"
|
|
6005
|
+
},
|
|
6006
|
+
"value": {
|
|
6007
|
+
"id": "aabbccdd11223445566",
|
|
6008
|
+
"ts": 1715252922273,
|
|
6009
|
+
"value": 10
|
|
6010
|
+
}
|
|
5057
6011
|
}
|
|
5058
6012
|
}
|
|
5059
6013
|
}
|
|
5060
6014
|
}
|
|
5061
6015
|
}
|
|
5062
|
-
}
|
|
5063
|
-
},
|
|
5064
|
-
"responses": {
|
|
5065
|
-
"204": {
|
|
5066
|
-
"description": "The rest request ended in success with no data."
|
|
5067
6016
|
},
|
|
5068
6017
|
"400": {
|
|
5069
6018
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5124,23 +6073,23 @@
|
|
|
5124
6073
|
}
|
|
5125
6074
|
}
|
|
5126
6075
|
},
|
|
5127
|
-
"
|
|
5128
|
-
"operationId": "
|
|
5129
|
-
"summary": "
|
|
6076
|
+
"put": {
|
|
6077
|
+
"operationId": "telemetryUpdateMetric",
|
|
6078
|
+
"summary": "Update a telemetry metric",
|
|
5130
6079
|
"tags": [
|
|
5131
|
-
"
|
|
6080
|
+
"Telemetry"
|
|
5132
6081
|
],
|
|
5133
6082
|
"parameters": [
|
|
5134
6083
|
{
|
|
5135
6084
|
"name": "id",
|
|
5136
|
-
"description": "The id of the
|
|
6085
|
+
"description": "The id of the metric.",
|
|
5137
6086
|
"in": "path",
|
|
5138
6087
|
"required": true,
|
|
5139
6088
|
"schema": {
|
|
5140
6089
|
"type": "string"
|
|
5141
6090
|
},
|
|
5142
6091
|
"style": "simple",
|
|
5143
|
-
"example": "
|
|
6092
|
+
"example": "my-counter"
|
|
5144
6093
|
}
|
|
5145
6094
|
],
|
|
5146
6095
|
"security": [
|
|
@@ -5148,6 +6097,24 @@
|
|
|
5148
6097
|
"jwtBearerAuthScheme": []
|
|
5149
6098
|
}
|
|
5150
6099
|
],
|
|
6100
|
+
"requestBody": {
|
|
6101
|
+
"description": "Update a telemetry metric.",
|
|
6102
|
+
"required": true,
|
|
6103
|
+
"content": {
|
|
6104
|
+
"application/json": {
|
|
6105
|
+
"schema": {
|
|
6106
|
+
"$ref": "#/components/schemas/TelemetryUpdateMetricRequest"
|
|
6107
|
+
},
|
|
6108
|
+
"examples": {
|
|
6109
|
+
"telemetryUpdateMetricRequestExample": {
|
|
6110
|
+
"value": {
|
|
6111
|
+
"label": "My New Label"
|
|
6112
|
+
}
|
|
6113
|
+
}
|
|
6114
|
+
}
|
|
6115
|
+
}
|
|
6116
|
+
}
|
|
6117
|
+
},
|
|
5151
6118
|
"responses": {
|
|
5152
6119
|
"204": {
|
|
5153
6120
|
"description": "The rest request ended in success with no data."
|
|
@@ -5191,27 +6158,6 @@
|
|
|
5191
6158
|
}
|
|
5192
6159
|
}
|
|
5193
6160
|
},
|
|
5194
|
-
"404": {
|
|
5195
|
-
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
5196
|
-
"content": {
|
|
5197
|
-
"application/json": {
|
|
5198
|
-
"schema": {
|
|
5199
|
-
"$ref": "#/components/schemas/NotFoundResponse"
|
|
5200
|
-
},
|
|
5201
|
-
"examples": {
|
|
5202
|
-
"exampleResponse": {
|
|
5203
|
-
"value": {
|
|
5204
|
-
"name": "NotFoundError",
|
|
5205
|
-
"message": "errorMessage",
|
|
5206
|
-
"properties": {
|
|
5207
|
-
"notFoundId": "1"
|
|
5208
|
-
}
|
|
5209
|
-
}
|
|
5210
|
-
}
|
|
5211
|
-
}
|
|
5212
|
-
}
|
|
5213
|
-
}
|
|
5214
|
-
},
|
|
5215
6161
|
"500": {
|
|
5216
6162
|
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5217
6163
|
"content": {
|
|
@@ -5231,26 +6177,24 @@
|
|
|
5231
6177
|
}
|
|
5232
6178
|
}
|
|
5233
6179
|
}
|
|
5234
|
-
}
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
"operationId": "blobStorageGetContent",
|
|
5239
|
-
"summary": "Get the content for an item in blob storage",
|
|
6180
|
+
},
|
|
6181
|
+
"delete": {
|
|
6182
|
+
"operationId": "telemetryRemoveMetric",
|
|
6183
|
+
"summary": "Remove a telemetry metric and it's values.",
|
|
5240
6184
|
"tags": [
|
|
5241
|
-
"
|
|
6185
|
+
"Telemetry"
|
|
5242
6186
|
],
|
|
5243
6187
|
"parameters": [
|
|
5244
6188
|
{
|
|
5245
6189
|
"name": "id",
|
|
5246
|
-
"description": "",
|
|
6190
|
+
"description": "The id of the metric.",
|
|
5247
6191
|
"in": "path",
|
|
5248
6192
|
"required": true,
|
|
5249
6193
|
"schema": {
|
|
5250
6194
|
"type": "string"
|
|
5251
6195
|
},
|
|
5252
6196
|
"style": "simple",
|
|
5253
|
-
"example": "
|
|
6197
|
+
"example": "my-counter"
|
|
5254
6198
|
}
|
|
5255
6199
|
],
|
|
5256
6200
|
"security": [
|
|
@@ -5259,22 +6203,8 @@
|
|
|
5259
6203
|
}
|
|
5260
6204
|
],
|
|
5261
6205
|
"responses": {
|
|
5262
|
-
"
|
|
5263
|
-
"description": "The
|
|
5264
|
-
"content": {
|
|
5265
|
-
"application/octet-stream": {
|
|
5266
|
-
"schema": {
|
|
5267
|
-
"type": "string",
|
|
5268
|
-
"format": "binary"
|
|
5269
|
-
},
|
|
5270
|
-
"examples": {
|
|
5271
|
-
"blobStorageGetContentResponseExample": {
|
|
5272
|
-
"summary": "Binary Data",
|
|
5273
|
-
"value": ""
|
|
5274
|
-
}
|
|
5275
|
-
}
|
|
5276
|
-
}
|
|
5277
|
-
}
|
|
6206
|
+
"204": {
|
|
6207
|
+
"description": "The rest request ended in success with no data."
|
|
5278
6208
|
},
|
|
5279
6209
|
"400": {
|
|
5280
6210
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5315,27 +6245,6 @@
|
|
|
5315
6245
|
}
|
|
5316
6246
|
}
|
|
5317
6247
|
},
|
|
5318
|
-
"404": {
|
|
5319
|
-
"description": "The resource you tried to access does not exist, see the content for more details.",
|
|
5320
|
-
"content": {
|
|
5321
|
-
"application/json": {
|
|
5322
|
-
"schema": {
|
|
5323
|
-
"$ref": "#/components/schemas/NotFoundResponse"
|
|
5324
|
-
},
|
|
5325
|
-
"examples": {
|
|
5326
|
-
"exampleResponse": {
|
|
5327
|
-
"value": {
|
|
5328
|
-
"name": "NotFoundError",
|
|
5329
|
-
"message": "errorMessage",
|
|
5330
|
-
"properties": {
|
|
5331
|
-
"notFoundId": "1"
|
|
5332
|
-
}
|
|
5333
|
-
}
|
|
5334
|
-
}
|
|
5335
|
-
}
|
|
5336
|
-
}
|
|
5337
|
-
}
|
|
5338
|
-
},
|
|
5339
6248
|
"500": {
|
|
5340
6249
|
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
5341
6250
|
"content": {
|
|
@@ -5357,34 +6266,48 @@
|
|
|
5357
6266
|
}
|
|
5358
6267
|
}
|
|
5359
6268
|
},
|
|
5360
|
-
"/telemetry/metric": {
|
|
6269
|
+
"/telemetry/metric/{id}/value": {
|
|
5361
6270
|
"post": {
|
|
5362
|
-
"operationId": "
|
|
5363
|
-
"summary": "
|
|
6271
|
+
"operationId": "telemetryAddMetricValue",
|
|
6272
|
+
"summary": "Add a telemetry metric value",
|
|
5364
6273
|
"tags": [
|
|
5365
6274
|
"Telemetry"
|
|
5366
6275
|
],
|
|
6276
|
+
"parameters": [
|
|
6277
|
+
{
|
|
6278
|
+
"name": "id",
|
|
6279
|
+
"description": "The id of the metric.",
|
|
6280
|
+
"in": "path",
|
|
6281
|
+
"required": true,
|
|
6282
|
+
"schema": {
|
|
6283
|
+
"type": "string"
|
|
6284
|
+
},
|
|
6285
|
+
"style": "simple",
|
|
6286
|
+
"example": "my-counter"
|
|
6287
|
+
}
|
|
6288
|
+
],
|
|
5367
6289
|
"security": [
|
|
5368
6290
|
{
|
|
5369
6291
|
"jwtBearerAuthScheme": []
|
|
5370
6292
|
}
|
|
5371
6293
|
],
|
|
5372
6294
|
"requestBody": {
|
|
5373
|
-
"description": "
|
|
6295
|
+
"description": "Add a telemetry metric value.",
|
|
5374
6296
|
"required": true,
|
|
5375
6297
|
"content": {
|
|
5376
6298
|
"application/json": {
|
|
5377
6299
|
"schema": {
|
|
5378
|
-
"$ref": "#/components/schemas/
|
|
6300
|
+
"$ref": "#/components/schemas/TelemetryAddMetricValueRequest"
|
|
5379
6301
|
},
|
|
5380
6302
|
"examples": {
|
|
5381
|
-
"
|
|
6303
|
+
"telemetryAddMetricValueRequestExample": {
|
|
5382
6304
|
"value": {
|
|
5383
|
-
"
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
6305
|
+
"value": 10
|
|
6306
|
+
}
|
|
6307
|
+
},
|
|
6308
|
+
"telemetryAddMetricValueIncRequestExample": {
|
|
6309
|
+
"value": {
|
|
6310
|
+
"value": "inc"
|
|
5388
6311
|
}
|
|
5389
6312
|
}
|
|
5390
6313
|
}
|
|
@@ -5399,7 +6322,7 @@
|
|
|
5399
6322
|
"schema": {
|
|
5400
6323
|
"type": "string"
|
|
5401
6324
|
},
|
|
5402
|
-
"description": "e.g.
|
|
6325
|
+
"description": "e.g. aabbccdd11223445566"
|
|
5403
6326
|
}
|
|
5404
6327
|
}
|
|
5405
6328
|
},
|
|
@@ -5463,21 +6386,40 @@
|
|
|
5463
6386
|
}
|
|
5464
6387
|
},
|
|
5465
6388
|
"get": {
|
|
5466
|
-
"operationId": "
|
|
5467
|
-
"summary": "Get a list of the telemetry
|
|
6389
|
+
"operationId": "telemetryValuesListEntries",
|
|
6390
|
+
"summary": "Get a list of the values for a telemetry metric",
|
|
5468
6391
|
"tags": [
|
|
5469
6392
|
"Telemetry"
|
|
5470
6393
|
],
|
|
5471
6394
|
"parameters": [
|
|
5472
6395
|
{
|
|
5473
|
-
"name": "
|
|
5474
|
-
"description": "The
|
|
6396
|
+
"name": "id",
|
|
6397
|
+
"description": "The id of the metric.",
|
|
6398
|
+
"in": "path",
|
|
6399
|
+
"required": true,
|
|
6400
|
+
"schema": {
|
|
6401
|
+
"type": "string"
|
|
6402
|
+
},
|
|
6403
|
+
"style": "simple",
|
|
6404
|
+
"example": "my-counter"
|
|
6405
|
+
},
|
|
6406
|
+
{
|
|
6407
|
+
"name": "timeStart",
|
|
6408
|
+
"description": "The start time of the metrics to retrieve as a timestamp in ms.",
|
|
5475
6409
|
"in": "query",
|
|
5476
6410
|
"required": false,
|
|
5477
6411
|
"schema": {
|
|
5478
6412
|
"type": "string"
|
|
5479
|
-
}
|
|
5480
|
-
|
|
6413
|
+
}
|
|
6414
|
+
},
|
|
6415
|
+
{
|
|
6416
|
+
"name": "timeEnd",
|
|
6417
|
+
"description": "The end time of the metrics to retrieve as a timestamp in ms.",
|
|
6418
|
+
"in": "query",
|
|
6419
|
+
"required": false,
|
|
6420
|
+
"schema": {
|
|
6421
|
+
"type": "string"
|
|
6422
|
+
}
|
|
5481
6423
|
},
|
|
5482
6424
|
{
|
|
5483
6425
|
"name": "cursor",
|
|
@@ -5509,23 +6451,27 @@
|
|
|
5509
6451
|
"content": {
|
|
5510
6452
|
"application/json": {
|
|
5511
6453
|
"schema": {
|
|
5512
|
-
"$ref": "#/components/schemas/
|
|
6454
|
+
"$ref": "#/components/schemas/TelemetryValuesListResponse"
|
|
5513
6455
|
},
|
|
5514
6456
|
"examples": {
|
|
5515
|
-
"
|
|
6457
|
+
"telemetryValuesListResponseExample": {
|
|
5516
6458
|
"value": {
|
|
6459
|
+
"metric": {
|
|
6460
|
+
"id": "my-counter",
|
|
6461
|
+
"label": "My Counter",
|
|
6462
|
+
"type": 0,
|
|
6463
|
+
"unit": "KG"
|
|
6464
|
+
},
|
|
5517
6465
|
"entities": [
|
|
5518
6466
|
{
|
|
5519
|
-
"id": "
|
|
5520
|
-
"
|
|
5521
|
-
"
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
"
|
|
5526
|
-
"
|
|
5527
|
-
"type": 1,
|
|
5528
|
-
"unit": "M"
|
|
6467
|
+
"id": "aabbccdd11223445566",
|
|
6468
|
+
"ts": 1715252922273,
|
|
6469
|
+
"value": 10
|
|
6470
|
+
},
|
|
6471
|
+
{
|
|
6472
|
+
"id": "aabbccdd11223445566",
|
|
6473
|
+
"ts": 1715252922274,
|
|
6474
|
+
"value": 11
|
|
5529
6475
|
}
|
|
5530
6476
|
],
|
|
5531
6477
|
"cursor": "1"
|
|
@@ -5595,24 +6541,24 @@
|
|
|
5595
6541
|
}
|
|
5596
6542
|
}
|
|
5597
6543
|
},
|
|
5598
|
-
"/
|
|
5599
|
-
"
|
|
5600
|
-
"operationId": "
|
|
5601
|
-
"summary": "
|
|
6544
|
+
"/automation/trigger/{trigger}": {
|
|
6545
|
+
"post": {
|
|
6546
|
+
"operationId": "AutomationTrigger",
|
|
6547
|
+
"summary": "Trigger an automation process.",
|
|
5602
6548
|
"tags": [
|
|
5603
|
-
"
|
|
6549
|
+
"Automation"
|
|
5604
6550
|
],
|
|
5605
6551
|
"parameters": [
|
|
5606
6552
|
{
|
|
5607
|
-
"name": "
|
|
5608
|
-
"description": "The
|
|
6553
|
+
"name": "trigger",
|
|
6554
|
+
"description": "The trigger for the actions.",
|
|
5609
6555
|
"in": "path",
|
|
5610
6556
|
"required": true,
|
|
5611
6557
|
"schema": {
|
|
5612
6558
|
"type": "string"
|
|
5613
6559
|
},
|
|
5614
6560
|
"style": "simple",
|
|
5615
|
-
"example": "my-
|
|
6561
|
+
"example": "my-trigger"
|
|
5616
6562
|
}
|
|
5617
6563
|
],
|
|
5618
6564
|
"security": [
|
|
@@ -5620,34 +6566,29 @@
|
|
|
5620
6566
|
"jwtBearerAuthScheme": []
|
|
5621
6567
|
}
|
|
5622
6568
|
],
|
|
5623
|
-
"
|
|
5624
|
-
"
|
|
5625
|
-
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
-
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
"label": "My Counter",
|
|
5637
|
-
"description": "This is my counter",
|
|
5638
|
-
"type": 0,
|
|
5639
|
-
"unit": "KG"
|
|
5640
|
-
},
|
|
5641
|
-
"value": {
|
|
5642
|
-
"id": "aabbccdd11223445566",
|
|
5643
|
-
"ts": 1715252922273,
|
|
5644
|
-
"value": 10
|
|
5645
|
-
}
|
|
6569
|
+
"requestBody": {
|
|
6570
|
+
"description": "Request to trigger an automation action.",
|
|
6571
|
+
"required": true,
|
|
6572
|
+
"content": {
|
|
6573
|
+
"application/json": {
|
|
6574
|
+
"schema": {
|
|
6575
|
+
"$ref": "#/components/schemas/AutomationTriggerRequest"
|
|
6576
|
+
},
|
|
6577
|
+
"examples": {
|
|
6578
|
+
"AutomationTriggerRequestExample": {
|
|
6579
|
+
"value": {
|
|
6580
|
+
"data": {
|
|
6581
|
+
"key": "value"
|
|
5646
6582
|
}
|
|
5647
6583
|
}
|
|
5648
6584
|
}
|
|
5649
6585
|
}
|
|
5650
6586
|
}
|
|
6587
|
+
}
|
|
6588
|
+
},
|
|
6589
|
+
"responses": {
|
|
6590
|
+
"204": {
|
|
6591
|
+
"description": "The rest request ended in success with no data."
|
|
5651
6592
|
},
|
|
5652
6593
|
"400": {
|
|
5653
6594
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5707,25 +6648,14 @@
|
|
|
5707
6648
|
}
|
|
5708
6649
|
}
|
|
5709
6650
|
}
|
|
5710
|
-
}
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
6651
|
+
}
|
|
6652
|
+
},
|
|
6653
|
+
"/automation": {
|
|
6654
|
+
"post": {
|
|
6655
|
+
"operationId": "AutomationActionCreate",
|
|
6656
|
+
"summary": "Create an automation action.",
|
|
5714
6657
|
"tags": [
|
|
5715
|
-
"
|
|
5716
|
-
],
|
|
5717
|
-
"parameters": [
|
|
5718
|
-
{
|
|
5719
|
-
"name": "id",
|
|
5720
|
-
"description": "The id of the metric.",
|
|
5721
|
-
"in": "path",
|
|
5722
|
-
"required": true,
|
|
5723
|
-
"schema": {
|
|
5724
|
-
"type": "string"
|
|
5725
|
-
},
|
|
5726
|
-
"style": "simple",
|
|
5727
|
-
"example": "my-counter"
|
|
5728
|
-
}
|
|
6658
|
+
"Automation"
|
|
5729
6659
|
],
|
|
5730
6660
|
"security": [
|
|
5731
6661
|
{
|
|
@@ -5733,17 +6663,21 @@
|
|
|
5733
6663
|
}
|
|
5734
6664
|
],
|
|
5735
6665
|
"requestBody": {
|
|
5736
|
-
"description": "
|
|
6666
|
+
"description": "Request to create an automation action.",
|
|
5737
6667
|
"required": true,
|
|
5738
6668
|
"content": {
|
|
5739
6669
|
"application/json": {
|
|
5740
6670
|
"schema": {
|
|
5741
|
-
"$ref": "#/components/schemas/
|
|
6671
|
+
"$ref": "#/components/schemas/AutomationActionCreateRequest"
|
|
5742
6672
|
},
|
|
5743
6673
|
"examples": {
|
|
5744
|
-
"
|
|
6674
|
+
"AutomationActionCreateRequestExample": {
|
|
5745
6675
|
"value": {
|
|
5746
|
-
"
|
|
6676
|
+
"actionType": "log",
|
|
6677
|
+
"trigger": "onCreate",
|
|
6678
|
+
"configuration": {
|
|
6679
|
+
"message": "Created!"
|
|
6680
|
+
}
|
|
5747
6681
|
}
|
|
5748
6682
|
}
|
|
5749
6683
|
}
|
|
@@ -5751,8 +6685,16 @@
|
|
|
5751
6685
|
}
|
|
5752
6686
|
},
|
|
5753
6687
|
"responses": {
|
|
5754
|
-
"
|
|
5755
|
-
"description": "The rest request ended in
|
|
6688
|
+
"201": {
|
|
6689
|
+
"description": "The rest request ended in created response.",
|
|
6690
|
+
"headers": {
|
|
6691
|
+
"location": {
|
|
6692
|
+
"schema": {
|
|
6693
|
+
"type": "string"
|
|
6694
|
+
},
|
|
6695
|
+
"description": "e.g. action-123"
|
|
6696
|
+
}
|
|
6697
|
+
}
|
|
5756
6698
|
},
|
|
5757
6699
|
"400": {
|
|
5758
6700
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5813,23 +6755,52 @@
|
|
|
5813
6755
|
}
|
|
5814
6756
|
}
|
|
5815
6757
|
},
|
|
5816
|
-
"
|
|
5817
|
-
"operationId": "
|
|
5818
|
-
"summary": "
|
|
6758
|
+
"get": {
|
|
6759
|
+
"operationId": "AutomationActionsQuery",
|
|
6760
|
+
"summary": "Query automation actions.",
|
|
5819
6761
|
"tags": [
|
|
5820
|
-
"
|
|
6762
|
+
"Automation"
|
|
5821
6763
|
],
|
|
5822
6764
|
"parameters": [
|
|
5823
6765
|
{
|
|
5824
|
-
"name": "
|
|
5825
|
-
"description": "
|
|
5826
|
-
"in": "
|
|
5827
|
-
"required":
|
|
6766
|
+
"name": "trigger",
|
|
6767
|
+
"description": "Filter by trigger type.",
|
|
6768
|
+
"in": "query",
|
|
6769
|
+
"required": false,
|
|
5828
6770
|
"schema": {
|
|
5829
6771
|
"type": "string"
|
|
5830
6772
|
},
|
|
5831
|
-
"
|
|
5832
|
-
|
|
6773
|
+
"example": "onCreate"
|
|
6774
|
+
},
|
|
6775
|
+
{
|
|
6776
|
+
"name": "actionType",
|
|
6777
|
+
"description": "Filter by action type.",
|
|
6778
|
+
"in": "query",
|
|
6779
|
+
"required": false,
|
|
6780
|
+
"schema": {
|
|
6781
|
+
"type": "string"
|
|
6782
|
+
},
|
|
6783
|
+
"example": "log"
|
|
6784
|
+
},
|
|
6785
|
+
{
|
|
6786
|
+
"name": "cursor",
|
|
6787
|
+
"description": "Cursor for pagination.",
|
|
6788
|
+
"in": "query",
|
|
6789
|
+
"required": false,
|
|
6790
|
+
"schema": {
|
|
6791
|
+
"type": "string"
|
|
6792
|
+
},
|
|
6793
|
+
"example": "abc"
|
|
6794
|
+
},
|
|
6795
|
+
{
|
|
6796
|
+
"name": "limit",
|
|
6797
|
+
"description": "Limit the number of results returned.",
|
|
6798
|
+
"in": "query",
|
|
6799
|
+
"required": false,
|
|
6800
|
+
"schema": {
|
|
6801
|
+
"type": "string"
|
|
6802
|
+
},
|
|
6803
|
+
"example": "10"
|
|
5833
6804
|
}
|
|
5834
6805
|
],
|
|
5835
6806
|
"security": [
|
|
@@ -5838,8 +6809,32 @@
|
|
|
5838
6809
|
}
|
|
5839
6810
|
],
|
|
5840
6811
|
"responses": {
|
|
5841
|
-
"
|
|
5842
|
-
"description": "
|
|
6812
|
+
"200": {
|
|
6813
|
+
"description": "Response for querying automation actions.",
|
|
6814
|
+
"content": {
|
|
6815
|
+
"application/json": {
|
|
6816
|
+
"schema": {
|
|
6817
|
+
"$ref": "#/components/schemas/AutomationActionsQueryResponse"
|
|
6818
|
+
},
|
|
6819
|
+
"examples": {
|
|
6820
|
+
"AutomationActionsQueryResponseExample": {
|
|
6821
|
+
"value": {
|
|
6822
|
+
"entries": [
|
|
6823
|
+
{
|
|
6824
|
+
"id": "action-123",
|
|
6825
|
+
"actionType": "log",
|
|
6826
|
+
"trigger": "onCreate",
|
|
6827
|
+
"configuration": {
|
|
6828
|
+
"message": "Created!"
|
|
6829
|
+
}
|
|
6830
|
+
}
|
|
6831
|
+
],
|
|
6832
|
+
"cursor": "next-cursor"
|
|
6833
|
+
}
|
|
6834
|
+
}
|
|
6835
|
+
}
|
|
6836
|
+
}
|
|
6837
|
+
}
|
|
5843
6838
|
},
|
|
5844
6839
|
"400": {
|
|
5845
6840
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5901,24 +6896,24 @@
|
|
|
5901
6896
|
}
|
|
5902
6897
|
}
|
|
5903
6898
|
},
|
|
5904
|
-
"/
|
|
5905
|
-
"
|
|
5906
|
-
"operationId": "
|
|
5907
|
-
"summary": "
|
|
6899
|
+
"/automation/{actionId}": {
|
|
6900
|
+
"delete": {
|
|
6901
|
+
"operationId": "AutomationActionRemove",
|
|
6902
|
+
"summary": "Remove an automation action.",
|
|
5908
6903
|
"tags": [
|
|
5909
|
-
"
|
|
6904
|
+
"Automation"
|
|
5910
6905
|
],
|
|
5911
6906
|
"parameters": [
|
|
5912
6907
|
{
|
|
5913
|
-
"name": "
|
|
5914
|
-
"description": "The
|
|
6908
|
+
"name": "actionId",
|
|
6909
|
+
"description": "The unique identifier of the action to remove.",
|
|
5915
6910
|
"in": "path",
|
|
5916
6911
|
"required": true,
|
|
5917
6912
|
"schema": {
|
|
5918
6913
|
"type": "string"
|
|
5919
6914
|
},
|
|
5920
6915
|
"style": "simple",
|
|
5921
|
-
"example": "
|
|
6916
|
+
"example": "action-123"
|
|
5922
6917
|
}
|
|
5923
6918
|
],
|
|
5924
6919
|
"security": [
|
|
@@ -5926,40 +6921,9 @@
|
|
|
5926
6921
|
"jwtBearerAuthScheme": []
|
|
5927
6922
|
}
|
|
5928
6923
|
],
|
|
5929
|
-
"requestBody": {
|
|
5930
|
-
"description": "Add a telemetry metric value.",
|
|
5931
|
-
"required": true,
|
|
5932
|
-
"content": {
|
|
5933
|
-
"application/json": {
|
|
5934
|
-
"schema": {
|
|
5935
|
-
"$ref": "#/components/schemas/TelemetryAddMetricValueRequest"
|
|
5936
|
-
},
|
|
5937
|
-
"examples": {
|
|
5938
|
-
"telemetryAddMetricValueRequestExample": {
|
|
5939
|
-
"value": {
|
|
5940
|
-
"value": 10
|
|
5941
|
-
}
|
|
5942
|
-
},
|
|
5943
|
-
"telemetryAddMetricValueIncRequestExample": {
|
|
5944
|
-
"value": {
|
|
5945
|
-
"value": "inc"
|
|
5946
|
-
}
|
|
5947
|
-
}
|
|
5948
|
-
}
|
|
5949
|
-
}
|
|
5950
|
-
}
|
|
5951
|
-
},
|
|
5952
6924
|
"responses": {
|
|
5953
|
-
"
|
|
5954
|
-
"description": "The rest request ended in
|
|
5955
|
-
"headers": {
|
|
5956
|
-
"location": {
|
|
5957
|
-
"schema": {
|
|
5958
|
-
"type": "string"
|
|
5959
|
-
},
|
|
5960
|
-
"description": "e.g. aabbccdd11223445566"
|
|
5961
|
-
}
|
|
5962
|
-
}
|
|
6925
|
+
"204": {
|
|
6926
|
+
"description": "The rest request ended in success with no data."
|
|
5963
6927
|
},
|
|
5964
6928
|
"400": {
|
|
5965
6929
|
"description": "The server cannot process the request, see the content for more details.",
|
|
@@ -5995,84 +6959,48 @@
|
|
|
5995
6959
|
"name": "UnauthorizedError",
|
|
5996
6960
|
"message": "errorMessage"
|
|
5997
6961
|
}
|
|
5998
|
-
}
|
|
5999
|
-
}
|
|
6000
|
-
}
|
|
6001
|
-
}
|
|
6002
|
-
},
|
|
6003
|
-
"500": {
|
|
6004
|
-
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
6005
|
-
"content": {
|
|
6006
|
-
"application/json": {
|
|
6007
|
-
"schema": {
|
|
6008
|
-
"$ref": "#/components/schemas/Error"
|
|
6009
|
-
},
|
|
6010
|
-
"examples": {
|
|
6011
|
-
"exampleResponse": {
|
|
6012
|
-
"value": {
|
|
6013
|
-
"name": "InternalServerError",
|
|
6014
|
-
"message": "errorMessage"
|
|
6015
|
-
}
|
|
6016
|
-
}
|
|
6017
|
-
}
|
|
6018
|
-
}
|
|
6019
|
-
}
|
|
6020
|
-
}
|
|
6021
|
-
}
|
|
6022
|
-
},
|
|
6023
|
-
"get": {
|
|
6024
|
-
"operationId": "telemetryValuesListEntries",
|
|
6025
|
-
"summary": "Get a list of the values for a telemetry metric",
|
|
6026
|
-
"tags": [
|
|
6027
|
-
"Telemetry"
|
|
6028
|
-
],
|
|
6029
|
-
"parameters": [
|
|
6030
|
-
{
|
|
6031
|
-
"name": "id",
|
|
6032
|
-
"description": "The id of the metric.",
|
|
6033
|
-
"in": "path",
|
|
6034
|
-
"required": true,
|
|
6035
|
-
"schema": {
|
|
6036
|
-
"type": "string"
|
|
6037
|
-
},
|
|
6038
|
-
"style": "simple",
|
|
6039
|
-
"example": "my-counter"
|
|
6040
|
-
},
|
|
6041
|
-
{
|
|
6042
|
-
"name": "timeStart",
|
|
6043
|
-
"description": "The start time of the metrics to retrieve as a timestamp in ms.",
|
|
6044
|
-
"in": "query",
|
|
6045
|
-
"required": false,
|
|
6046
|
-
"schema": {
|
|
6047
|
-
"type": "string"
|
|
6048
|
-
}
|
|
6049
|
-
},
|
|
6050
|
-
{
|
|
6051
|
-
"name": "timeEnd",
|
|
6052
|
-
"description": "The end time of the metrics to retrieve as a timestamp in ms.",
|
|
6053
|
-
"in": "query",
|
|
6054
|
-
"required": false,
|
|
6055
|
-
"schema": {
|
|
6056
|
-
"type": "string"
|
|
6057
|
-
}
|
|
6058
|
-
},
|
|
6059
|
-
{
|
|
6060
|
-
"name": "cursor",
|
|
6061
|
-
"description": "The optional cursor to get next chunk.",
|
|
6062
|
-
"in": "query",
|
|
6063
|
-
"required": false,
|
|
6064
|
-
"schema": {
|
|
6065
|
-
"type": "string"
|
|
6962
|
+
}
|
|
6963
|
+
}
|
|
6964
|
+
}
|
|
6066
6965
|
}
|
|
6067
6966
|
},
|
|
6967
|
+
"500": {
|
|
6968
|
+
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
6969
|
+
"content": {
|
|
6970
|
+
"application/json": {
|
|
6971
|
+
"schema": {
|
|
6972
|
+
"$ref": "#/components/schemas/Error"
|
|
6973
|
+
},
|
|
6974
|
+
"examples": {
|
|
6975
|
+
"exampleResponse": {
|
|
6976
|
+
"value": {
|
|
6977
|
+
"name": "InternalServerError",
|
|
6978
|
+
"message": "errorMessage"
|
|
6979
|
+
}
|
|
6980
|
+
}
|
|
6981
|
+
}
|
|
6982
|
+
}
|
|
6983
|
+
}
|
|
6984
|
+
}
|
|
6985
|
+
}
|
|
6986
|
+
},
|
|
6987
|
+
"get": {
|
|
6988
|
+
"operationId": "AutomationActionGet",
|
|
6989
|
+
"summary": "Get an automation action by id.",
|
|
6990
|
+
"tags": [
|
|
6991
|
+
"Automation"
|
|
6992
|
+
],
|
|
6993
|
+
"parameters": [
|
|
6068
6994
|
{
|
|
6069
|
-
"name": "
|
|
6070
|
-
"description": "
|
|
6071
|
-
"in": "
|
|
6072
|
-
"required":
|
|
6995
|
+
"name": "actionId",
|
|
6996
|
+
"description": "The unique identifier of the action to get.",
|
|
6997
|
+
"in": "path",
|
|
6998
|
+
"required": true,
|
|
6073
6999
|
"schema": {
|
|
6074
7000
|
"type": "string"
|
|
6075
|
-
}
|
|
7001
|
+
},
|
|
7002
|
+
"style": "simple",
|
|
7003
|
+
"example": "action-123"
|
|
6076
7004
|
}
|
|
6077
7005
|
],
|
|
6078
7006
|
"security": [
|
|
@@ -6082,34 +7010,21 @@
|
|
|
6082
7010
|
],
|
|
6083
7011
|
"responses": {
|
|
6084
7012
|
"200": {
|
|
6085
|
-
"description": "Response for
|
|
7013
|
+
"description": "Response for getting an automation action.",
|
|
6086
7014
|
"content": {
|
|
6087
7015
|
"application/json": {
|
|
6088
7016
|
"schema": {
|
|
6089
|
-
"$ref": "#/components/schemas/
|
|
7017
|
+
"$ref": "#/components/schemas/AutomationActionEntry"
|
|
6090
7018
|
},
|
|
6091
7019
|
"examples": {
|
|
6092
|
-
"
|
|
7020
|
+
"AutomationActionGetResponseExample": {
|
|
6093
7021
|
"value": {
|
|
6094
|
-
"
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
"
|
|
6099
|
-
}
|
|
6100
|
-
"entities": [
|
|
6101
|
-
{
|
|
6102
|
-
"id": "aabbccdd11223445566",
|
|
6103
|
-
"ts": 1715252922273,
|
|
6104
|
-
"value": 10
|
|
6105
|
-
},
|
|
6106
|
-
{
|
|
6107
|
-
"id": "aabbccdd11223445566",
|
|
6108
|
-
"ts": 1715252922274,
|
|
6109
|
-
"value": 11
|
|
6110
|
-
}
|
|
6111
|
-
],
|
|
6112
|
-
"cursor": "1"
|
|
7022
|
+
"id": "action-123",
|
|
7023
|
+
"actionType": "log",
|
|
7024
|
+
"trigger": "onCreate",
|
|
7025
|
+
"configuration": {
|
|
7026
|
+
"message": "Created!"
|
|
7027
|
+
}
|
|
6113
7028
|
}
|
|
6114
7029
|
}
|
|
6115
7030
|
}
|
|
@@ -6587,8 +7502,8 @@
|
|
|
6587
7502
|
"examples": {
|
|
6588
7503
|
"nftResolveResponseExample": {
|
|
6589
7504
|
"value": {
|
|
6590
|
-
"issuer": "
|
|
6591
|
-
"
|
|
7505
|
+
"issuer": "0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
7506
|
+
"issuerIdentityId": "0xa1d80bee7fdb4fd91ae45c6e539209f73cb743b7da9db3e21322ea75af1878c0",
|
|
6592
7507
|
"tag": "MY-NFT",
|
|
6593
7508
|
"immutableMetadata": {
|
|
6594
7509
|
"docName": "bill-of-lading",
|
|
@@ -6894,7 +7809,6 @@
|
|
|
6894
7809
|
"examples": {
|
|
6895
7810
|
"nftTransferExample": {
|
|
6896
7811
|
"value": {
|
|
6897
|
-
"recipientIdentity": "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
6898
7812
|
"recipientAddress": "tst1prctjk5ck0dutnsunnje6u90jk5htx03qznjjmkd6843pzltlgz87srjzzv",
|
|
6899
7813
|
"metadata": {
|
|
6900
7814
|
"data": "AAAAA"
|
|
@@ -16034,24 +16948,6 @@
|
|
|
16034
16948
|
}
|
|
16035
16949
|
]
|
|
16036
16950
|
}
|
|
16037
|
-
},
|
|
16038
|
-
"papCreateEcosystemPolicyRequestExample": {
|
|
16039
|
-
"value": {
|
|
16040
|
-
"@context": [
|
|
16041
|
-
"http://www.w3.org/ns/odrl.jsonld",
|
|
16042
|
-
"https://schema.twindev.org/odrl/v1/"
|
|
16043
|
-
],
|
|
16044
|
-
"@type": "EcosystemPolicy",
|
|
16045
|
-
"profile": "https://schema.twindev.org/odrl/v1/profile",
|
|
16046
|
-
"assigner": "did:example:publisher",
|
|
16047
|
-
"obligation": [
|
|
16048
|
-
{
|
|
16049
|
-
"action": "inform",
|
|
16050
|
-
"assignee": "did:example:border-agency",
|
|
16051
|
-
"target": "urn:twin:asset:consignment:*"
|
|
16052
|
-
}
|
|
16053
|
-
]
|
|
16054
|
-
}
|
|
16055
16951
|
}
|
|
16056
16952
|
}
|
|
16057
16953
|
}
|
|
@@ -16943,123 +17839,6 @@
|
|
|
16943
17839
|
}
|
|
16944
17840
|
}
|
|
16945
17841
|
},
|
|
16946
|
-
"/rights-management/policy/admin/ecosystem-policy/{id}": {
|
|
16947
|
-
"get": {
|
|
16948
|
-
"operationId": "papGetEcosystemPolicy",
|
|
16949
|
-
"summary": "Get an ecosystem policy",
|
|
16950
|
-
"tags": [
|
|
16951
|
-
"Policy Administration Point"
|
|
16952
|
-
],
|
|
16953
|
-
"parameters": [
|
|
16954
|
-
{
|
|
16955
|
-
"name": "id",
|
|
16956
|
-
"description": "The ID of the ecosystem policy to get.",
|
|
16957
|
-
"in": "path",
|
|
16958
|
-
"required": true,
|
|
16959
|
-
"schema": {
|
|
16960
|
-
"type": "string"
|
|
16961
|
-
},
|
|
16962
|
-
"style": "simple",
|
|
16963
|
-
"example": "urn:rights-management:abc123def456"
|
|
16964
|
-
}
|
|
16965
|
-
],
|
|
16966
|
-
"security": [
|
|
16967
|
-
{
|
|
16968
|
-
"jwtBearerAuthScheme": []
|
|
16969
|
-
}
|
|
16970
|
-
],
|
|
16971
|
-
"responses": {
|
|
16972
|
-
"200": {
|
|
16973
|
-
"description": "The response structure for getting an ecosystem policy.",
|
|
16974
|
-
"content": {
|
|
16975
|
-
"application/json": {
|
|
16976
|
-
"schema": {
|
|
16977
|
-
"$ref": "#/components/schemas/RightsManagementEcosystemPolicy"
|
|
16978
|
-
},
|
|
16979
|
-
"examples": {
|
|
16980
|
-
"papGetEcosystemPolicyResponseExample": {
|
|
16981
|
-
"value": {
|
|
16982
|
-
"@context": [
|
|
16983
|
-
"http://www.w3.org/ns/odrl.jsonld",
|
|
16984
|
-
"https://schema.twindev.org/odrl/v1/"
|
|
16985
|
-
],
|
|
16986
|
-
"@type": "EcosystemPolicy",
|
|
16987
|
-
"@id": "urn:rights-management:abc123def456",
|
|
16988
|
-
"profile": "https://schema.twindev.org/odrl/v1/profile",
|
|
16989
|
-
"assigner": "did:example:publisher",
|
|
16990
|
-
"obligation": [
|
|
16991
|
-
{
|
|
16992
|
-
"action": "inform",
|
|
16993
|
-
"assignee": "did:example:border-agency",
|
|
16994
|
-
"target": "urn:twin:asset:consignment:abc123"
|
|
16995
|
-
}
|
|
16996
|
-
]
|
|
16997
|
-
}
|
|
16998
|
-
}
|
|
16999
|
-
}
|
|
17000
|
-
}
|
|
17001
|
-
}
|
|
17002
|
-
},
|
|
17003
|
-
"400": {
|
|
17004
|
-
"description": "The server cannot process the request, see the content for more details.",
|
|
17005
|
-
"content": {
|
|
17006
|
-
"application/json": {
|
|
17007
|
-
"schema": {
|
|
17008
|
-
"$ref": "#/components/schemas/Error"
|
|
17009
|
-
},
|
|
17010
|
-
"examples": {
|
|
17011
|
-
"exampleResponse": {
|
|
17012
|
-
"value": {
|
|
17013
|
-
"name": "GeneralError",
|
|
17014
|
-
"message": "errorMessage",
|
|
17015
|
-
"properties": {
|
|
17016
|
-
"foo": "bar"
|
|
17017
|
-
}
|
|
17018
|
-
}
|
|
17019
|
-
}
|
|
17020
|
-
}
|
|
17021
|
-
}
|
|
17022
|
-
}
|
|
17023
|
-
},
|
|
17024
|
-
"401": {
|
|
17025
|
-
"description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
|
|
17026
|
-
"content": {
|
|
17027
|
-
"application/json": {
|
|
17028
|
-
"schema": {
|
|
17029
|
-
"$ref": "#/components/schemas/Error"
|
|
17030
|
-
},
|
|
17031
|
-
"examples": {
|
|
17032
|
-
"exampleResponse": {
|
|
17033
|
-
"value": {
|
|
17034
|
-
"name": "UnauthorizedError",
|
|
17035
|
-
"message": "errorMessage"
|
|
17036
|
-
}
|
|
17037
|
-
}
|
|
17038
|
-
}
|
|
17039
|
-
}
|
|
17040
|
-
}
|
|
17041
|
-
},
|
|
17042
|
-
"500": {
|
|
17043
|
-
"description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
|
|
17044
|
-
"content": {
|
|
17045
|
-
"application/json": {
|
|
17046
|
-
"schema": {
|
|
17047
|
-
"$ref": "#/components/schemas/Error"
|
|
17048
|
-
},
|
|
17049
|
-
"examples": {
|
|
17050
|
-
"exampleResponse": {
|
|
17051
|
-
"value": {
|
|
17052
|
-
"name": "InternalServerError",
|
|
17053
|
-
"message": "errorMessage"
|
|
17054
|
-
}
|
|
17055
|
-
}
|
|
17056
|
-
}
|
|
17057
|
-
}
|
|
17058
|
-
}
|
|
17059
|
-
}
|
|
17060
|
-
}
|
|
17061
|
-
}
|
|
17062
|
-
},
|
|
17063
17842
|
"/rights-management/negotiations/{id}": {
|
|
17064
17843
|
"get": {
|
|
17065
17844
|
"operationId": "pnpGetNegotiation",
|
|
@@ -19190,6 +19969,82 @@
|
|
|
19190
19969
|
"dateCreated"
|
|
19191
19970
|
]
|
|
19192
19971
|
},
|
|
19972
|
+
"AutomationActionCreateRequest": {
|
|
19973
|
+
"description": "The body parameters for the request.",
|
|
19974
|
+
"type": "object",
|
|
19975
|
+
"properties": {
|
|
19976
|
+
"actionType": {
|
|
19977
|
+
"type": "string",
|
|
19978
|
+
"description": "The type of the automation action."
|
|
19979
|
+
},
|
|
19980
|
+
"trigger": {
|
|
19981
|
+
"type": "string",
|
|
19982
|
+
"description": "The trigger of the automation action."
|
|
19983
|
+
},
|
|
19984
|
+
"configuration": {
|
|
19985
|
+
"description": "The configuration of the automation action."
|
|
19986
|
+
}
|
|
19987
|
+
},
|
|
19988
|
+
"required": [
|
|
19989
|
+
"actionType",
|
|
19990
|
+
"trigger"
|
|
19991
|
+
]
|
|
19992
|
+
},
|
|
19993
|
+
"AutomationActionEntry": {
|
|
19994
|
+
"description": "Interface describing an automation action entry.",
|
|
19995
|
+
"type": "object",
|
|
19996
|
+
"properties": {
|
|
19997
|
+
"id": {
|
|
19998
|
+
"type": "string",
|
|
19999
|
+
"description": "The id of the automation action."
|
|
20000
|
+
},
|
|
20001
|
+
"actionType": {
|
|
20002
|
+
"type": "string",
|
|
20003
|
+
"description": "The type of the automation action."
|
|
20004
|
+
},
|
|
20005
|
+
"trigger": {
|
|
20006
|
+
"type": "string",
|
|
20007
|
+
"description": "The trigger of the automation action."
|
|
20008
|
+
},
|
|
20009
|
+
"configuration": {
|
|
20010
|
+
"description": "The configuration of the automation action."
|
|
20011
|
+
}
|
|
20012
|
+
},
|
|
20013
|
+
"required": [
|
|
20014
|
+
"id",
|
|
20015
|
+
"actionType",
|
|
20016
|
+
"trigger"
|
|
20017
|
+
]
|
|
20018
|
+
},
|
|
20019
|
+
"AutomationActionsQueryResponse": {
|
|
20020
|
+
"type": "object",
|
|
20021
|
+
"properties": {
|
|
20022
|
+
"entries": {
|
|
20023
|
+
"type": "array",
|
|
20024
|
+
"items": {
|
|
20025
|
+
"$ref": "#/components/schemas/AutomationActionEntry"
|
|
20026
|
+
},
|
|
20027
|
+
"description": "List of automation action entries matching the query."
|
|
20028
|
+
},
|
|
20029
|
+
"cursor": {
|
|
20030
|
+
"type": "string",
|
|
20031
|
+
"description": "Optional cursor for pagination."
|
|
20032
|
+
}
|
|
20033
|
+
},
|
|
20034
|
+
"required": [
|
|
20035
|
+
"entries"
|
|
20036
|
+
],
|
|
20037
|
+
"description": "The body of the response."
|
|
20038
|
+
},
|
|
20039
|
+
"AutomationTriggerRequest": {
|
|
20040
|
+
"type": "object",
|
|
20041
|
+
"properties": {
|
|
20042
|
+
"data": {
|
|
20043
|
+
"description": "Optional data to be passed to the actions."
|
|
20044
|
+
}
|
|
20045
|
+
},
|
|
20046
|
+
"description": "The body parameters."
|
|
20047
|
+
},
|
|
19193
20048
|
"BlobStorageCreateRequest": {
|
|
19194
20049
|
"type": "object",
|
|
19195
20050
|
"properties": {
|
|
@@ -19554,7 +20409,7 @@
|
|
|
19554
20409
|
},
|
|
19555
20410
|
"message": {
|
|
19556
20411
|
"type": "string",
|
|
19557
|
-
"description": "The message for the error."
|
|
20412
|
+
"description": "The message for the error as an i18n key."
|
|
19558
20413
|
},
|
|
19559
20414
|
"source": {
|
|
19560
20415
|
"type": "string",
|
|
@@ -19624,43 +20479,37 @@
|
|
|
19624
20479
|
],
|
|
19625
20480
|
"description": "Transfer Process (DSP compliant) with current state, or error."
|
|
19626
20481
|
},
|
|
19627
|
-
"
|
|
19628
|
-
"description": "
|
|
20482
|
+
"Health": {
|
|
20483
|
+
"description": "Provides health information for a component.",
|
|
19629
20484
|
"type": "object",
|
|
19630
20485
|
"properties": {
|
|
19631
20486
|
"name": {
|
|
19632
20487
|
"type": "string",
|
|
19633
20488
|
"description": "The name of the component."
|
|
19634
20489
|
},
|
|
20490
|
+
"description": {
|
|
20491
|
+
"type": "string",
|
|
20492
|
+
"description": "The description of the component as an i18n key."
|
|
20493
|
+
},
|
|
20494
|
+
"isChild": {
|
|
20495
|
+
"type": "boolean",
|
|
20496
|
+
"description": "Whether this entry is a child of another entry, the parent entry will report the overall status of the component."
|
|
20497
|
+
},
|
|
19635
20498
|
"status": {
|
|
19636
20499
|
"$ref": "#/components/schemas/HealthStatus"
|
|
19637
20500
|
},
|
|
19638
20501
|
"details": {
|
|
19639
20502
|
"type": "string",
|
|
19640
|
-
"description": "The details for the status."
|
|
19641
|
-
}
|
|
19642
|
-
},
|
|
19643
|
-
"required": [
|
|
19644
|
-
"name",
|
|
19645
|
-
"status"
|
|
19646
|
-
]
|
|
19647
|
-
},
|
|
19648
|
-
"HealthInfo": {
|
|
19649
|
-
"description": "The status of the server.",
|
|
19650
|
-
"type": "object",
|
|
19651
|
-
"properties": {
|
|
19652
|
-
"status": {
|
|
19653
|
-
"$ref": "#/components/schemas/HealthStatus"
|
|
20503
|
+
"description": "The details for the status if there are further details to provide as an i18n key."
|
|
19654
20504
|
},
|
|
19655
|
-
"
|
|
19656
|
-
"type": "
|
|
19657
|
-
"
|
|
19658
|
-
|
|
19659
|
-
},
|
|
19660
|
-
"description": "The status of the components."
|
|
20505
|
+
"properties": {
|
|
20506
|
+
"type": "object",
|
|
20507
|
+
"additionalProperties": {},
|
|
20508
|
+
"description": "Properties to substitute in the i18n key for the details."
|
|
19661
20509
|
}
|
|
19662
20510
|
},
|
|
19663
20511
|
"required": [
|
|
20512
|
+
"name",
|
|
19664
20513
|
"status"
|
|
19665
20514
|
]
|
|
19666
20515
|
},
|
|
@@ -19681,6 +20530,19 @@
|
|
|
19681
20530
|
}
|
|
19682
20531
|
]
|
|
19683
20532
|
},
|
|
20533
|
+
"IdentityAlsoKnownAsCreateRequest": {
|
|
20534
|
+
"type": "object",
|
|
20535
|
+
"properties": {
|
|
20536
|
+
"alias": {
|
|
20537
|
+
"type": "string",
|
|
20538
|
+
"description": "The alias to create for the identity."
|
|
20539
|
+
}
|
|
20540
|
+
},
|
|
20541
|
+
"required": [
|
|
20542
|
+
"alias"
|
|
20543
|
+
],
|
|
20544
|
+
"description": "The data for the request."
|
|
20545
|
+
},
|
|
19684
20546
|
"IdentityCreateRequest": {
|
|
19685
20547
|
"type": "object",
|
|
19686
20548
|
"properties": {
|
|
@@ -20128,6 +20990,16 @@
|
|
|
20128
20990
|
],
|
|
20129
20991
|
"description": "The login response details."
|
|
20130
20992
|
},
|
|
20993
|
+
"LogoutRequest": {
|
|
20994
|
+
"type": "object",
|
|
20995
|
+
"properties": {
|
|
20996
|
+
"token": {
|
|
20997
|
+
"type": "string",
|
|
20998
|
+
"description": "The token to logout, if it uses a mechanism with public access."
|
|
20999
|
+
}
|
|
21000
|
+
},
|
|
21001
|
+
"description": "The logout token details."
|
|
21002
|
+
},
|
|
20131
21003
|
"MetricType": {
|
|
20132
21004
|
"description": "The types of metrics.",
|
|
20133
21005
|
"anyOf": [
|
|
@@ -20175,9 +21047,9 @@
|
|
|
20175
21047
|
"type": "string",
|
|
20176
21048
|
"description": "The issuer of the NFT."
|
|
20177
21049
|
},
|
|
20178
|
-
"
|
|
21050
|
+
"issuerIdentityId": {
|
|
20179
21051
|
"type": "string",
|
|
20180
|
-
"description": "The
|
|
21052
|
+
"description": "The on-chain Object ID of the verified IOTA Identity that minted this NFT.\nEmpty string when not minted with identity verification."
|
|
20181
21053
|
},
|
|
20182
21054
|
"tag": {
|
|
20183
21055
|
"type": "string",
|
|
@@ -20192,7 +21064,7 @@
|
|
|
20192
21064
|
},
|
|
20193
21065
|
"required": [
|
|
20194
21066
|
"issuer",
|
|
20195
|
-
"
|
|
21067
|
+
"issuerIdentityId",
|
|
20196
21068
|
"tag"
|
|
20197
21069
|
],
|
|
20198
21070
|
"description": "The data that was resolved."
|
|
@@ -20200,10 +21072,6 @@
|
|
|
20200
21072
|
"NftTransferRequest": {
|
|
20201
21073
|
"type": "object",
|
|
20202
21074
|
"properties": {
|
|
20203
|
-
"recipientIdentity": {
|
|
20204
|
-
"type": "string",
|
|
20205
|
-
"description": "The recipient identity for the NFT."
|
|
20206
|
-
},
|
|
20207
21075
|
"recipientAddress": {
|
|
20208
21076
|
"type": "string",
|
|
20209
21077
|
"description": "The recipient address for the NFT."
|
|
@@ -20213,7 +21081,6 @@
|
|
|
20213
21081
|
}
|
|
20214
21082
|
},
|
|
20215
21083
|
"required": [
|
|
20216
|
-
"recipientIdentity",
|
|
20217
21084
|
"recipientAddress"
|
|
20218
21085
|
],
|
|
20219
21086
|
"description": "The data to be used in the transfer."
|
|
@@ -20571,7 +21438,7 @@
|
|
|
20571
21438
|
"description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present."
|
|
20572
21439
|
},
|
|
20573
21440
|
"@type": {
|
|
20574
|
-
"$ref": "
|
|
21441
|
+
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicyType"
|
|
20575
21442
|
},
|
|
20576
21443
|
"@id": {
|
|
20577
21444
|
"type": "string",
|
|
@@ -20643,6 +21510,10 @@
|
|
|
20643
21510
|
"type": "string",
|
|
20644
21511
|
"description": "The public origin of the server that initiated or received this negotiation.\nUsed to construct callback URLs in subsequent async messages."
|
|
20645
21512
|
},
|
|
21513
|
+
"tenantId": {
|
|
21514
|
+
"type": "string",
|
|
21515
|
+
"description": "The tenant id this negotiation belongs to."
|
|
21516
|
+
},
|
|
20646
21517
|
"organizationIdentity": {
|
|
20647
21518
|
"type": "string",
|
|
20648
21519
|
"description": "Organization identity to be used when sending trust payloads."
|
|
@@ -20716,6 +21587,16 @@
|
|
|
20716
21587
|
"organizationIdentity"
|
|
20717
21588
|
]
|
|
20718
21589
|
},
|
|
21590
|
+
"RefreshTokenRequest": {
|
|
21591
|
+
"type": "object",
|
|
21592
|
+
"properties": {
|
|
21593
|
+
"token": {
|
|
21594
|
+
"type": "string",
|
|
21595
|
+
"description": "The token to refresh, if it uses a mechanism with public access."
|
|
21596
|
+
}
|
|
21597
|
+
},
|
|
21598
|
+
"description": "The refresh token details."
|
|
21599
|
+
},
|
|
20719
21600
|
"RefreshTokenResponse": {
|
|
20720
21601
|
"type": "object",
|
|
20721
21602
|
"properties": {
|
|
@@ -20740,223 +21621,8 @@
|
|
|
20740
21621
|
],
|
|
20741
21622
|
"description": "Transfer Process (DSP compliant) with state REQUESTED, or error."
|
|
20742
21623
|
},
|
|
20743
|
-
"RightsManagementEcosystemPolicy": {
|
|
20744
|
-
"description": "TWIN EcosystemPolicy in DSP storage shape.\n\nCombines the DSP wire-format requirements (mandatory `@id`, no `uid`) from\n`IDataspaceProtocolPolicy` with a narrowed `@type` discriminant so that callers\ncan rely on the type at compile time without any `as unknown as` cast.\n\nDefined as an intersection type (rather than `extends IDataspaceProtocolPolicy`)\nso that the narrowed `\"@type\": \"EcosystemPolicy\"` can override the base\n`\"@type\": OdrlPolicyType` without a TS2430 extends-incompatibility error.\n`\"EcosystemPolicy\"` is a TWIN extension — not in the W3C ODRL `OdrlPolicyType`\nenum — so the interface hierarchy cannot express this narrowing directly.\n\nLives in `rights-management-models` (not `standards-dataspace-protocol`) because\nEcosystemPolicy is a TWIN platform extension — not a DSP specification concept —\nand `standards-dataspace-protocol` should remain a pure standards mirror.",
|
|
20745
|
-
"type": "object",
|
|
20746
|
-
"properties": {
|
|
20747
|
-
"@context": {
|
|
20748
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType"
|
|
20749
|
-
},
|
|
20750
|
-
"profile": {
|
|
20751
|
-
"anyOf": [
|
|
20752
|
-
{
|
|
20753
|
-
"type": "string"
|
|
20754
|
-
},
|
|
20755
|
-
{
|
|
20756
|
-
"type": "array",
|
|
20757
|
-
"items": {
|
|
20758
|
-
"type": "string"
|
|
20759
|
-
}
|
|
20760
|
-
}
|
|
20761
|
-
],
|
|
20762
|
-
"description": "The profile(s) this policy conforms to.\nIRIs identifying the ODRL Profile(s)."
|
|
20763
|
-
},
|
|
20764
|
-
"assigner": {
|
|
20765
|
-
"anyOf": [
|
|
20766
|
-
{
|
|
20767
|
-
"type": "string"
|
|
20768
|
-
},
|
|
20769
|
-
{
|
|
20770
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
|
|
20771
|
-
},
|
|
20772
|
-
{
|
|
20773
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
|
|
20774
|
-
},
|
|
20775
|
-
{
|
|
20776
|
-
"type": "array",
|
|
20777
|
-
"items": {
|
|
20778
|
-
"anyOf": [
|
|
20779
|
-
{
|
|
20780
|
-
"type": "string"
|
|
20781
|
-
},
|
|
20782
|
-
{
|
|
20783
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
|
|
20784
|
-
},
|
|
20785
|
-
{
|
|
20786
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
|
|
20787
|
-
}
|
|
20788
|
-
]
|
|
20789
|
-
}
|
|
20790
|
-
}
|
|
20791
|
-
],
|
|
20792
|
-
"description": "The assigner of the policy.\nApplies to all rules unless overridden at rule level."
|
|
20793
|
-
},
|
|
20794
|
-
"assignee": {
|
|
20795
|
-
"anyOf": [
|
|
20796
|
-
{
|
|
20797
|
-
"type": "string"
|
|
20798
|
-
},
|
|
20799
|
-
{
|
|
20800
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
|
|
20801
|
-
},
|
|
20802
|
-
{
|
|
20803
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
|
|
20804
|
-
},
|
|
20805
|
-
{
|
|
20806
|
-
"type": "array",
|
|
20807
|
-
"items": {
|
|
20808
|
-
"anyOf": [
|
|
20809
|
-
{
|
|
20810
|
-
"type": "string"
|
|
20811
|
-
},
|
|
20812
|
-
{
|
|
20813
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
|
|
20814
|
-
},
|
|
20815
|
-
{
|
|
20816
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
|
|
20817
|
-
}
|
|
20818
|
-
]
|
|
20819
|
-
}
|
|
20820
|
-
}
|
|
20821
|
-
],
|
|
20822
|
-
"description": "The assignee of the policy.\nApplies to all rules unless overridden at rule level."
|
|
20823
|
-
},
|
|
20824
|
-
"target": {
|
|
20825
|
-
"anyOf": [
|
|
20826
|
-
{
|
|
20827
|
-
"type": "string"
|
|
20828
|
-
},
|
|
20829
|
-
{
|
|
20830
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
|
|
20831
|
-
},
|
|
20832
|
-
{
|
|
20833
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
|
|
20834
|
-
},
|
|
20835
|
-
{
|
|
20836
|
-
"type": "array",
|
|
20837
|
-
"items": {
|
|
20838
|
-
"anyOf": [
|
|
20839
|
-
{
|
|
20840
|
-
"type": "string"
|
|
20841
|
-
},
|
|
20842
|
-
{
|
|
20843
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
|
|
20844
|
-
},
|
|
20845
|
-
{
|
|
20846
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
|
|
20847
|
-
}
|
|
20848
|
-
]
|
|
20849
|
-
}
|
|
20850
|
-
}
|
|
20851
|
-
],
|
|
20852
|
-
"description": "The target asset for the rule."
|
|
20853
|
-
},
|
|
20854
|
-
"action": {
|
|
20855
|
-
"anyOf": [
|
|
20856
|
-
{
|
|
20857
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
|
|
20858
|
-
},
|
|
20859
|
-
{
|
|
20860
|
-
"type": "string"
|
|
20861
|
-
},
|
|
20862
|
-
{
|
|
20863
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
|
|
20864
|
-
},
|
|
20865
|
-
{
|
|
20866
|
-
"type": "array",
|
|
20867
|
-
"items": {
|
|
20868
|
-
"anyOf": [
|
|
20869
|
-
{
|
|
20870
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
|
|
20871
|
-
},
|
|
20872
|
-
{
|
|
20873
|
-
"type": "string"
|
|
20874
|
-
},
|
|
20875
|
-
{
|
|
20876
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
|
|
20877
|
-
}
|
|
20878
|
-
]
|
|
20879
|
-
}
|
|
20880
|
-
}
|
|
20881
|
-
],
|
|
20882
|
-
"description": "The action associated with the rule."
|
|
20883
|
-
},
|
|
20884
|
-
"inheritFrom": {
|
|
20885
|
-
"anyOf": [
|
|
20886
|
-
{
|
|
20887
|
-
"type": "string"
|
|
20888
|
-
},
|
|
20889
|
-
{
|
|
20890
|
-
"type": "array",
|
|
20891
|
-
"items": {
|
|
20892
|
-
"type": "string"
|
|
20893
|
-
}
|
|
20894
|
-
}
|
|
20895
|
-
],
|
|
20896
|
-
"description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies)."
|
|
20897
|
-
},
|
|
20898
|
-
"conflict": {
|
|
20899
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType"
|
|
20900
|
-
},
|
|
20901
|
-
"permission": {
|
|
20902
|
-
"anyOf": [
|
|
20903
|
-
{
|
|
20904
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
|
|
20905
|
-
},
|
|
20906
|
-
{
|
|
20907
|
-
"type": "array",
|
|
20908
|
-
"items": {
|
|
20909
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
|
|
20910
|
-
}
|
|
20911
|
-
}
|
|
20912
|
-
],
|
|
20913
|
-
"description": "The permissions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
|
|
20914
|
-
},
|
|
20915
|
-
"prohibition": {
|
|
20916
|
-
"anyOf": [
|
|
20917
|
-
{
|
|
20918
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
|
|
20919
|
-
},
|
|
20920
|
-
{
|
|
20921
|
-
"type": "array",
|
|
20922
|
-
"items": {
|
|
20923
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
|
|
20924
|
-
}
|
|
20925
|
-
}
|
|
20926
|
-
],
|
|
20927
|
-
"description": "The prohibitions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
|
|
20928
|
-
},
|
|
20929
|
-
"obligation": {
|
|
20930
|
-
"anyOf": [
|
|
20931
|
-
{
|
|
20932
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
|
|
20933
|
-
},
|
|
20934
|
-
{
|
|
20935
|
-
"type": "array",
|
|
20936
|
-
"items": {
|
|
20937
|
-
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
|
|
20938
|
-
}
|
|
20939
|
-
}
|
|
20940
|
-
],
|
|
20941
|
-
"description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present."
|
|
20942
|
-
},
|
|
20943
|
-
"@id": {
|
|
20944
|
-
"type": "string",
|
|
20945
|
-
"description": "Unique identifier for the policy."
|
|
20946
|
-
},
|
|
20947
|
-
"@type": {
|
|
20948
|
-
"const": "EcosystemPolicy",
|
|
20949
|
-
"description": "The type must be \"EcosystemPolicy\"."
|
|
20950
|
-
}
|
|
20951
|
-
},
|
|
20952
|
-
"required": [
|
|
20953
|
-
"@context",
|
|
20954
|
-
"@id",
|
|
20955
|
-
"@type"
|
|
20956
|
-
]
|
|
20957
|
-
},
|
|
20958
21624
|
"RightsManagementPolicy": {
|
|
20959
|
-
"description": "Base type for any ODRL policy stored and managed by the TWIN rights-management PAP
|
|
21625
|
+
"description": "Base type for any ODRL policy stored and managed by the TWIN rights-management PAP.",
|
|
20960
21626
|
"type": "object",
|
|
20961
21627
|
"properties": {
|
|
20962
21628
|
"@context": {
|
|
@@ -21160,7 +21826,7 @@
|
|
|
21160
21826
|
"description": "Unique identifier for the policy."
|
|
21161
21827
|
},
|
|
21162
21828
|
"@type": {
|
|
21163
|
-
"$ref": "
|
|
21829
|
+
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicyType"
|
|
21164
21830
|
}
|
|
21165
21831
|
},
|
|
21166
21832
|
"required": [
|
|
@@ -21169,27 +21835,6 @@
|
|
|
21169
21835
|
"@type"
|
|
21170
21836
|
]
|
|
21171
21837
|
},
|
|
21172
|
-
"RightsManagementPolicyType": {
|
|
21173
|
-
"description": "TWIN rights-management policy types.",
|
|
21174
|
-
"anyOf": [
|
|
21175
|
-
{
|
|
21176
|
-
"const": "EcosystemPolicy",
|
|
21177
|
-
"description": "EcosystemPolicy type.\nA TWIN platform-level governance policy that carries obligations for data events.\nNot a bilateral contract — does not participate in DSP negotiation."
|
|
21178
|
-
},
|
|
21179
|
-
{
|
|
21180
|
-
"const": "Policy"
|
|
21181
|
-
},
|
|
21182
|
-
{
|
|
21183
|
-
"const": "Set"
|
|
21184
|
-
},
|
|
21185
|
-
{
|
|
21186
|
-
"const": "Offer"
|
|
21187
|
-
},
|
|
21188
|
-
{
|
|
21189
|
-
"const": "Agreement"
|
|
21190
|
-
}
|
|
21191
|
-
]
|
|
21192
|
-
},
|
|
21193
21838
|
"Rule": {
|
|
21194
21839
|
"description": "Rule defining how to extract data from an object.",
|
|
21195
21840
|
"type": "object",
|
|
@@ -21248,6 +21893,25 @@
|
|
|
21248
21893
|
},
|
|
21249
21894
|
"description": "The favicon for the server."
|
|
21250
21895
|
},
|
|
21896
|
+
"ServerHealthResponse": {
|
|
21897
|
+
"type": "object",
|
|
21898
|
+
"properties": {
|
|
21899
|
+
"status": {
|
|
21900
|
+
"$ref": "#/components/schemas/HealthStatus"
|
|
21901
|
+
},
|
|
21902
|
+
"components": {
|
|
21903
|
+
"type": "array",
|
|
21904
|
+
"items": {
|
|
21905
|
+
"$ref": "#/components/schemas/Health"
|
|
21906
|
+
}
|
|
21907
|
+
}
|
|
21908
|
+
},
|
|
21909
|
+
"required": [
|
|
21910
|
+
"status",
|
|
21911
|
+
"components"
|
|
21912
|
+
],
|
|
21913
|
+
"description": "The health for the server."
|
|
21914
|
+
},
|
|
21251
21915
|
"ServerInfo": {
|
|
21252
21916
|
"description": "The information about the server.",
|
|
21253
21917
|
"type": "object",
|
|
@@ -21269,17 +21933,24 @@
|
|
|
21269
21933
|
"ServerLivezResponse": {
|
|
21270
21934
|
"anyOf": [
|
|
21271
21935
|
{
|
|
21272
|
-
"const": "
|
|
21936
|
+
"const": "alive"
|
|
21273
21937
|
},
|
|
21274
21938
|
{
|
|
21275
|
-
"const": "
|
|
21939
|
+
"const": "dead"
|
|
21276
21940
|
}
|
|
21277
21941
|
],
|
|
21278
21942
|
"description": "The livez information for the server."
|
|
21279
21943
|
},
|
|
21280
|
-
"
|
|
21281
|
-
"
|
|
21282
|
-
|
|
21944
|
+
"ServerReadyzResponse": {
|
|
21945
|
+
"anyOf": [
|
|
21946
|
+
{
|
|
21947
|
+
"const": "ready"
|
|
21948
|
+
},
|
|
21949
|
+
{
|
|
21950
|
+
"const": "not ready"
|
|
21951
|
+
}
|
|
21952
|
+
],
|
|
21953
|
+
"description": "The readyz information for the server."
|
|
21283
21954
|
},
|
|
21284
21955
|
"ServerSpecResponse": {
|
|
21285
21956
|
"description": "The spec for the server."
|