@twin.org/auditable-item-stream-service 0.0.1-next.8 → 0.0.1

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.
Files changed (29) hide show
  1. package/dist/cjs/index.cjs +510 -305
  2. package/dist/esm/index.mjs +512 -308
  3. package/dist/types/auditableItemStreamRoutes.d.ts +9 -1
  4. package/dist/types/auditableItemStreamService.d.ts +45 -38
  5. package/dist/types/entities/auditableItemStream.d.ts +1 -1
  6. package/dist/types/index.d.ts +2 -1
  7. package/dist/types/models/IAuditableItemStreamServiceConstructorOptions.d.ts +29 -0
  8. package/docs/changelog.md +199 -1
  9. package/docs/open-api/spec.json +2272 -2123
  10. package/docs/reference/classes/AuditableItemStream.md +5 -5
  11. package/docs/reference/classes/AuditableItemStreamEntry.md +3 -3
  12. package/docs/reference/classes/AuditableItemStreamService.md +233 -95
  13. package/docs/reference/functions/auditableItemStreamCreate.md +9 -3
  14. package/docs/reference/functions/auditableItemStreamCreateEntry.md +9 -3
  15. package/docs/reference/functions/auditableItemStreamDelete.md +31 -0
  16. package/docs/reference/functions/auditableItemStreamDeleteEntry.md +9 -3
  17. package/docs/reference/functions/auditableItemStreamGet.md +9 -3
  18. package/docs/reference/functions/auditableItemStreamGetEntry.md +9 -3
  19. package/docs/reference/functions/auditableItemStreamGetEntryObject.md +9 -3
  20. package/docs/reference/functions/auditableItemStreamList.md +9 -3
  21. package/docs/reference/functions/auditableItemStreamListEntries.md +9 -3
  22. package/docs/reference/functions/auditableItemStreamListEntryObjects.md +9 -3
  23. package/docs/reference/functions/auditableItemStreamUpdate.md +9 -3
  24. package/docs/reference/functions/auditableItemStreamUpdateEntry.md +9 -3
  25. package/docs/reference/functions/generateRestRoutesAuditableItemStream.md +8 -4
  26. package/docs/reference/index.md +2 -0
  27. package/docs/reference/interfaces/IAuditableItemStreamServiceConstructorOptions.md +61 -0
  28. package/locales/en.json +3 -1
  29. package/package.json +59 -18
@@ -1,2124 +1,2273 @@
1
1
  {
2
- "openapi": "3.1.0",
3
- "info": {
4
- "title": "TWIN - Test Endpoints",
5
- "description": "REST API for TWIN - Test Endpoints.",
6
- "version": "1.0.0",
7
- "license": {
8
- "name": "Apache 2.0 License",
9
- "url": "https://opensource.org/licenses/Apache-2.0"
10
- }
11
- },
12
- "servers": [
13
- {
14
- "url": "https://localhost"
15
- }
16
- ],
17
- "tags": [
18
- {
19
- "name": "Auditable Item Stream",
20
- "description": "Endpoints which are modelled to access an auditable item stream contract."
21
- }
22
- ],
23
- "paths": {
24
- "/auditable-item-stream": {
25
- "post": {
26
- "operationId": "auditableItemStreamCreate",
27
- "summary": "Create a new stream",
28
- "tags": [
29
- "Auditable Item Stream"
30
- ],
31
- "security": [
32
- {
33
- "jwtBearerAuthScheme": []
34
- }
35
- ],
36
- "requestBody": {
37
- "description": "Create an auditable item stream.",
38
- "required": true,
39
- "content": {
40
- "application/json": {
41
- "schema": {
42
- "$ref": "#/components/schemas/AuditableItemStreamCreateRequest"
43
- },
44
- "examples": {
45
- "auditableItemStreamCreateRequestExample": {
46
- "value": {
47
- "streamObject": {
48
- "@context": "http://schema.org/",
49
- "@type": "Note",
50
- "content": "This is a simple note"
51
- },
52
- "entries": [
53
- {
54
- "entryObject": {
55
- "@context": "http://schema.org/",
56
- "@type": "Event",
57
- "startDate": "2011-04-09T20:00:00Z",
58
- "description": "A description of the event"
59
- }
60
- }
61
- ]
62
- }
63
- }
64
- }
65
- }
66
- }
67
- },
68
- "responses": {
69
- "201": {
70
- "description": "The rest request ended in created response.",
71
- "headers": {
72
- "location": {
73
- "schema": {
74
- "type": "string"
75
- },
76
- "description": "e.g. ais:1234567890"
77
- }
78
- }
79
- },
80
- "400": {
81
- "description": "The server cannot process the request, see the content for more details.",
82
- "content": {
83
- "application/json": {
84
- "schema": {
85
- "$ref": "#/components/schemas/Error"
86
- },
87
- "examples": {
88
- "exampleResponse": {
89
- "value": {
90
- "name": "GeneralError",
91
- "message": "component.error",
92
- "properties": {
93
- "foo": "bar"
94
- }
95
- }
96
- }
97
- }
98
- }
99
- }
100
- },
101
- "401": {
102
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
103
- "content": {
104
- "application/json": {
105
- "schema": {
106
- "$ref": "#/components/schemas/Error"
107
- },
108
- "examples": {
109
- "exampleResponse": {
110
- "value": {
111
- "name": "UnauthorizedError",
112
- "message": "component.error"
113
- }
114
- }
115
- }
116
- }
117
- }
118
- },
119
- "500": {
120
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
121
- "content": {
122
- "application/json": {
123
- "schema": {
124
- "$ref": "#/components/schemas/Error"
125
- },
126
- "examples": {
127
- "exampleResponse": {
128
- "value": {
129
- "name": "InternalServerError",
130
- "message": "component.error"
131
- }
132
- }
133
- }
134
- }
135
- }
136
- }
137
- }
138
- },
139
- "get": {
140
- "operationId": "auditableItemStreamList",
141
- "summary": "Query streams",
142
- "tags": [
143
- "Auditable Item Stream"
144
- ],
145
- "parameters": [
146
- {
147
- "name": "conditions",
148
- "description": "The conditions to filter the streams, consist of property|comparison|value comma separated.",
149
- "in": "query",
150
- "required": false,
151
- "schema": {
152
- "type": "string"
153
- }
154
- },
155
- {
156
- "name": "orderBy",
157
- "description": "The order for the results, default to created.",
158
- "in": "query",
159
- "required": false,
160
- "schema": {
161
- "type": "string",
162
- "enum": [
163
- "dateCreated",
164
- "dateModified"
165
- ]
166
- }
167
- },
168
- {
169
- "name": "orderByDirection",
170
- "description": "The direction for the order, defaults to desc.",
171
- "in": "query",
172
- "required": false,
173
- "schema": {
174
- "$ref": "#/components/schemas/SortDirection"
175
- }
176
- },
177
- {
178
- "name": "properties",
179
- "description": "The properties to return as a comma separated list, defaults to \"id,object\".",
180
- "in": "query",
181
- "required": false,
182
- "schema": {
183
- "type": "string"
184
- }
185
- },
186
- {
187
- "name": "cursor",
188
- "description": "The optional cursor to get next chunk.",
189
- "in": "query",
190
- "required": false,
191
- "schema": {
192
- "type": "string"
193
- }
194
- },
195
- {
196
- "name": "pageSize",
197
- "description": "The maximum number of entities in a page.",
198
- "in": "query",
199
- "required": false,
200
- "schema": {
201
- "type": "number"
202
- }
203
- },
204
- {
205
- "name": "accept",
206
- "in": "header",
207
- "required": true,
208
- "schema": {
209
- "type": "string"
210
- },
211
- "style": "simple"
212
- }
213
- ],
214
- "security": [
215
- {
216
- "jwtBearerAuthScheme": []
217
- }
218
- ],
219
- "responses": {
220
- "200": {
221
- "description": "The response to getting the a list of the streams.",
222
- "content": {
223
- "application/json": {
224
- "schema": {
225
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamList"
226
- },
227
- "examples": {
228
- "auditableItemStreamListResponseExample": {
229
- "value": {
230
- "@context": "https://schema.twindev.org/ais/",
231
- "type": "AuditableItemStreamList",
232
- "streams": [
233
- {
234
- "@context": "https://schema.twindev.org/ais/",
235
- "type": "AuditableItemStream",
236
- "id": "ais:1234567890",
237
- "dateCreated": "2024-08-22T11:55:16.271Z",
238
- "dateModified": "2024-08-22T11:55:16.271Z",
239
- "streamObject": {
240
- "@context": "http://schema.org/",
241
- "@type": "Note",
242
- "content": "This is a simple note"
243
- },
244
- "nodeIdentity": "tst:1234567890",
245
- "userIdentity": "tst:1234567890",
246
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
247
- "immutableInterval": 10
248
- }
249
- ],
250
- "cursor": "1"
251
- }
252
- }
253
- }
254
- },
255
- "application/ld+json": {
256
- "schema": {
257
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamList"
258
- },
259
- "examples": {
260
- "auditableItemStreamJsonLdListResponseExample": {
261
- "value": {
262
- "@context": "https://schema.twindev.org/ais/",
263
- "type": "AuditableItemStreamList",
264
- "streams": [
265
- {
266
- "@context": "https://schema.twindev.org/ais/",
267
- "type": "AuditableItemStream",
268
- "id": "ais:1234567890",
269
- "dateCreated": "2024-08-22T11:55:16.271Z",
270
- "dateModified": "2024-08-22T11:55:16.271Z",
271
- "streamObject": {
272
- "@context": "http://schema.org/",
273
- "@type": "Note",
274
- "content": "This is a simple note"
275
- },
276
- "nodeIdentity": "tst:1234567890",
277
- "userIdentity": "tst:1234567890",
278
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
279
- "immutableInterval": 10
280
- }
281
- ],
282
- "cursor": "1"
283
- }
284
- }
285
- }
286
- }
287
- },
288
- "headers": {
289
- "content-type": {
290
- "schema": {
291
- "type": "string"
292
- },
293
- "description": "e.g. application/ld+json"
294
- }
295
- }
296
- },
297
- "400": {
298
- "description": "The server cannot process the request, see the content for more details.",
299
- "content": {
300
- "application/json": {
301
- "schema": {
302
- "$ref": "#/components/schemas/Error"
303
- },
304
- "examples": {
305
- "exampleResponse": {
306
- "value": {
307
- "name": "GeneralError",
308
- "message": "component.error",
309
- "properties": {
310
- "foo": "bar"
311
- }
312
- }
313
- }
314
- }
315
- }
316
- }
317
- },
318
- "401": {
319
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
320
- "content": {
321
- "application/json": {
322
- "schema": {
323
- "$ref": "#/components/schemas/Error"
324
- },
325
- "examples": {
326
- "exampleResponse": {
327
- "value": {
328
- "name": "UnauthorizedError",
329
- "message": "component.error"
330
- }
331
- }
332
- }
333
- }
334
- }
335
- },
336
- "404": {
337
- "description": "The resource you tried to access does not exist, see the content for more details.",
338
- "content": {
339
- "application/json": {
340
- "schema": {
341
- "$ref": "#/components/schemas/NotFoundResponse"
342
- },
343
- "examples": {
344
- "exampleResponse": {
345
- "value": {
346
- "name": "NotFoundError",
347
- "message": "component.error",
348
- "properties": {
349
- "notFoundId": "1"
350
- }
351
- }
352
- }
353
- }
354
- }
355
- }
356
- },
357
- "500": {
358
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
359
- "content": {
360
- "application/json": {
361
- "schema": {
362
- "$ref": "#/components/schemas/Error"
363
- },
364
- "examples": {
365
- "exampleResponse": {
366
- "value": {
367
- "name": "InternalServerError",
368
- "message": "component.error"
369
- }
370
- }
371
- }
372
- }
373
- }
374
- }
375
- }
376
- }
377
- },
378
- "/auditable-item-stream/{id}": {
379
- "get": {
380
- "operationId": "auditableItemStreamGet",
381
- "summary": "Get a stream",
382
- "tags": [
383
- "Auditable Item Stream"
384
- ],
385
- "parameters": [
386
- {
387
- "name": "id",
388
- "description": "The id of the stream to get.",
389
- "in": "path",
390
- "required": true,
391
- "schema": {
392
- "type": "string"
393
- },
394
- "style": "simple",
395
- "example": "ais:1234567890"
396
- },
397
- {
398
- "name": "includeEntries",
399
- "description": "Whether to include the entries, defaults to false. The entries will be limited to the first page of entries in date descending order. If you want to get more entries you can use the returned cursor with the get entries method.",
400
- "in": "query",
401
- "required": false,
402
- "schema": {
403
- "type": "boolean"
404
- }
405
- },
406
- {
407
- "name": "includeDeleted",
408
- "description": "Whether to include deleted entries, defaults to false.",
409
- "in": "query",
410
- "required": false,
411
- "schema": {
412
- "type": "boolean"
413
- }
414
- },
415
- {
416
- "name": "verifyStream",
417
- "description": "Should the stream be verified, defaults to false.",
418
- "in": "query",
419
- "required": false,
420
- "schema": {
421
- "type": "boolean"
422
- }
423
- },
424
- {
425
- "name": "verifyEntries",
426
- "description": "Should the entries be verified, defaults to false.",
427
- "in": "query",
428
- "required": false,
429
- "schema": {
430
- "type": "boolean"
431
- }
432
- },
433
- {
434
- "name": "accept",
435
- "in": "header",
436
- "required": true,
437
- "schema": {
438
- "type": "string"
439
- },
440
- "style": "simple",
441
- "example": "application/json"
442
- }
443
- ],
444
- "security": [
445
- {
446
- "jwtBearerAuthScheme": []
447
- }
448
- ],
449
- "responses": {
450
- "200": {
451
- "description": "Response to getting an auditable item stream.",
452
- "content": {
453
- "application/json": {
454
- "schema": {
455
- "$ref": "https://schema.twindev.org/ais/AuditableItemStream"
456
- },
457
- "examples": {
458
- "auditableItemStreamGetResponseExample": {
459
- "value": {
460
- "@context": "https://schema.twindev.org/ais/",
461
- "type": "AuditableItemStream",
462
- "id": "ais:1234567890",
463
- "dateCreated": "2024-08-22T11:55:16.271Z",
464
- "dateModified": "2024-08-22T11:55:16.271Z",
465
- "streamObject": {
466
- "@context": "http://schema.org/",
467
- "@type": "Note",
468
- "content": "This is a simple note"
469
- },
470
- "nodeIdentity": "tst:1234567890",
471
- "userIdentity": "tst:1234567890",
472
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
473
- "immutableInterval": 10,
474
- "entries": [
475
- {
476
- "@context": "https://schema.twindev.org/ais/",
477
- "type": "AuditableItemStreamEntry",
478
- "id": "tst:1234567890",
479
- "dateCreated": "2024-08-22T11:55:16.271Z",
480
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
481
- "index": 0,
482
- "entryObject": {
483
- "@context": "http://schema.org/",
484
- "@type": "Event",
485
- "startDate": "2011-04-09T20:00:00Z",
486
- "description": "A description of the event"
487
- }
488
- }
489
- ]
490
- }
491
- }
492
- }
493
- },
494
- "application/ld+json": {
495
- "schema": {
496
- "$ref": "https://schema.twindev.org/ais/AuditableItemStream"
497
- },
498
- "examples": {
499
- "auditableItemStreamJsonLdGetResponseExample": {
500
- "value": {
501
- "@context": "https://schema.twindev.org/ais/",
502
- "type": "AuditableItemStream",
503
- "id": "ais:1234567890",
504
- "dateCreated": "2024-08-22T11:55:16.271Z",
505
- "dateModified": "2024-08-22T11:55:16.271Z",
506
- "streamObject": {
507
- "@context": "http://schema.org/",
508
- "@type": "Note",
509
- "content": "This is a simple note"
510
- },
511
- "nodeIdentity": "tst:1234567890",
512
- "userIdentity": "tst:1234567890",
513
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
514
- "immutableInterval": 10,
515
- "entries": [
516
- {
517
- "@context": "https://schema.twindev.org/ais/",
518
- "type": "AuditableItemStreamEntry",
519
- "id": "tst:1234567890",
520
- "dateCreated": "2024-08-22T11:55:16.271Z",
521
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
522
- "index": 0,
523
- "entryObject": {
524
- "@context": "http://schema.org/",
525
- "@type": "Event",
526
- "startDate": "2011-04-09T20:00:00Z",
527
- "description": "A description of the event"
528
- }
529
- }
530
- ]
531
- }
532
- }
533
- }
534
- }
535
- },
536
- "headers": {
537
- "content-type": {
538
- "schema": {
539
- "type": "string"
540
- },
541
- "description": "e.g. application/ld+json"
542
- }
543
- }
544
- },
545
- "400": {
546
- "description": "The server cannot process the request, see the content for more details.",
547
- "content": {
548
- "application/json": {
549
- "schema": {
550
- "$ref": "#/components/schemas/Error"
551
- },
552
- "examples": {
553
- "exampleResponse": {
554
- "value": {
555
- "name": "GeneralError",
556
- "message": "component.error",
557
- "properties": {
558
- "foo": "bar"
559
- }
560
- }
561
- }
562
- }
563
- }
564
- }
565
- },
566
- "401": {
567
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
568
- "content": {
569
- "application/json": {
570
- "schema": {
571
- "$ref": "#/components/schemas/Error"
572
- },
573
- "examples": {
574
- "exampleResponse": {
575
- "value": {
576
- "name": "UnauthorizedError",
577
- "message": "component.error"
578
- }
579
- }
580
- }
581
- }
582
- }
583
- },
584
- "404": {
585
- "description": "The resource you tried to access does not exist, see the content for more details.",
586
- "content": {
587
- "application/json": {
588
- "schema": {
589
- "$ref": "#/components/schemas/NotFoundResponse"
590
- },
591
- "examples": {
592
- "exampleResponse": {
593
- "value": {
594
- "name": "NotFoundError",
595
- "message": "component.error",
596
- "properties": {
597
- "notFoundId": "1"
598
- }
599
- }
600
- }
601
- }
602
- }
603
- }
604
- },
605
- "500": {
606
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
607
- "content": {
608
- "application/json": {
609
- "schema": {
610
- "$ref": "#/components/schemas/Error"
611
- },
612
- "examples": {
613
- "exampleResponse": {
614
- "value": {
615
- "name": "InternalServerError",
616
- "message": "component.error"
617
- }
618
- }
619
- }
620
- }
621
- }
622
- }
623
- }
624
- },
625
- "put": {
626
- "operationId": "auditableItemStreamUpdate",
627
- "summary": "Update a stream",
628
- "tags": [
629
- "Auditable Item Stream"
630
- ],
631
- "parameters": [
632
- {
633
- "name": "id",
634
- "description": "The id of the stream to update.",
635
- "in": "path",
636
- "required": true,
637
- "schema": {
638
- "type": "string"
639
- },
640
- "style": "simple",
641
- "example": "ais:1234567890"
642
- }
643
- ],
644
- "security": [
645
- {
646
- "jwtBearerAuthScheme": []
647
- }
648
- ],
649
- "requestBody": {
650
- "description": "Update an auditable item stream.",
651
- "required": true,
652
- "content": {
653
- "application/json": {
654
- "schema": {
655
- "$ref": "#/components/schemas/AuditableItemStreamUpdateRequest"
656
- },
657
- "examples": {
658
- "auditableItemStreamUpdateRequestExample": {
659
- "value": {
660
- "streamObject": {
661
- "@context": "http://schema.org/",
662
- "@type": "Note",
663
- "content": "This is a simple note"
664
- }
665
- }
666
- }
667
- }
668
- }
669
- }
670
- },
671
- "responses": {
672
- "204": {
673
- "description": "The rest request ended in success with no data."
674
- },
675
- "400": {
676
- "description": "The server cannot process the request, see the content for more details.",
677
- "content": {
678
- "application/json": {
679
- "schema": {
680
- "$ref": "#/components/schemas/Error"
681
- },
682
- "examples": {
683
- "exampleResponse": {
684
- "value": {
685
- "name": "GeneralError",
686
- "message": "component.error",
687
- "properties": {
688
- "foo": "bar"
689
- }
690
- }
691
- }
692
- }
693
- }
694
- }
695
- },
696
- "401": {
697
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
698
- "content": {
699
- "application/json": {
700
- "schema": {
701
- "$ref": "#/components/schemas/Error"
702
- },
703
- "examples": {
704
- "exampleResponse": {
705
- "value": {
706
- "name": "UnauthorizedError",
707
- "message": "component.error"
708
- }
709
- }
710
- }
711
- }
712
- }
713
- },
714
- "404": {
715
- "description": "The resource you tried to access does not exist, see the content for more details.",
716
- "content": {
717
- "application/json": {
718
- "schema": {
719
- "$ref": "#/components/schemas/NotFoundResponse"
720
- },
721
- "examples": {
722
- "exampleResponse": {
723
- "value": {
724
- "name": "NotFoundError",
725
- "message": "component.error",
726
- "properties": {
727
- "notFoundId": "1"
728
- }
729
- }
730
- }
731
- }
732
- }
733
- }
734
- },
735
- "500": {
736
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
737
- "content": {
738
- "application/json": {
739
- "schema": {
740
- "$ref": "#/components/schemas/Error"
741
- },
742
- "examples": {
743
- "exampleResponse": {
744
- "value": {
745
- "name": "InternalServerError",
746
- "message": "component.error"
747
- }
748
- }
749
- }
750
- }
751
- }
752
- }
753
- }
754
- },
755
- "post": {
756
- "operationId": "auditableItemStreamCreateEntry",
757
- "summary": "Create a new stream entry",
758
- "tags": [
759
- "Auditable Item Stream"
760
- ],
761
- "parameters": [
762
- {
763
- "name": "id",
764
- "description": "The id of the stream to create the entry in.",
765
- "in": "path",
766
- "required": true,
767
- "schema": {
768
- "type": "string"
769
- },
770
- "style": "simple",
771
- "example": "ais:1234567890"
772
- }
773
- ],
774
- "security": [
775
- {
776
- "jwtBearerAuthScheme": []
777
- }
778
- ],
779
- "requestBody": {
780
- "description": "Append to an auditable item stream.",
781
- "required": true,
782
- "content": {
783
- "application/json": {
784
- "schema": {
785
- "$ref": "#/components/schemas/AuditableItemStreamCreateEntryRequest"
786
- },
787
- "examples": {
788
- "auditableItemStreamCreateEntryRequestExample": {
789
- "value": {
790
- "entryObject": {
791
- "@context": "http://schema.org/",
792
- "@type": "Event",
793
- "startDate": "2011-04-09T20:00:00Z",
794
- "description": "A description of the event"
795
- }
796
- }
797
- }
798
- }
799
- }
800
- }
801
- },
802
- "responses": {
803
- "201": {
804
- "description": "The rest request ended in created response.",
805
- "headers": {
806
- "location": {
807
- "schema": {
808
- "type": "string"
809
- },
810
- "description": "e.g. ais:1234567890:01010101010"
811
- }
812
- }
813
- },
814
- "400": {
815
- "description": "The server cannot process the request, see the content for more details.",
816
- "content": {
817
- "application/json": {
818
- "schema": {
819
- "$ref": "#/components/schemas/Error"
820
- },
821
- "examples": {
822
- "exampleResponse": {
823
- "value": {
824
- "name": "GeneralError",
825
- "message": "component.error",
826
- "properties": {
827
- "foo": "bar"
828
- }
829
- }
830
- }
831
- }
832
- }
833
- }
834
- },
835
- "401": {
836
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
837
- "content": {
838
- "application/json": {
839
- "schema": {
840
- "$ref": "#/components/schemas/Error"
841
- },
842
- "examples": {
843
- "exampleResponse": {
844
- "value": {
845
- "name": "UnauthorizedError",
846
- "message": "component.error"
847
- }
848
- }
849
- }
850
- }
851
- }
852
- },
853
- "500": {
854
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
855
- "content": {
856
- "application/json": {
857
- "schema": {
858
- "$ref": "#/components/schemas/Error"
859
- },
860
- "examples": {
861
- "exampleResponse": {
862
- "value": {
863
- "name": "InternalServerError",
864
- "message": "component.error"
865
- }
866
- }
867
- }
868
- }
869
- }
870
- }
871
- }
872
- }
873
- },
874
- "/auditable-item-stream/{id}/{entryId}": {
875
- "get": {
876
- "operationId": "auditableItemStreamGetEntry",
877
- "summary": "Get a stream entry",
878
- "tags": [
879
- "Auditable Item Stream"
880
- ],
881
- "parameters": [
882
- {
883
- "name": "id",
884
- "description": "The id of the stream to update the get in.",
885
- "in": "path",
886
- "required": true,
887
- "schema": {
888
- "type": "string"
889
- },
890
- "style": "simple",
891
- "example": "ais:1234567890"
892
- },
893
- {
894
- "name": "entryId",
895
- "description": "The id of the entry to update.",
896
- "in": "path",
897
- "required": true,
898
- "schema": {
899
- "type": "string"
900
- },
901
- "style": "simple",
902
- "example": "ais:1234567890:01010101010"
903
- },
904
- {
905
- "name": "verifyEntry",
906
- "description": "Verify the entry, defaults to false.",
907
- "in": "query",
908
- "required": false,
909
- "schema": {
910
- "type": "boolean"
911
- }
912
- },
913
- {
914
- "name": "accept",
915
- "in": "header",
916
- "required": true,
917
- "schema": {
918
- "type": "string"
919
- },
920
- "style": "simple"
921
- }
922
- ],
923
- "security": [
924
- {
925
- "jwtBearerAuthScheme": []
926
- }
927
- ],
928
- "responses": {
929
- "200": {
930
- "description": "Response to getting an auditable item stream entry.",
931
- "content": {
932
- "application/json": {
933
- "schema": {
934
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntry"
935
- },
936
- "examples": {
937
- "auditableItemStreamGetEntryResponseExample": {
938
- "value": {
939
- "@context": "https://schema.twindev.org/ais/",
940
- "type": "AuditableItemStreamEntry",
941
- "id": "tst:1234567890",
942
- "dateCreated": "2024-08-22T11:55:16.271Z",
943
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
944
- "index": 0,
945
- "entryObject": {
946
- "@context": "http://schema.org/",
947
- "@type": "Event",
948
- "startDate": "2011-04-09T20:00:00Z",
949
- "description": "A description of the event"
950
- }
951
- }
952
- }
953
- }
954
- },
955
- "application/ld+json": {
956
- "schema": {
957
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntry"
958
- },
959
- "examples": {
960
- "auditableItemStreamJsonLdGetEntryResponseExample": {
961
- "value": {
962
- "@context": "https://schema.twindev.org/ais/",
963
- "type": "AuditableItemStreamEntry",
964
- "id": "tst:1234567890",
965
- "dateCreated": "2024-08-22T11:55:16.271Z",
966
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
967
- "index": 0,
968
- "entryObject": {
969
- "@context": "http://schema.org/",
970
- "@type": "Event",
971
- "startDate": "2011-04-09T20:00:00Z",
972
- "description": "A description of the event"
973
- }
974
- }
975
- }
976
- }
977
- }
978
- },
979
- "headers": {
980
- "content-type": {
981
- "schema": {
982
- "type": "string"
983
- },
984
- "description": "e.g. application/ld+json"
985
- }
986
- }
987
- },
988
- "400": {
989
- "description": "The server cannot process the request, see the content for more details.",
990
- "content": {
991
- "application/json": {
992
- "schema": {
993
- "$ref": "#/components/schemas/Error"
994
- },
995
- "examples": {
996
- "exampleResponse": {
997
- "value": {
998
- "name": "GeneralError",
999
- "message": "component.error",
1000
- "properties": {
1001
- "foo": "bar"
1002
- }
1003
- }
1004
- }
1005
- }
1006
- }
1007
- }
1008
- },
1009
- "401": {
1010
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1011
- "content": {
1012
- "application/json": {
1013
- "schema": {
1014
- "$ref": "#/components/schemas/Error"
1015
- },
1016
- "examples": {
1017
- "exampleResponse": {
1018
- "value": {
1019
- "name": "UnauthorizedError",
1020
- "message": "component.error"
1021
- }
1022
- }
1023
- }
1024
- }
1025
- }
1026
- },
1027
- "404": {
1028
- "description": "The resource you tried to access does not exist, see the content for more details.",
1029
- "content": {
1030
- "application/json": {
1031
- "schema": {
1032
- "$ref": "#/components/schemas/NotFoundResponse"
1033
- },
1034
- "examples": {
1035
- "exampleResponse": {
1036
- "value": {
1037
- "name": "NotFoundError",
1038
- "message": "component.error",
1039
- "properties": {
1040
- "notFoundId": "1"
1041
- }
1042
- }
1043
- }
1044
- }
1045
- }
1046
- }
1047
- },
1048
- "500": {
1049
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1050
- "content": {
1051
- "application/json": {
1052
- "schema": {
1053
- "$ref": "#/components/schemas/Error"
1054
- },
1055
- "examples": {
1056
- "exampleResponse": {
1057
- "value": {
1058
- "name": "InternalServerError",
1059
- "message": "component.error"
1060
- }
1061
- }
1062
- }
1063
- }
1064
- }
1065
- }
1066
- }
1067
- },
1068
- "delete": {
1069
- "operationId": "auditableItemStreamDeleteEntry",
1070
- "summary": "Delete an entry from the stream",
1071
- "tags": [
1072
- "Auditable Item Stream"
1073
- ],
1074
- "parameters": [
1075
- {
1076
- "name": "id",
1077
- "description": "",
1078
- "in": "path",
1079
- "required": true,
1080
- "schema": {
1081
- "type": "string"
1082
- },
1083
- "style": "simple",
1084
- "example": "ais:1234567890"
1085
- },
1086
- {
1087
- "name": "entryId",
1088
- "description": "",
1089
- "in": "path",
1090
- "required": true,
1091
- "schema": {
1092
- "type": "string"
1093
- },
1094
- "style": "simple",
1095
- "example": "ais:1234567890:01010101010"
1096
- }
1097
- ],
1098
- "security": [
1099
- {
1100
- "jwtBearerAuthScheme": []
1101
- }
1102
- ],
1103
- "responses": {
1104
- "204": {
1105
- "description": "The rest request ended in success with no data."
1106
- },
1107
- "400": {
1108
- "description": "The server cannot process the request, see the content for more details.",
1109
- "content": {
1110
- "application/json": {
1111
- "schema": {
1112
- "$ref": "#/components/schemas/Error"
1113
- },
1114
- "examples": {
1115
- "exampleResponse": {
1116
- "value": {
1117
- "name": "GeneralError",
1118
- "message": "component.error",
1119
- "properties": {
1120
- "foo": "bar"
1121
- }
1122
- }
1123
- }
1124
- }
1125
- }
1126
- }
1127
- },
1128
- "401": {
1129
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1130
- "content": {
1131
- "application/json": {
1132
- "schema": {
1133
- "$ref": "#/components/schemas/Error"
1134
- },
1135
- "examples": {
1136
- "exampleResponse": {
1137
- "value": {
1138
- "name": "UnauthorizedError",
1139
- "message": "component.error"
1140
- }
1141
- }
1142
- }
1143
- }
1144
- }
1145
- },
1146
- "404": {
1147
- "description": "The resource you tried to access does not exist, see the content for more details.",
1148
- "content": {
1149
- "application/json": {
1150
- "schema": {
1151
- "$ref": "#/components/schemas/NotFoundResponse"
1152
- },
1153
- "examples": {
1154
- "exampleResponse": {
1155
- "value": {
1156
- "name": "NotFoundError",
1157
- "message": "component.error",
1158
- "properties": {
1159
- "notFoundId": "1"
1160
- }
1161
- }
1162
- }
1163
- }
1164
- }
1165
- }
1166
- },
1167
- "500": {
1168
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1169
- "content": {
1170
- "application/json": {
1171
- "schema": {
1172
- "$ref": "#/components/schemas/Error"
1173
- },
1174
- "examples": {
1175
- "exampleResponse": {
1176
- "value": {
1177
- "name": "InternalServerError",
1178
- "message": "component.error"
1179
- }
1180
- }
1181
- }
1182
- }
1183
- }
1184
- }
1185
- }
1186
- },
1187
- "put": {
1188
- "operationId": "auditableItemStreamUpdateEntry",
1189
- "summary": "Update a stream entry",
1190
- "tags": [
1191
- "Auditable Item Stream"
1192
- ],
1193
- "parameters": [
1194
- {
1195
- "name": "id",
1196
- "description": "The id of the stream to update the entry in.",
1197
- "in": "path",
1198
- "required": true,
1199
- "schema": {
1200
- "type": "string"
1201
- },
1202
- "style": "simple",
1203
- "example": "ais:1234567890"
1204
- },
1205
- {
1206
- "name": "entryId",
1207
- "description": "The id of the entry to update.",
1208
- "in": "path",
1209
- "required": true,
1210
- "schema": {
1211
- "type": "string"
1212
- },
1213
- "style": "simple",
1214
- "example": "ais:1234567890:01010101010"
1215
- }
1216
- ],
1217
- "security": [
1218
- {
1219
- "jwtBearerAuthScheme": []
1220
- }
1221
- ],
1222
- "requestBody": {
1223
- "description": "Update an entry in the auditable item stream.",
1224
- "required": true,
1225
- "content": {
1226
- "application/json": {
1227
- "schema": {
1228
- "$ref": "#/components/schemas/AuditableItemStreamUpdateEntryRequest"
1229
- },
1230
- "examples": {
1231
- "auditableItemStreamUpdateRequestExample": {
1232
- "value": {
1233
- "entryObject": {
1234
- "@context": "http://schema.org/",
1235
- "@type": "Note",
1236
- "content": "This is a simple note"
1237
- }
1238
- }
1239
- }
1240
- }
1241
- }
1242
- }
1243
- },
1244
- "responses": {
1245
- "204": {
1246
- "description": "The rest request ended in success with no data."
1247
- },
1248
- "400": {
1249
- "description": "The server cannot process the request, see the content for more details.",
1250
- "content": {
1251
- "application/json": {
1252
- "schema": {
1253
- "$ref": "#/components/schemas/Error"
1254
- },
1255
- "examples": {
1256
- "exampleResponse": {
1257
- "value": {
1258
- "name": "GeneralError",
1259
- "message": "component.error",
1260
- "properties": {
1261
- "foo": "bar"
1262
- }
1263
- }
1264
- }
1265
- }
1266
- }
1267
- }
1268
- },
1269
- "401": {
1270
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1271
- "content": {
1272
- "application/json": {
1273
- "schema": {
1274
- "$ref": "#/components/schemas/Error"
1275
- },
1276
- "examples": {
1277
- "exampleResponse": {
1278
- "value": {
1279
- "name": "UnauthorizedError",
1280
- "message": "component.error"
1281
- }
1282
- }
1283
- }
1284
- }
1285
- }
1286
- },
1287
- "404": {
1288
- "description": "The resource you tried to access does not exist, see the content for more details.",
1289
- "content": {
1290
- "application/json": {
1291
- "schema": {
1292
- "$ref": "#/components/schemas/NotFoundResponse"
1293
- },
1294
- "examples": {
1295
- "exampleResponse": {
1296
- "value": {
1297
- "name": "NotFoundError",
1298
- "message": "component.error",
1299
- "properties": {
1300
- "notFoundId": "1"
1301
- }
1302
- }
1303
- }
1304
- }
1305
- }
1306
- }
1307
- },
1308
- "500": {
1309
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1310
- "content": {
1311
- "application/json": {
1312
- "schema": {
1313
- "$ref": "#/components/schemas/Error"
1314
- },
1315
- "examples": {
1316
- "exampleResponse": {
1317
- "value": {
1318
- "name": "InternalServerError",
1319
- "message": "component.error"
1320
- }
1321
- }
1322
- }
1323
- }
1324
- }
1325
- }
1326
- }
1327
- }
1328
- },
1329
- "/auditable-item-stream/{id}/{entryId}/object": {
1330
- "get": {
1331
- "operationId": "auditableItemStreamGetEntryObject",
1332
- "summary": "Get a stream entry",
1333
- "tags": [
1334
- "Auditable Item Stream"
1335
- ],
1336
- "parameters": [
1337
- {
1338
- "name": "id",
1339
- "description": "",
1340
- "in": "path",
1341
- "required": true,
1342
- "schema": {
1343
- "type": "string"
1344
- },
1345
- "style": "simple",
1346
- "example": "ais:1234567890"
1347
- },
1348
- {
1349
- "name": "entryId",
1350
- "description": "",
1351
- "in": "path",
1352
- "required": true,
1353
- "schema": {
1354
- "type": "string"
1355
- },
1356
- "style": "simple",
1357
- "example": "ais:1234567890:01010101010"
1358
- }
1359
- ],
1360
- "security": [
1361
- {
1362
- "jwtBearerAuthScheme": []
1363
- }
1364
- ],
1365
- "responses": {
1366
- "200": {
1367
- "description": "Response to getting an auditable item stream entry object.",
1368
- "content": {
1369
- "application/json": {
1370
- "schema": {
1371
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1372
- },
1373
- "examples": {
1374
- "auditableItemStreamGetEntryObjectResponseExample": {
1375
- "value": {
1376
- "@context": "http://schema.org/",
1377
- "@type": "Event",
1378
- "startDate": "2011-04-09T20:00:00Z",
1379
- "description": "A description of the event"
1380
- }
1381
- }
1382
- }
1383
- }
1384
- }
1385
- },
1386
- "400": {
1387
- "description": "The server cannot process the request, see the content for more details.",
1388
- "content": {
1389
- "application/json": {
1390
- "schema": {
1391
- "$ref": "#/components/schemas/Error"
1392
- },
1393
- "examples": {
1394
- "exampleResponse": {
1395
- "value": {
1396
- "name": "GeneralError",
1397
- "message": "component.error",
1398
- "properties": {
1399
- "foo": "bar"
1400
- }
1401
- }
1402
- }
1403
- }
1404
- }
1405
- }
1406
- },
1407
- "401": {
1408
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1409
- "content": {
1410
- "application/json": {
1411
- "schema": {
1412
- "$ref": "#/components/schemas/Error"
1413
- },
1414
- "examples": {
1415
- "exampleResponse": {
1416
- "value": {
1417
- "name": "UnauthorizedError",
1418
- "message": "component.error"
1419
- }
1420
- }
1421
- }
1422
- }
1423
- }
1424
- },
1425
- "404": {
1426
- "description": "The resource you tried to access does not exist, see the content for more details.",
1427
- "content": {
1428
- "application/json": {
1429
- "schema": {
1430
- "$ref": "#/components/schemas/NotFoundResponse"
1431
- },
1432
- "examples": {
1433
- "exampleResponse": {
1434
- "value": {
1435
- "name": "NotFoundError",
1436
- "message": "component.error",
1437
- "properties": {
1438
- "notFoundId": "1"
1439
- }
1440
- }
1441
- }
1442
- }
1443
- }
1444
- }
1445
- },
1446
- "500": {
1447
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1448
- "content": {
1449
- "application/json": {
1450
- "schema": {
1451
- "$ref": "#/components/schemas/Error"
1452
- },
1453
- "examples": {
1454
- "exampleResponse": {
1455
- "value": {
1456
- "name": "InternalServerError",
1457
- "message": "component.error"
1458
- }
1459
- }
1460
- }
1461
- }
1462
- }
1463
- }
1464
- }
1465
- }
1466
- },
1467
- "/auditable-item-stream/{id}/entries": {
1468
- "get": {
1469
- "operationId": "auditableItemStreamListEntries",
1470
- "summary": "Get the entry objects in a stream",
1471
- "tags": [
1472
- "Auditable Item Stream"
1473
- ],
1474
- "parameters": [
1475
- {
1476
- "name": "id",
1477
- "description": "The id of the stream to get.",
1478
- "in": "path",
1479
- "required": true,
1480
- "schema": {
1481
- "type": "string"
1482
- },
1483
- "style": "simple",
1484
- "example": "ais:1234567890"
1485
- },
1486
- {
1487
- "name": "conditions",
1488
- "description": "The conditions to filter the stream, consist of property|comparison|value comma separated.",
1489
- "in": "query",
1490
- "required": false,
1491
- "schema": {
1492
- "type": "string"
1493
- }
1494
- },
1495
- {
1496
- "name": "includeDeleted",
1497
- "description": "Whether to include deleted entries, defaults to false.",
1498
- "in": "query",
1499
- "required": false,
1500
- "schema": {
1501
- "type": "boolean"
1502
- }
1503
- },
1504
- {
1505
- "name": "verifyEntries",
1506
- "description": "Should the entries be verified, defaults to false.",
1507
- "in": "query",
1508
- "required": false,
1509
- "schema": {
1510
- "type": "boolean"
1511
- }
1512
- },
1513
- {
1514
- "name": "order",
1515
- "description": "Retrieve the entries in ascending/descending time order, defaults to Ascending.",
1516
- "in": "query",
1517
- "required": false,
1518
- "schema": {
1519
- "$ref": "#/components/schemas/SortDirection"
1520
- }
1521
- },
1522
- {
1523
- "name": "pageSize",
1524
- "description": "How many entries to return.",
1525
- "in": "query",
1526
- "required": false,
1527
- "schema": {
1528
- "type": "number"
1529
- }
1530
- },
1531
- {
1532
- "name": "cursor",
1533
- "description": "Cursor to use for next chunk of data.",
1534
- "in": "query",
1535
- "required": false,
1536
- "schema": {
1537
- "type": "string"
1538
- }
1539
- },
1540
- {
1541
- "name": "accept",
1542
- "in": "header",
1543
- "required": true,
1544
- "schema": {
1545
- "type": "string"
1546
- },
1547
- "style": "simple"
1548
- }
1549
- ],
1550
- "security": [
1551
- {
1552
- "jwtBearerAuthScheme": []
1553
- }
1554
- ],
1555
- "responses": {
1556
- "200": {
1557
- "description": "Response to getting an auditable item stream entries.",
1558
- "content": {
1559
- "application/json": {
1560
- "schema": {
1561
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryList"
1562
- },
1563
- "examples": {
1564
- "auditableItemStreamListEntriesResponseExample": {
1565
- "value": {
1566
- "@context": "https://schema.twindev.org/ais/",
1567
- "type": "AuditableItemStreamEntryList",
1568
- "entries": [
1569
- {
1570
- "@context": "https://schema.twindev.org/ais/",
1571
- "type": "AuditableItemStreamEntry",
1572
- "id": "tst:1234567890",
1573
- "dateCreated": "2024-08-22T11:55:16.271Z",
1574
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1575
- "index": 0,
1576
- "entryObject": {
1577
- "@context": "http://schema.org/",
1578
- "@type": "Event",
1579
- "startDate": "2011-04-09T20:00:00Z",
1580
- "description": "A description of the event"
1581
- }
1582
- }
1583
- ],
1584
- "cursor": "1"
1585
- }
1586
- }
1587
- }
1588
- },
1589
- "application/ld+json": {
1590
- "schema": {
1591
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryList"
1592
- },
1593
- "examples": {
1594
- "auditableItemStreamJsonLdListEntriesResponseExample": {
1595
- "value": {
1596
- "@context": "https://schema.twindev.org/ais/",
1597
- "type": "AuditableItemStreamEntryList",
1598
- "entries": [
1599
- {
1600
- "@context": "https://schema.twindev.org/ais/",
1601
- "type": "AuditableItemStreamEntry",
1602
- "id": "tst:1234567890",
1603
- "dateCreated": "2024-08-22T11:55:16.271Z",
1604
- "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1605
- "index": 0,
1606
- "entryObject": {
1607
- "@context": "http://schema.org/",
1608
- "@type": "Event",
1609
- "startDate": "2011-04-09T20:00:00Z",
1610
- "description": "A description of the event"
1611
- }
1612
- }
1613
- ],
1614
- "cursor": "1"
1615
- }
1616
- }
1617
- }
1618
- }
1619
- },
1620
- "headers": {
1621
- "content-type": {
1622
- "schema": {
1623
- "type": "string"
1624
- },
1625
- "description": "e.g. application/ld+json"
1626
- }
1627
- }
1628
- },
1629
- "400": {
1630
- "description": "The server cannot process the request, see the content for more details.",
1631
- "content": {
1632
- "application/json": {
1633
- "schema": {
1634
- "$ref": "#/components/schemas/Error"
1635
- },
1636
- "examples": {
1637
- "exampleResponse": {
1638
- "value": {
1639
- "name": "GeneralError",
1640
- "message": "component.error",
1641
- "properties": {
1642
- "foo": "bar"
1643
- }
1644
- }
1645
- }
1646
- }
1647
- }
1648
- }
1649
- },
1650
- "401": {
1651
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1652
- "content": {
1653
- "application/json": {
1654
- "schema": {
1655
- "$ref": "#/components/schemas/Error"
1656
- },
1657
- "examples": {
1658
- "exampleResponse": {
1659
- "value": {
1660
- "name": "UnauthorizedError",
1661
- "message": "component.error"
1662
- }
1663
- }
1664
- }
1665
- }
1666
- }
1667
- },
1668
- "404": {
1669
- "description": "The resource you tried to access does not exist, see the content for more details.",
1670
- "content": {
1671
- "application/json": {
1672
- "schema": {
1673
- "$ref": "#/components/schemas/NotFoundResponse"
1674
- },
1675
- "examples": {
1676
- "exampleResponse": {
1677
- "value": {
1678
- "name": "NotFoundError",
1679
- "message": "component.error",
1680
- "properties": {
1681
- "notFoundId": "1"
1682
- }
1683
- }
1684
- }
1685
- }
1686
- }
1687
- }
1688
- },
1689
- "500": {
1690
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1691
- "content": {
1692
- "application/json": {
1693
- "schema": {
1694
- "$ref": "#/components/schemas/Error"
1695
- },
1696
- "examples": {
1697
- "exampleResponse": {
1698
- "value": {
1699
- "name": "InternalServerError",
1700
- "message": "component.error"
1701
- }
1702
- }
1703
- }
1704
- }
1705
- }
1706
- }
1707
- }
1708
- }
1709
- },
1710
- "/auditable-item-stream/{id}/entries/objects": {
1711
- "get": {
1712
- "operationId": "auditableItemStreamListEntryObjects",
1713
- "summary": "Get the entry objects in a stream",
1714
- "tags": [
1715
- "Auditable Item Stream"
1716
- ],
1717
- "parameters": [
1718
- {
1719
- "name": "id",
1720
- "description": "The id of the stream to get.",
1721
- "in": "path",
1722
- "required": true,
1723
- "schema": {
1724
- "type": "string"
1725
- },
1726
- "style": "simple",
1727
- "example": "ais:1234567890"
1728
- },
1729
- {
1730
- "name": "conditions",
1731
- "description": "The conditions to filter the stream, consist of property|comparison|value comma separated.",
1732
- "in": "query",
1733
- "required": false,
1734
- "schema": {
1735
- "type": "string"
1736
- }
1737
- },
1738
- {
1739
- "name": "includeDeleted",
1740
- "description": "Whether to include deleted entries, defaults to false.",
1741
- "in": "query",
1742
- "required": false,
1743
- "schema": {
1744
- "type": "boolean"
1745
- }
1746
- },
1747
- {
1748
- "name": "order",
1749
- "description": "Retrieve the entries in ascending/descending time order, defaults to Ascending.",
1750
- "in": "query",
1751
- "required": false,
1752
- "schema": {
1753
- "$ref": "#/components/schemas/SortDirection"
1754
- }
1755
- },
1756
- {
1757
- "name": "pageSize",
1758
- "description": "How many entries to return.",
1759
- "in": "query",
1760
- "required": false,
1761
- "schema": {
1762
- "type": "number"
1763
- }
1764
- },
1765
- {
1766
- "name": "cursor",
1767
- "description": "Cursor to use for next chunk of data.",
1768
- "in": "query",
1769
- "required": false,
1770
- "schema": {
1771
- "type": "string"
1772
- }
1773
- },
1774
- {
1775
- "name": "accept",
1776
- "in": "header",
1777
- "required": true,
1778
- "schema": {
1779
- "type": "string"
1780
- },
1781
- "style": "simple"
1782
- }
1783
- ],
1784
- "security": [
1785
- {
1786
- "jwtBearerAuthScheme": []
1787
- }
1788
- ],
1789
- "responses": {
1790
- "200": {
1791
- "description": "Response to getting an auditable item stream entries objects.",
1792
- "content": {
1793
- "application/json": {
1794
- "schema": {
1795
- "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryObjectList"
1796
- },
1797
- "examples": {
1798
- "auditableItemStreamListEntryObjectsResponseExample": {
1799
- "value": {
1800
- "@context": "https://schema.twindev.org/ais/",
1801
- "type": "AuditableItemStreamEntryObjectList",
1802
- "entryObjects": [
1803
- {
1804
- "@context": "http://schema.org/",
1805
- "@type": "Event",
1806
- "startDate": "2011-04-09T20:00:00Z",
1807
- "description": "A description of the event"
1808
- }
1809
- ],
1810
- "cursor": "1"
1811
- }
1812
- }
1813
- }
1814
- }
1815
- }
1816
- },
1817
- "400": {
1818
- "description": "The server cannot process the request, see the content for more details.",
1819
- "content": {
1820
- "application/json": {
1821
- "schema": {
1822
- "$ref": "#/components/schemas/Error"
1823
- },
1824
- "examples": {
1825
- "exampleResponse": {
1826
- "value": {
1827
- "name": "GeneralError",
1828
- "message": "component.error",
1829
- "properties": {
1830
- "foo": "bar"
1831
- }
1832
- }
1833
- }
1834
- }
1835
- }
1836
- }
1837
- },
1838
- "401": {
1839
- "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1840
- "content": {
1841
- "application/json": {
1842
- "schema": {
1843
- "$ref": "#/components/schemas/Error"
1844
- },
1845
- "examples": {
1846
- "exampleResponse": {
1847
- "value": {
1848
- "name": "UnauthorizedError",
1849
- "message": "component.error"
1850
- }
1851
- }
1852
- }
1853
- }
1854
- }
1855
- },
1856
- "404": {
1857
- "description": "The resource you tried to access does not exist, see the content for more details.",
1858
- "content": {
1859
- "application/json": {
1860
- "schema": {
1861
- "$ref": "#/components/schemas/NotFoundResponse"
1862
- },
1863
- "examples": {
1864
- "exampleResponse": {
1865
- "value": {
1866
- "name": "NotFoundError",
1867
- "message": "component.error",
1868
- "properties": {
1869
- "notFoundId": "1"
1870
- }
1871
- }
1872
- }
1873
- }
1874
- }
1875
- }
1876
- },
1877
- "500": {
1878
- "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1879
- "content": {
1880
- "application/json": {
1881
- "schema": {
1882
- "$ref": "#/components/schemas/Error"
1883
- },
1884
- "examples": {
1885
- "exampleResponse": {
1886
- "value": {
1887
- "name": "InternalServerError",
1888
- "message": "component.error"
1889
- }
1890
- }
1891
- }
1892
- }
1893
- }
1894
- }
1895
- }
1896
- }
1897
- }
1898
- },
1899
- "components": {
1900
- "schemas": {
1901
- "AuditableItemStreamCreateEntryRequest": {
1902
- "type": "object",
1903
- "properties": {
1904
- "entryObject": {
1905
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1906
- }
1907
- },
1908
- "required": [
1909
- "entryObject"
1910
- ],
1911
- "additionalProperties": false,
1912
- "description": "The data to be used in the stream."
1913
- },
1914
- "AuditableItemStreamCreateRequest": {
1915
- "type": "object",
1916
- "properties": {
1917
- "streamObject": {
1918
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1919
- },
1920
- "entries": {
1921
- "type": "array",
1922
- "items": {
1923
- "type": "object",
1924
- "properties": {
1925
- "entryObject": {
1926
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1927
- }
1928
- },
1929
- "required": [
1930
- "entryObject"
1931
- ],
1932
- "additionalProperties": false
1933
- },
1934
- "description": "The entries for the stream."
1935
- },
1936
- "immutableInterval": {
1937
- "type": "number",
1938
- "description": "After how many entries do we add immutable checks, defaults to service configured value. A value of 0 will disable immutable checks, 1 will be every item, or any other integer for an interval."
1939
- }
1940
- },
1941
- "additionalProperties": false,
1942
- "description": "The data to be used in the stream."
1943
- },
1944
- "AuditableItemStreamUpdateEntryRequest": {
1945
- "type": "object",
1946
- "properties": {
1947
- "entryObject": {
1948
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1949
- }
1950
- },
1951
- "required": [
1952
- "entryObject"
1953
- ],
1954
- "additionalProperties": false,
1955
- "description": "The data to be used in the entry."
1956
- },
1957
- "AuditableItemStreamUpdateRequest": {
1958
- "type": "object",
1959
- "properties": {
1960
- "streamObject": {
1961
- "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1962
- }
1963
- },
1964
- "additionalProperties": false,
1965
- "description": "The data to be used in the stream."
1966
- },
1967
- "Error": {
1968
- "type": "object",
1969
- "properties": {
1970
- "name": {
1971
- "type": "string",
1972
- "description": "The name for the error."
1973
- },
1974
- "message": {
1975
- "type": "string",
1976
- "description": "The message for the error."
1977
- },
1978
- "source": {
1979
- "type": "string",
1980
- "description": "The source of the error."
1981
- },
1982
- "properties": {
1983
- "type": "object",
1984
- "additionalProperties": {},
1985
- "description": "Any additional information for the error."
1986
- },
1987
- "stack": {
1988
- "type": "string",
1989
- "description": "The stack trace for the error."
1990
- },
1991
- "inner": {
1992
- "$ref": "#/components/schemas/Error"
1993
- }
1994
- },
1995
- "required": [
1996
- "name",
1997
- "message"
1998
- ],
1999
- "additionalProperties": false,
2000
- "description": "Model to describe serialized error."
2001
- },
2002
- "ImmutableProofFailure": {
2003
- "anyOf": [
2004
- {
2005
- "type": "string",
2006
- "const": "notIssued",
2007
- "description": "Proof not yes issued."
2008
- },
2009
- {
2010
- "type": "string",
2011
- "const": "proofMissing",
2012
- "description": "Proof missing."
2013
- },
2014
- {
2015
- "type": "string",
2016
- "const": "cryptoSuiteMismatch",
2017
- "description": "Crypto suite mismatch."
2018
- },
2019
- {
2020
- "type": "string",
2021
- "const": "proofTypeMismatch",
2022
- "description": "Proof type."
2023
- },
2024
- {
2025
- "type": "string",
2026
- "const": "signatureMismatch",
2027
- "description": "Signature mismatch."
2028
- }
2029
- ],
2030
- "description": "The failure reason of the proof."
2031
- },
2032
- "ImmutableProofVerification": {
2033
- "type": "object",
2034
- "properties": {
2035
- "@context": {
2036
- "type": "string",
2037
- "const": "https://schema.twindev.org/immutable-proof/",
2038
- "description": "JSON-LD Context."
2039
- },
2040
- "type": {
2041
- "type": "string",
2042
- "const": "ImmutableProofVerification",
2043
- "description": "JSON-LD Type."
2044
- },
2045
- "verified": {
2046
- "type": "boolean",
2047
- "description": "Was the verification successful."
2048
- },
2049
- "failure": {
2050
- "$ref": "#/components/schemas/ImmutableProofFailure"
2051
- }
2052
- },
2053
- "required": [
2054
- "@context",
2055
- "type",
2056
- "verified"
2057
- ],
2058
- "additionalProperties": false,
2059
- "description": "Interface describing an immutable proof verification."
2060
- },
2061
- "NotFoundResponse": {
2062
- "type": "object",
2063
- "additionalProperties": false,
2064
- "properties": {
2065
- "notFoundId": {
2066
- "type": "string",
2067
- "description": "The id if the item that was not found."
2068
- },
2069
- "name": {
2070
- "type": "string",
2071
- "description": "The name for the error."
2072
- },
2073
- "message": {
2074
- "type": "string",
2075
- "description": "The message for the error."
2076
- },
2077
- "source": {
2078
- "type": "string",
2079
- "description": "The source of the error."
2080
- },
2081
- "properties": {
2082
- "type": "object",
2083
- "additionalProperties": {},
2084
- "description": "Any additional information for the error."
2085
- },
2086
- "stack": {
2087
- "type": "string",
2088
- "description": "The stack trace for the error."
2089
- },
2090
- "inner": {
2091
- "$ref": "#/components/schemas/Error"
2092
- }
2093
- },
2094
- "required": [
2095
- "message",
2096
- "name"
2097
- ],
2098
- "description": "The body which contains the error."
2099
- },
2100
- "SortDirection": {
2101
- "anyOf": [
2102
- {
2103
- "type": "string",
2104
- "const": "asc",
2105
- "description": "Ascending."
2106
- },
2107
- {
2108
- "type": "string",
2109
- "const": "desc",
2110
- "description": "Descending."
2111
- }
2112
- ],
2113
- "description": "The sort directions."
2114
- }
2115
- },
2116
- "securitySchemes": {
2117
- "jwtBearerAuthScheme": {
2118
- "type": "http",
2119
- "scheme": "bearer",
2120
- "bearerFormat": "JWT"
2121
- }
2122
- }
2123
- }
2124
- }
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "TWIN - Test Endpoints",
5
+ "description": "REST API for TWIN - Test Endpoints.",
6
+ "version": "1.0.0",
7
+ "license": {
8
+ "name": "Apache 2.0 License",
9
+ "url": "https://opensource.org/licenses/Apache-2.0"
10
+ }
11
+ },
12
+ "servers": [
13
+ {
14
+ "url": "https://localhost"
15
+ }
16
+ ],
17
+ "tags": [
18
+ {
19
+ "name": "Auditable Item Stream",
20
+ "description": "Endpoints which are modelled to access an auditable item stream contract."
21
+ }
22
+ ],
23
+ "paths": {
24
+ "/auditable-item-stream": {
25
+ "post": {
26
+ "operationId": "auditableItemStreamCreate",
27
+ "summary": "Create a new stream",
28
+ "tags": [
29
+ "Auditable Item Stream"
30
+ ],
31
+ "security": [
32
+ {
33
+ "jwtBearerAuthScheme": []
34
+ }
35
+ ],
36
+ "requestBody": {
37
+ "description": "Create an auditable item stream.",
38
+ "required": true,
39
+ "content": {
40
+ "application/json": {
41
+ "schema": {
42
+ "$ref": "#/components/schemas/AuditableItemStreamCreateRequest"
43
+ },
44
+ "examples": {
45
+ "auditableItemStreamCreateRequestExample": {
46
+ "value": {
47
+ "annotationObject": {
48
+ "@context": "https://schema.org",
49
+ "@type": "Note",
50
+ "content": "This is a simple note"
51
+ },
52
+ "entries": [
53
+ {
54
+ "entryObject": {
55
+ "@context": "https://schema.org",
56
+ "@type": "Event",
57
+ "startDate": "2011-04-09T20:00:00Z",
58
+ "description": "A description of the event"
59
+ }
60
+ }
61
+ ]
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "responses": {
69
+ "201": {
70
+ "description": "The rest request ended in created response.",
71
+ "headers": {
72
+ "location": {
73
+ "schema": {
74
+ "type": "string"
75
+ },
76
+ "description": "e.g. ais:1234567890"
77
+ }
78
+ }
79
+ },
80
+ "400": {
81
+ "description": "The server cannot process the request, see the content for more details.",
82
+ "content": {
83
+ "application/json": {
84
+ "schema": {
85
+ "$ref": "#/components/schemas/Error"
86
+ },
87
+ "examples": {
88
+ "exampleResponse": {
89
+ "value": {
90
+ "name": "GeneralError",
91
+ "message": "component.error",
92
+ "properties": {
93
+ "foo": "bar"
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ },
101
+ "401": {
102
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
103
+ "content": {
104
+ "application/json": {
105
+ "schema": {
106
+ "$ref": "#/components/schemas/Error"
107
+ },
108
+ "examples": {
109
+ "exampleResponse": {
110
+ "value": {
111
+ "name": "UnauthorizedError",
112
+ "message": "component.error"
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ "500": {
120
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
121
+ "content": {
122
+ "application/json": {
123
+ "schema": {
124
+ "$ref": "#/components/schemas/Error"
125
+ },
126
+ "examples": {
127
+ "exampleResponse": {
128
+ "value": {
129
+ "name": "InternalServerError",
130
+ "message": "component.error"
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ },
139
+ "get": {
140
+ "operationId": "auditableItemStreamList",
141
+ "summary": "Query streams",
142
+ "tags": [
143
+ "Auditable Item Stream"
144
+ ],
145
+ "parameters": [
146
+ {
147
+ "name": "conditions",
148
+ "description": "The conditions to filter the streams, JSON stringified IComparator[].",
149
+ "in": "query",
150
+ "required": false,
151
+ "schema": {
152
+ "type": "string"
153
+ }
154
+ },
155
+ {
156
+ "name": "orderBy",
157
+ "description": "The order for the results, default to created.",
158
+ "in": "query",
159
+ "required": false,
160
+ "schema": {
161
+ "type": "string",
162
+ "enum": [
163
+ "dateCreated",
164
+ "dateModified"
165
+ ]
166
+ }
167
+ },
168
+ {
169
+ "name": "orderByDirection",
170
+ "description": "The direction for the order, defaults to desc.",
171
+ "in": "query",
172
+ "required": false,
173
+ "schema": {
174
+ "$ref": "#/components/schemas/SortDirection"
175
+ }
176
+ },
177
+ {
178
+ "name": "properties",
179
+ "description": "The properties to return as a comma separated list, defaults to \"id,object\".",
180
+ "in": "query",
181
+ "required": false,
182
+ "schema": {
183
+ "type": "string"
184
+ }
185
+ },
186
+ {
187
+ "name": "cursor",
188
+ "description": "The optional cursor to get next chunk.",
189
+ "in": "query",
190
+ "required": false,
191
+ "schema": {
192
+ "type": "string"
193
+ }
194
+ },
195
+ {
196
+ "name": "pageSize",
197
+ "description": "The maximum number of entities in a page.",
198
+ "in": "query",
199
+ "required": false,
200
+ "schema": {
201
+ "type": [
202
+ "number",
203
+ "string"
204
+ ]
205
+ }
206
+ },
207
+ {
208
+ "name": "accept",
209
+ "in": "header",
210
+ "required": true,
211
+ "schema": {
212
+ "type": "string"
213
+ },
214
+ "style": "simple"
215
+ }
216
+ ],
217
+ "security": [
218
+ {
219
+ "jwtBearerAuthScheme": []
220
+ }
221
+ ],
222
+ "responses": {
223
+ "200": {
224
+ "description": "The response to getting the a list of the streams.",
225
+ "content": {
226
+ "application/json": {
227
+ "schema": {
228
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamList"
229
+ },
230
+ "examples": {
231
+ "auditableItemStreamListResponseExample": {
232
+ "value": {
233
+ "@context": [
234
+ "https://schema.org",
235
+ "https://schema.twindev.org/ais/",
236
+ "https://schema.twindev.org/common/"
237
+ ],
238
+ "type": [
239
+ "ItemList",
240
+ "AuditableItemStreamList"
241
+ ],
242
+ "itemListElement": [
243
+ {
244
+ "@context": [
245
+ "https://schema.twindev.org/ais/",
246
+ "https://schema.twindev.org/common/"
247
+ ],
248
+ "type": "AuditableItemStream",
249
+ "id": "ais:1234567890",
250
+ "dateCreated": "2024-08-22T11:55:16.271Z",
251
+ "dateModified": "2024-08-22T11:55:16.271Z",
252
+ "annotationObject": {
253
+ "@context": "https://schema.org",
254
+ "@type": "Note",
255
+ "content": "This is a simple note"
256
+ },
257
+ "nodeIdentity": "tst:1234567890",
258
+ "userIdentity": "tst:1234567890",
259
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
260
+ "immutableInterval": 10
261
+ }
262
+ ],
263
+ "nextItem": "1"
264
+ }
265
+ }
266
+ }
267
+ },
268
+ "application/ld+json": {
269
+ "schema": {
270
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamList"
271
+ },
272
+ "examples": {
273
+ "auditableItemStreamJsonLdListResponseExample": {
274
+ "value": {
275
+ "@context": [
276
+ "https://schema.org",
277
+ "https://schema.twindev.org/ais/",
278
+ "https://schema.twindev.org/common/"
279
+ ],
280
+ "type": [
281
+ "ItemList",
282
+ "AuditableItemStreamList"
283
+ ],
284
+ "itemListElement": [
285
+ {
286
+ "@context": [
287
+ "https://schema.twindev.org/ais/",
288
+ "https://schema.twindev.org/common/"
289
+ ],
290
+ "type": "AuditableItemStream",
291
+ "id": "ais:1234567890",
292
+ "dateCreated": "2024-08-22T11:55:16.271Z",
293
+ "dateModified": "2024-08-22T11:55:16.271Z",
294
+ "annotationObject": {
295
+ "@context": "https://schema.org",
296
+ "@type": "Note",
297
+ "content": "This is a simple note"
298
+ },
299
+ "nodeIdentity": "tst:1234567890",
300
+ "userIdentity": "tst:1234567890",
301
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
302
+ "immutableInterval": 10
303
+ }
304
+ ],
305
+ "nextItem": "1"
306
+ }
307
+ }
308
+ }
309
+ }
310
+ },
311
+ "headers": {
312
+ "content-type": {
313
+ "schema": {
314
+ "type": "string"
315
+ },
316
+ "description": "e.g. application/ld+json"
317
+ }
318
+ }
319
+ },
320
+ "400": {
321
+ "description": "The server cannot process the request, see the content for more details.",
322
+ "content": {
323
+ "application/json": {
324
+ "schema": {
325
+ "$ref": "#/components/schemas/Error"
326
+ },
327
+ "examples": {
328
+ "exampleResponse": {
329
+ "value": {
330
+ "name": "GeneralError",
331
+ "message": "component.error",
332
+ "properties": {
333
+ "foo": "bar"
334
+ }
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+ },
341
+ "401": {
342
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
343
+ "content": {
344
+ "application/json": {
345
+ "schema": {
346
+ "$ref": "#/components/schemas/Error"
347
+ },
348
+ "examples": {
349
+ "exampleResponse": {
350
+ "value": {
351
+ "name": "UnauthorizedError",
352
+ "message": "component.error"
353
+ }
354
+ }
355
+ }
356
+ }
357
+ }
358
+ },
359
+ "404": {
360
+ "description": "The resource you tried to access does not exist, see the content for more details.",
361
+ "content": {
362
+ "application/json": {
363
+ "schema": {
364
+ "$ref": "#/components/schemas/NotFoundResponse"
365
+ },
366
+ "examples": {
367
+ "exampleResponse": {
368
+ "value": {
369
+ "name": "NotFoundError",
370
+ "message": "component.error",
371
+ "properties": {
372
+ "notFoundId": "1"
373
+ }
374
+ }
375
+ }
376
+ }
377
+ }
378
+ }
379
+ },
380
+ "500": {
381
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
382
+ "content": {
383
+ "application/json": {
384
+ "schema": {
385
+ "$ref": "#/components/schemas/Error"
386
+ },
387
+ "examples": {
388
+ "exampleResponse": {
389
+ "value": {
390
+ "name": "InternalServerError",
391
+ "message": "component.error"
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+ }
400
+ },
401
+ "/auditable-item-stream/{id}": {
402
+ "get": {
403
+ "operationId": "auditableItemStreamGet",
404
+ "summary": "Get a stream",
405
+ "tags": [
406
+ "Auditable Item Stream"
407
+ ],
408
+ "parameters": [
409
+ {
410
+ "name": "id",
411
+ "description": "The id of the stream to get.",
412
+ "in": "path",
413
+ "required": true,
414
+ "schema": {
415
+ "type": "string"
416
+ },
417
+ "style": "simple",
418
+ "example": "ais:1234567890"
419
+ },
420
+ {
421
+ "name": "includeEntries",
422
+ "description": "Whether to include the entries, defaults to false. The entries will be limited to the first page of entries in date descending order. If you want to get more entries you can use the returned cursor with the get entries method.",
423
+ "in": "query",
424
+ "required": false,
425
+ "schema": {
426
+ "type": [
427
+ "boolean",
428
+ "string"
429
+ ]
430
+ }
431
+ },
432
+ {
433
+ "name": "includeDeleted",
434
+ "description": "Whether to include deleted entries, defaults to false.",
435
+ "in": "query",
436
+ "required": false,
437
+ "schema": {
438
+ "type": [
439
+ "boolean",
440
+ "string"
441
+ ]
442
+ }
443
+ },
444
+ {
445
+ "name": "verifyStream",
446
+ "description": "Should the stream be verified, defaults to false.",
447
+ "in": "query",
448
+ "required": false,
449
+ "schema": {
450
+ "type": [
451
+ "boolean",
452
+ "string"
453
+ ]
454
+ }
455
+ },
456
+ {
457
+ "name": "verifyEntries",
458
+ "description": "Should the entries be verified, defaults to false.",
459
+ "in": "query",
460
+ "required": false,
461
+ "schema": {
462
+ "type": [
463
+ "boolean",
464
+ "string"
465
+ ]
466
+ }
467
+ },
468
+ {
469
+ "name": "accept",
470
+ "in": "header",
471
+ "required": true,
472
+ "schema": {
473
+ "type": "string"
474
+ },
475
+ "style": "simple",
476
+ "example": "application/json"
477
+ }
478
+ ],
479
+ "security": [
480
+ {
481
+ "jwtBearerAuthScheme": []
482
+ }
483
+ ],
484
+ "responses": {
485
+ "200": {
486
+ "description": "Response to getting an auditable item stream.",
487
+ "content": {
488
+ "application/json": {
489
+ "schema": {
490
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStream"
491
+ },
492
+ "examples": {
493
+ "auditableItemStreamGetResponseExample": {
494
+ "value": {
495
+ "@context": [
496
+ "https://schema.twindev.org/ais/",
497
+ "https://schema.twindev.org/common/"
498
+ ],
499
+ "type": "AuditableItemStream",
500
+ "id": "ais:1234567890",
501
+ "dateCreated": "2024-08-22T11:55:16.271Z",
502
+ "dateModified": "2024-08-22T11:55:16.271Z",
503
+ "annotationObject": {
504
+ "@context": "https://schema.org",
505
+ "@type": "Note",
506
+ "content": "This is a simple note"
507
+ },
508
+ "nodeIdentity": "tst:1234567890",
509
+ "userIdentity": "tst:1234567890",
510
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
511
+ "immutableInterval": 10,
512
+ "entries": [
513
+ {
514
+ "@context": [
515
+ "https://schema.twindev.org/ais/",
516
+ "https://schema.twindev.org/common/"
517
+ ],
518
+ "type": "AuditableItemStreamEntry",
519
+ "id": "tst:1234567890",
520
+ "dateCreated": "2024-08-22T11:55:16.271Z",
521
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
522
+ "index": 0,
523
+ "entryObject": {
524
+ "@context": "https://schema.org",
525
+ "@type": "Event",
526
+ "startDate": "2011-04-09T20:00:00Z",
527
+ "description": "A description of the event"
528
+ }
529
+ }
530
+ ]
531
+ }
532
+ }
533
+ }
534
+ },
535
+ "application/ld+json": {
536
+ "schema": {
537
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStream"
538
+ },
539
+ "examples": {
540
+ "auditableItemStreamJsonLdGetResponseExample": {
541
+ "value": {
542
+ "@context": [
543
+ "https://schema.twindev.org/ais/",
544
+ "https://schema.twindev.org/common/"
545
+ ],
546
+ "type": "AuditableItemStream",
547
+ "id": "ais:1234567890",
548
+ "dateCreated": "2024-08-22T11:55:16.271Z",
549
+ "dateModified": "2024-08-22T11:55:16.271Z",
550
+ "annotationObject": {
551
+ "@context": "https://schema.org",
552
+ "@type": "Note",
553
+ "content": "This is a simple note"
554
+ },
555
+ "nodeIdentity": "tst:1234567890",
556
+ "userIdentity": "tst:1234567890",
557
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
558
+ "immutableInterval": 10,
559
+ "entries": [
560
+ {
561
+ "@context": [
562
+ "https://schema.twindev.org/ais/",
563
+ "https://schema.twindev.org/common/"
564
+ ],
565
+ "type": "AuditableItemStreamEntry",
566
+ "id": "tst:1234567890",
567
+ "dateCreated": "2024-08-22T11:55:16.271Z",
568
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
569
+ "index": 0,
570
+ "entryObject": {
571
+ "@context": "https://schema.org",
572
+ "@type": "Event",
573
+ "startDate": "2011-04-09T20:00:00Z",
574
+ "description": "A description of the event"
575
+ }
576
+ }
577
+ ]
578
+ }
579
+ }
580
+ }
581
+ }
582
+ },
583
+ "headers": {
584
+ "content-type": {
585
+ "schema": {
586
+ "type": "string"
587
+ },
588
+ "description": "e.g. application/ld+json"
589
+ }
590
+ }
591
+ },
592
+ "400": {
593
+ "description": "The server cannot process the request, see the content for more details.",
594
+ "content": {
595
+ "application/json": {
596
+ "schema": {
597
+ "$ref": "#/components/schemas/Error"
598
+ },
599
+ "examples": {
600
+ "exampleResponse": {
601
+ "value": {
602
+ "name": "GeneralError",
603
+ "message": "component.error",
604
+ "properties": {
605
+ "foo": "bar"
606
+ }
607
+ }
608
+ }
609
+ }
610
+ }
611
+ }
612
+ },
613
+ "401": {
614
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
615
+ "content": {
616
+ "application/json": {
617
+ "schema": {
618
+ "$ref": "#/components/schemas/Error"
619
+ },
620
+ "examples": {
621
+ "exampleResponse": {
622
+ "value": {
623
+ "name": "UnauthorizedError",
624
+ "message": "component.error"
625
+ }
626
+ }
627
+ }
628
+ }
629
+ }
630
+ },
631
+ "404": {
632
+ "description": "The resource you tried to access does not exist, see the content for more details.",
633
+ "content": {
634
+ "application/json": {
635
+ "schema": {
636
+ "$ref": "#/components/schemas/NotFoundResponse"
637
+ },
638
+ "examples": {
639
+ "exampleResponse": {
640
+ "value": {
641
+ "name": "NotFoundError",
642
+ "message": "component.error",
643
+ "properties": {
644
+ "notFoundId": "1"
645
+ }
646
+ }
647
+ }
648
+ }
649
+ }
650
+ }
651
+ },
652
+ "500": {
653
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
654
+ "content": {
655
+ "application/json": {
656
+ "schema": {
657
+ "$ref": "#/components/schemas/Error"
658
+ },
659
+ "examples": {
660
+ "exampleResponse": {
661
+ "value": {
662
+ "name": "InternalServerError",
663
+ "message": "component.error"
664
+ }
665
+ }
666
+ }
667
+ }
668
+ }
669
+ }
670
+ }
671
+ },
672
+ "put": {
673
+ "operationId": "auditableItemStreamUpdate",
674
+ "summary": "Update a stream",
675
+ "tags": [
676
+ "Auditable Item Stream"
677
+ ],
678
+ "parameters": [
679
+ {
680
+ "name": "id",
681
+ "description": "The id of the stream to update.",
682
+ "in": "path",
683
+ "required": true,
684
+ "schema": {
685
+ "type": "string"
686
+ },
687
+ "style": "simple",
688
+ "example": "ais:1234567890"
689
+ }
690
+ ],
691
+ "security": [
692
+ {
693
+ "jwtBearerAuthScheme": []
694
+ }
695
+ ],
696
+ "requestBody": {
697
+ "description": "Update an auditable item stream.",
698
+ "required": true,
699
+ "content": {
700
+ "application/json": {
701
+ "schema": {
702
+ "$ref": "#/components/schemas/AuditableItemStreamUpdateRequest"
703
+ },
704
+ "examples": {
705
+ "auditableItemStreamUpdateRequestExample": {
706
+ "value": {
707
+ "annotationObject": {
708
+ "@context": "https://schema.org",
709
+ "@type": "Note",
710
+ "content": "This is a simple note"
711
+ }
712
+ }
713
+ }
714
+ }
715
+ }
716
+ }
717
+ },
718
+ "responses": {
719
+ "204": {
720
+ "description": "The rest request ended in success with no data."
721
+ },
722
+ "400": {
723
+ "description": "The server cannot process the request, see the content for more details.",
724
+ "content": {
725
+ "application/json": {
726
+ "schema": {
727
+ "$ref": "#/components/schemas/Error"
728
+ },
729
+ "examples": {
730
+ "exampleResponse": {
731
+ "value": {
732
+ "name": "GeneralError",
733
+ "message": "component.error",
734
+ "properties": {
735
+ "foo": "bar"
736
+ }
737
+ }
738
+ }
739
+ }
740
+ }
741
+ }
742
+ },
743
+ "401": {
744
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
745
+ "content": {
746
+ "application/json": {
747
+ "schema": {
748
+ "$ref": "#/components/schemas/Error"
749
+ },
750
+ "examples": {
751
+ "exampleResponse": {
752
+ "value": {
753
+ "name": "UnauthorizedError",
754
+ "message": "component.error"
755
+ }
756
+ }
757
+ }
758
+ }
759
+ }
760
+ },
761
+ "404": {
762
+ "description": "The resource you tried to access does not exist, see the content for more details.",
763
+ "content": {
764
+ "application/json": {
765
+ "schema": {
766
+ "$ref": "#/components/schemas/NotFoundResponse"
767
+ },
768
+ "examples": {
769
+ "exampleResponse": {
770
+ "value": {
771
+ "name": "NotFoundError",
772
+ "message": "component.error",
773
+ "properties": {
774
+ "notFoundId": "1"
775
+ }
776
+ }
777
+ }
778
+ }
779
+ }
780
+ }
781
+ },
782
+ "500": {
783
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
784
+ "content": {
785
+ "application/json": {
786
+ "schema": {
787
+ "$ref": "#/components/schemas/Error"
788
+ },
789
+ "examples": {
790
+ "exampleResponse": {
791
+ "value": {
792
+ "name": "InternalServerError",
793
+ "message": "component.error"
794
+ }
795
+ }
796
+ }
797
+ }
798
+ }
799
+ }
800
+ }
801
+ },
802
+ "delete": {
803
+ "operationId": "auditableItemStreamDelete",
804
+ "summary": "Delete a stream",
805
+ "tags": [
806
+ "Auditable Item Stream"
807
+ ],
808
+ "parameters": [
809
+ {
810
+ "name": "id",
811
+ "description": "The id of the stream to remove.",
812
+ "in": "path",
813
+ "required": true,
814
+ "schema": {
815
+ "type": "string"
816
+ },
817
+ "style": "simple",
818
+ "example": "ais:1234567890"
819
+ }
820
+ ],
821
+ "security": [
822
+ {
823
+ "jwtBearerAuthScheme": []
824
+ }
825
+ ],
826
+ "responses": {
827
+ "204": {
828
+ "description": "The rest request ended in success with no data."
829
+ },
830
+ "400": {
831
+ "description": "The server cannot process the request, see the content for more details.",
832
+ "content": {
833
+ "application/json": {
834
+ "schema": {
835
+ "$ref": "#/components/schemas/Error"
836
+ },
837
+ "examples": {
838
+ "exampleResponse": {
839
+ "value": {
840
+ "name": "GeneralError",
841
+ "message": "component.error",
842
+ "properties": {
843
+ "foo": "bar"
844
+ }
845
+ }
846
+ }
847
+ }
848
+ }
849
+ }
850
+ },
851
+ "401": {
852
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
853
+ "content": {
854
+ "application/json": {
855
+ "schema": {
856
+ "$ref": "#/components/schemas/Error"
857
+ },
858
+ "examples": {
859
+ "exampleResponse": {
860
+ "value": {
861
+ "name": "UnauthorizedError",
862
+ "message": "component.error"
863
+ }
864
+ }
865
+ }
866
+ }
867
+ }
868
+ },
869
+ "404": {
870
+ "description": "The resource you tried to access does not exist, see the content for more details.",
871
+ "content": {
872
+ "application/json": {
873
+ "schema": {
874
+ "$ref": "#/components/schemas/NotFoundResponse"
875
+ },
876
+ "examples": {
877
+ "exampleResponse": {
878
+ "value": {
879
+ "name": "NotFoundError",
880
+ "message": "component.error",
881
+ "properties": {
882
+ "notFoundId": "1"
883
+ }
884
+ }
885
+ }
886
+ }
887
+ }
888
+ }
889
+ },
890
+ "500": {
891
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
892
+ "content": {
893
+ "application/json": {
894
+ "schema": {
895
+ "$ref": "#/components/schemas/Error"
896
+ },
897
+ "examples": {
898
+ "exampleResponse": {
899
+ "value": {
900
+ "name": "InternalServerError",
901
+ "message": "component.error"
902
+ }
903
+ }
904
+ }
905
+ }
906
+ }
907
+ }
908
+ }
909
+ },
910
+ "post": {
911
+ "operationId": "auditableItemStreamCreateEntry",
912
+ "summary": "Create a new stream entry",
913
+ "tags": [
914
+ "Auditable Item Stream"
915
+ ],
916
+ "parameters": [
917
+ {
918
+ "name": "id",
919
+ "description": "The id of the stream to create the entry in.",
920
+ "in": "path",
921
+ "required": true,
922
+ "schema": {
923
+ "type": "string"
924
+ },
925
+ "style": "simple",
926
+ "example": "ais:1234567890"
927
+ }
928
+ ],
929
+ "security": [
930
+ {
931
+ "jwtBearerAuthScheme": []
932
+ }
933
+ ],
934
+ "requestBody": {
935
+ "description": "Append to an auditable item stream.",
936
+ "required": true,
937
+ "content": {
938
+ "application/json": {
939
+ "schema": {
940
+ "$ref": "#/components/schemas/AuditableItemStreamCreateEntryRequest"
941
+ },
942
+ "examples": {
943
+ "auditableItemStreamCreateEntryRequestExample": {
944
+ "value": {
945
+ "entryObject": {
946
+ "@context": "https://schema.org",
947
+ "@type": "Event",
948
+ "startDate": "2011-04-09T20:00:00Z",
949
+ "description": "A description of the event"
950
+ }
951
+ }
952
+ }
953
+ }
954
+ }
955
+ }
956
+ },
957
+ "responses": {
958
+ "201": {
959
+ "description": "The rest request ended in created response.",
960
+ "headers": {
961
+ "location": {
962
+ "schema": {
963
+ "type": "string"
964
+ },
965
+ "description": "e.g. ais:1234567890:01010101010"
966
+ }
967
+ }
968
+ },
969
+ "400": {
970
+ "description": "The server cannot process the request, see the content for more details.",
971
+ "content": {
972
+ "application/json": {
973
+ "schema": {
974
+ "$ref": "#/components/schemas/Error"
975
+ },
976
+ "examples": {
977
+ "exampleResponse": {
978
+ "value": {
979
+ "name": "GeneralError",
980
+ "message": "component.error",
981
+ "properties": {
982
+ "foo": "bar"
983
+ }
984
+ }
985
+ }
986
+ }
987
+ }
988
+ }
989
+ },
990
+ "401": {
991
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
992
+ "content": {
993
+ "application/json": {
994
+ "schema": {
995
+ "$ref": "#/components/schemas/Error"
996
+ },
997
+ "examples": {
998
+ "exampleResponse": {
999
+ "value": {
1000
+ "name": "UnauthorizedError",
1001
+ "message": "component.error"
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ }
1007
+ },
1008
+ "500": {
1009
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1010
+ "content": {
1011
+ "application/json": {
1012
+ "schema": {
1013
+ "$ref": "#/components/schemas/Error"
1014
+ },
1015
+ "examples": {
1016
+ "exampleResponse": {
1017
+ "value": {
1018
+ "name": "InternalServerError",
1019
+ "message": "component.error"
1020
+ }
1021
+ }
1022
+ }
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ }
1028
+ },
1029
+ "/auditable-item-stream/{id}/{entryId}": {
1030
+ "get": {
1031
+ "operationId": "auditableItemStreamGetEntry",
1032
+ "summary": "Get a stream entry",
1033
+ "tags": [
1034
+ "Auditable Item Stream"
1035
+ ],
1036
+ "parameters": [
1037
+ {
1038
+ "name": "id",
1039
+ "description": "The id of the stream to update the get in.",
1040
+ "in": "path",
1041
+ "required": true,
1042
+ "schema": {
1043
+ "type": "string"
1044
+ },
1045
+ "style": "simple",
1046
+ "example": "ais:1234567890"
1047
+ },
1048
+ {
1049
+ "name": "entryId",
1050
+ "description": "The id of the entry to update.",
1051
+ "in": "path",
1052
+ "required": true,
1053
+ "schema": {
1054
+ "type": "string"
1055
+ },
1056
+ "style": "simple",
1057
+ "example": "ais:1234567890:01010101010"
1058
+ },
1059
+ {
1060
+ "name": "verifyEntry",
1061
+ "description": "Verify the entry, defaults to false.",
1062
+ "in": "query",
1063
+ "required": false,
1064
+ "schema": {
1065
+ "type": [
1066
+ "boolean",
1067
+ "string"
1068
+ ]
1069
+ }
1070
+ },
1071
+ {
1072
+ "name": "accept",
1073
+ "in": "header",
1074
+ "required": true,
1075
+ "schema": {
1076
+ "type": "string"
1077
+ },
1078
+ "style": "simple"
1079
+ }
1080
+ ],
1081
+ "security": [
1082
+ {
1083
+ "jwtBearerAuthScheme": []
1084
+ }
1085
+ ],
1086
+ "responses": {
1087
+ "200": {
1088
+ "description": "Response to getting an auditable item stream entry.",
1089
+ "content": {
1090
+ "application/json": {
1091
+ "schema": {
1092
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntry"
1093
+ },
1094
+ "examples": {
1095
+ "auditableItemStreamGetEntryResponseExample": {
1096
+ "value": {
1097
+ "@context": [
1098
+ "https://schema.twindev.org/ais/",
1099
+ "https://schema.twindev.org/common/"
1100
+ ],
1101
+ "type": "AuditableItemStreamEntry",
1102
+ "id": "tst:1234567890",
1103
+ "dateCreated": "2024-08-22T11:55:16.271Z",
1104
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1105
+ "index": 0,
1106
+ "entryObject": {
1107
+ "@context": "https://schema.org",
1108
+ "@type": "Event",
1109
+ "startDate": "2011-04-09T20:00:00Z",
1110
+ "description": "A description of the event"
1111
+ }
1112
+ }
1113
+ }
1114
+ }
1115
+ },
1116
+ "application/ld+json": {
1117
+ "schema": {
1118
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntry"
1119
+ },
1120
+ "examples": {
1121
+ "auditableItemStreamJsonLdGetEntryResponseExample": {
1122
+ "value": {
1123
+ "@context": [
1124
+ "https://schema.twindev.org/ais/",
1125
+ "https://schema.twindev.org/common/"
1126
+ ],
1127
+ "type": "AuditableItemStreamEntry",
1128
+ "id": "tst:1234567890",
1129
+ "dateCreated": "2024-08-22T11:55:16.271Z",
1130
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1131
+ "index": 0,
1132
+ "entryObject": {
1133
+ "@context": "https://schema.org",
1134
+ "@type": "Event",
1135
+ "startDate": "2011-04-09T20:00:00Z",
1136
+ "description": "A description of the event"
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+ }
1142
+ },
1143
+ "headers": {
1144
+ "content-type": {
1145
+ "schema": {
1146
+ "type": "string"
1147
+ },
1148
+ "description": "e.g. application/ld+json"
1149
+ }
1150
+ }
1151
+ },
1152
+ "400": {
1153
+ "description": "The server cannot process the request, see the content for more details.",
1154
+ "content": {
1155
+ "application/json": {
1156
+ "schema": {
1157
+ "$ref": "#/components/schemas/Error"
1158
+ },
1159
+ "examples": {
1160
+ "exampleResponse": {
1161
+ "value": {
1162
+ "name": "GeneralError",
1163
+ "message": "component.error",
1164
+ "properties": {
1165
+ "foo": "bar"
1166
+ }
1167
+ }
1168
+ }
1169
+ }
1170
+ }
1171
+ }
1172
+ },
1173
+ "401": {
1174
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1175
+ "content": {
1176
+ "application/json": {
1177
+ "schema": {
1178
+ "$ref": "#/components/schemas/Error"
1179
+ },
1180
+ "examples": {
1181
+ "exampleResponse": {
1182
+ "value": {
1183
+ "name": "UnauthorizedError",
1184
+ "message": "component.error"
1185
+ }
1186
+ }
1187
+ }
1188
+ }
1189
+ }
1190
+ },
1191
+ "404": {
1192
+ "description": "The resource you tried to access does not exist, see the content for more details.",
1193
+ "content": {
1194
+ "application/json": {
1195
+ "schema": {
1196
+ "$ref": "#/components/schemas/NotFoundResponse"
1197
+ },
1198
+ "examples": {
1199
+ "exampleResponse": {
1200
+ "value": {
1201
+ "name": "NotFoundError",
1202
+ "message": "component.error",
1203
+ "properties": {
1204
+ "notFoundId": "1"
1205
+ }
1206
+ }
1207
+ }
1208
+ }
1209
+ }
1210
+ }
1211
+ },
1212
+ "500": {
1213
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1214
+ "content": {
1215
+ "application/json": {
1216
+ "schema": {
1217
+ "$ref": "#/components/schemas/Error"
1218
+ },
1219
+ "examples": {
1220
+ "exampleResponse": {
1221
+ "value": {
1222
+ "name": "InternalServerError",
1223
+ "message": "component.error"
1224
+ }
1225
+ }
1226
+ }
1227
+ }
1228
+ }
1229
+ }
1230
+ }
1231
+ },
1232
+ "delete": {
1233
+ "operationId": "auditableItemStreamDeleteEntry",
1234
+ "summary": "Delete an entry from the stream",
1235
+ "tags": [
1236
+ "Auditable Item Stream"
1237
+ ],
1238
+ "parameters": [
1239
+ {
1240
+ "name": "id",
1241
+ "description": "",
1242
+ "in": "path",
1243
+ "required": true,
1244
+ "schema": {
1245
+ "type": "string"
1246
+ },
1247
+ "style": "simple",
1248
+ "example": "ais:1234567890"
1249
+ },
1250
+ {
1251
+ "name": "entryId",
1252
+ "description": "",
1253
+ "in": "path",
1254
+ "required": true,
1255
+ "schema": {
1256
+ "type": "string"
1257
+ },
1258
+ "style": "simple",
1259
+ "example": "ais:1234567890:01010101010"
1260
+ }
1261
+ ],
1262
+ "security": [
1263
+ {
1264
+ "jwtBearerAuthScheme": []
1265
+ }
1266
+ ],
1267
+ "responses": {
1268
+ "204": {
1269
+ "description": "The rest request ended in success with no data."
1270
+ },
1271
+ "400": {
1272
+ "description": "The server cannot process the request, see the content for more details.",
1273
+ "content": {
1274
+ "application/json": {
1275
+ "schema": {
1276
+ "$ref": "#/components/schemas/Error"
1277
+ },
1278
+ "examples": {
1279
+ "exampleResponse": {
1280
+ "value": {
1281
+ "name": "GeneralError",
1282
+ "message": "component.error",
1283
+ "properties": {
1284
+ "foo": "bar"
1285
+ }
1286
+ }
1287
+ }
1288
+ }
1289
+ }
1290
+ }
1291
+ },
1292
+ "401": {
1293
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1294
+ "content": {
1295
+ "application/json": {
1296
+ "schema": {
1297
+ "$ref": "#/components/schemas/Error"
1298
+ },
1299
+ "examples": {
1300
+ "exampleResponse": {
1301
+ "value": {
1302
+ "name": "UnauthorizedError",
1303
+ "message": "component.error"
1304
+ }
1305
+ }
1306
+ }
1307
+ }
1308
+ }
1309
+ },
1310
+ "404": {
1311
+ "description": "The resource you tried to access does not exist, see the content for more details.",
1312
+ "content": {
1313
+ "application/json": {
1314
+ "schema": {
1315
+ "$ref": "#/components/schemas/NotFoundResponse"
1316
+ },
1317
+ "examples": {
1318
+ "exampleResponse": {
1319
+ "value": {
1320
+ "name": "NotFoundError",
1321
+ "message": "component.error",
1322
+ "properties": {
1323
+ "notFoundId": "1"
1324
+ }
1325
+ }
1326
+ }
1327
+ }
1328
+ }
1329
+ }
1330
+ },
1331
+ "500": {
1332
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1333
+ "content": {
1334
+ "application/json": {
1335
+ "schema": {
1336
+ "$ref": "#/components/schemas/Error"
1337
+ },
1338
+ "examples": {
1339
+ "exampleResponse": {
1340
+ "value": {
1341
+ "name": "InternalServerError",
1342
+ "message": "component.error"
1343
+ }
1344
+ }
1345
+ }
1346
+ }
1347
+ }
1348
+ }
1349
+ }
1350
+ },
1351
+ "put": {
1352
+ "operationId": "auditableItemStreamUpdateEntry",
1353
+ "summary": "Update a stream entry",
1354
+ "tags": [
1355
+ "Auditable Item Stream"
1356
+ ],
1357
+ "parameters": [
1358
+ {
1359
+ "name": "id",
1360
+ "description": "The id of the stream to update the entry in.",
1361
+ "in": "path",
1362
+ "required": true,
1363
+ "schema": {
1364
+ "type": "string"
1365
+ },
1366
+ "style": "simple",
1367
+ "example": "ais:1234567890"
1368
+ },
1369
+ {
1370
+ "name": "entryId",
1371
+ "description": "The id of the entry to update.",
1372
+ "in": "path",
1373
+ "required": true,
1374
+ "schema": {
1375
+ "type": "string"
1376
+ },
1377
+ "style": "simple",
1378
+ "example": "ais:1234567890:01010101010"
1379
+ }
1380
+ ],
1381
+ "security": [
1382
+ {
1383
+ "jwtBearerAuthScheme": []
1384
+ }
1385
+ ],
1386
+ "requestBody": {
1387
+ "description": "Update an entry in the auditable item stream.",
1388
+ "required": true,
1389
+ "content": {
1390
+ "application/json": {
1391
+ "schema": {
1392
+ "$ref": "#/components/schemas/AuditableItemStreamUpdateEntryRequest"
1393
+ },
1394
+ "examples": {
1395
+ "auditableItemStreamUpdateRequestExample": {
1396
+ "value": {
1397
+ "entryObject": {
1398
+ "@context": "https://schema.org",
1399
+ "@type": "Note",
1400
+ "content": "This is a simple note"
1401
+ }
1402
+ }
1403
+ }
1404
+ }
1405
+ }
1406
+ }
1407
+ },
1408
+ "responses": {
1409
+ "204": {
1410
+ "description": "The rest request ended in success with no data."
1411
+ },
1412
+ "400": {
1413
+ "description": "The server cannot process the request, see the content for more details.",
1414
+ "content": {
1415
+ "application/json": {
1416
+ "schema": {
1417
+ "$ref": "#/components/schemas/Error"
1418
+ },
1419
+ "examples": {
1420
+ "exampleResponse": {
1421
+ "value": {
1422
+ "name": "GeneralError",
1423
+ "message": "component.error",
1424
+ "properties": {
1425
+ "foo": "bar"
1426
+ }
1427
+ }
1428
+ }
1429
+ }
1430
+ }
1431
+ }
1432
+ },
1433
+ "401": {
1434
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1435
+ "content": {
1436
+ "application/json": {
1437
+ "schema": {
1438
+ "$ref": "#/components/schemas/Error"
1439
+ },
1440
+ "examples": {
1441
+ "exampleResponse": {
1442
+ "value": {
1443
+ "name": "UnauthorizedError",
1444
+ "message": "component.error"
1445
+ }
1446
+ }
1447
+ }
1448
+ }
1449
+ }
1450
+ },
1451
+ "404": {
1452
+ "description": "The resource you tried to access does not exist, see the content for more details.",
1453
+ "content": {
1454
+ "application/json": {
1455
+ "schema": {
1456
+ "$ref": "#/components/schemas/NotFoundResponse"
1457
+ },
1458
+ "examples": {
1459
+ "exampleResponse": {
1460
+ "value": {
1461
+ "name": "NotFoundError",
1462
+ "message": "component.error",
1463
+ "properties": {
1464
+ "notFoundId": "1"
1465
+ }
1466
+ }
1467
+ }
1468
+ }
1469
+ }
1470
+ }
1471
+ },
1472
+ "500": {
1473
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1474
+ "content": {
1475
+ "application/json": {
1476
+ "schema": {
1477
+ "$ref": "#/components/schemas/Error"
1478
+ },
1479
+ "examples": {
1480
+ "exampleResponse": {
1481
+ "value": {
1482
+ "name": "InternalServerError",
1483
+ "message": "component.error"
1484
+ }
1485
+ }
1486
+ }
1487
+ }
1488
+ }
1489
+ }
1490
+ }
1491
+ }
1492
+ },
1493
+ "/auditable-item-stream/{id}/{entryId}/object": {
1494
+ "get": {
1495
+ "operationId": "auditableItemStreamGetEntryObject",
1496
+ "summary": "Get a stream entry",
1497
+ "tags": [
1498
+ "Auditable Item Stream"
1499
+ ],
1500
+ "parameters": [
1501
+ {
1502
+ "name": "id",
1503
+ "description": "",
1504
+ "in": "path",
1505
+ "required": true,
1506
+ "schema": {
1507
+ "type": "string"
1508
+ },
1509
+ "style": "simple",
1510
+ "example": "ais:1234567890"
1511
+ },
1512
+ {
1513
+ "name": "entryId",
1514
+ "description": "",
1515
+ "in": "path",
1516
+ "required": true,
1517
+ "schema": {
1518
+ "type": "string"
1519
+ },
1520
+ "style": "simple",
1521
+ "example": "ais:1234567890:01010101010"
1522
+ }
1523
+ ],
1524
+ "security": [
1525
+ {
1526
+ "jwtBearerAuthScheme": []
1527
+ }
1528
+ ],
1529
+ "responses": {
1530
+ "200": {
1531
+ "description": "Response to getting an auditable item stream entry object.",
1532
+ "content": {
1533
+ "application/json": {
1534
+ "schema": {
1535
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1536
+ },
1537
+ "examples": {
1538
+ "auditableItemStreamGetEntryObjectResponseExample": {
1539
+ "value": {
1540
+ "@context": "https://schema.org",
1541
+ "@type": "Event",
1542
+ "startDate": "2011-04-09T20:00:00Z",
1543
+ "description": "A description of the event"
1544
+ }
1545
+ }
1546
+ }
1547
+ }
1548
+ }
1549
+ },
1550
+ "400": {
1551
+ "description": "The server cannot process the request, see the content for more details.",
1552
+ "content": {
1553
+ "application/json": {
1554
+ "schema": {
1555
+ "$ref": "#/components/schemas/Error"
1556
+ },
1557
+ "examples": {
1558
+ "exampleResponse": {
1559
+ "value": {
1560
+ "name": "GeneralError",
1561
+ "message": "component.error",
1562
+ "properties": {
1563
+ "foo": "bar"
1564
+ }
1565
+ }
1566
+ }
1567
+ }
1568
+ }
1569
+ }
1570
+ },
1571
+ "401": {
1572
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1573
+ "content": {
1574
+ "application/json": {
1575
+ "schema": {
1576
+ "$ref": "#/components/schemas/Error"
1577
+ },
1578
+ "examples": {
1579
+ "exampleResponse": {
1580
+ "value": {
1581
+ "name": "UnauthorizedError",
1582
+ "message": "component.error"
1583
+ }
1584
+ }
1585
+ }
1586
+ }
1587
+ }
1588
+ },
1589
+ "404": {
1590
+ "description": "The resource you tried to access does not exist, see the content for more details.",
1591
+ "content": {
1592
+ "application/json": {
1593
+ "schema": {
1594
+ "$ref": "#/components/schemas/NotFoundResponse"
1595
+ },
1596
+ "examples": {
1597
+ "exampleResponse": {
1598
+ "value": {
1599
+ "name": "NotFoundError",
1600
+ "message": "component.error",
1601
+ "properties": {
1602
+ "notFoundId": "1"
1603
+ }
1604
+ }
1605
+ }
1606
+ }
1607
+ }
1608
+ }
1609
+ },
1610
+ "500": {
1611
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1612
+ "content": {
1613
+ "application/json": {
1614
+ "schema": {
1615
+ "$ref": "#/components/schemas/Error"
1616
+ },
1617
+ "examples": {
1618
+ "exampleResponse": {
1619
+ "value": {
1620
+ "name": "InternalServerError",
1621
+ "message": "component.error"
1622
+ }
1623
+ }
1624
+ }
1625
+ }
1626
+ }
1627
+ }
1628
+ }
1629
+ }
1630
+ },
1631
+ "/auditable-item-stream/{id}/entries": {
1632
+ "get": {
1633
+ "operationId": "auditableItemStreamListEntries",
1634
+ "summary": "Get the entry objects in a stream",
1635
+ "tags": [
1636
+ "Auditable Item Stream"
1637
+ ],
1638
+ "parameters": [
1639
+ {
1640
+ "name": "id",
1641
+ "description": "The id of the stream to get.",
1642
+ "in": "path",
1643
+ "required": true,
1644
+ "schema": {
1645
+ "type": "string"
1646
+ },
1647
+ "style": "simple",
1648
+ "example": "ais:1234567890"
1649
+ },
1650
+ {
1651
+ "name": "conditions",
1652
+ "description": "The conditions to filter the stream, JSON stringified IComparator[].",
1653
+ "in": "query",
1654
+ "required": false,
1655
+ "schema": {
1656
+ "type": "string"
1657
+ }
1658
+ },
1659
+ {
1660
+ "name": "includeDeleted",
1661
+ "description": "Whether to include deleted entries, defaults to false.",
1662
+ "in": "query",
1663
+ "required": false,
1664
+ "schema": {
1665
+ "type": [
1666
+ "boolean",
1667
+ "string"
1668
+ ]
1669
+ }
1670
+ },
1671
+ {
1672
+ "name": "verifyEntries",
1673
+ "description": "Should the entries be verified, defaults to false.",
1674
+ "in": "query",
1675
+ "required": false,
1676
+ "schema": {
1677
+ "type": [
1678
+ "boolean",
1679
+ "string"
1680
+ ]
1681
+ }
1682
+ },
1683
+ {
1684
+ "name": "order",
1685
+ "description": "Retrieve the entries in ascending/descending time order, defaults to Ascending.",
1686
+ "in": "query",
1687
+ "required": false,
1688
+ "schema": {
1689
+ "$ref": "#/components/schemas/SortDirection"
1690
+ }
1691
+ },
1692
+ {
1693
+ "name": "pageSize",
1694
+ "description": "How many entries to return.",
1695
+ "in": "query",
1696
+ "required": false,
1697
+ "schema": {
1698
+ "type": [
1699
+ "boolean",
1700
+ "string"
1701
+ ]
1702
+ }
1703
+ },
1704
+ {
1705
+ "name": "cursor",
1706
+ "description": "Cursor to use for next chunk of data.",
1707
+ "in": "query",
1708
+ "required": false,
1709
+ "schema": {
1710
+ "type": "string"
1711
+ }
1712
+ },
1713
+ {
1714
+ "name": "accept",
1715
+ "in": "header",
1716
+ "required": true,
1717
+ "schema": {
1718
+ "type": "string"
1719
+ },
1720
+ "style": "simple"
1721
+ }
1722
+ ],
1723
+ "security": [
1724
+ {
1725
+ "jwtBearerAuthScheme": []
1726
+ }
1727
+ ],
1728
+ "responses": {
1729
+ "200": {
1730
+ "description": "Response to getting an auditable item stream entries.",
1731
+ "content": {
1732
+ "application/json": {
1733
+ "schema": {
1734
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryList"
1735
+ },
1736
+ "examples": {
1737
+ "auditableItemStreamListEntriesResponseExample": {
1738
+ "value": {
1739
+ "@context": [
1740
+ "https://schema.org",
1741
+ "https://schema.twindev.org/ais/",
1742
+ "https://schema.twindev.org/common/"
1743
+ ],
1744
+ "type": [
1745
+ "ItemList",
1746
+ "AuditableItemStreamEntryList"
1747
+ ],
1748
+ "itemListElement": [
1749
+ {
1750
+ "@context": [
1751
+ "https://schema.twindev.org/ais/",
1752
+ "https://schema.twindev.org/common/"
1753
+ ],
1754
+ "type": "AuditableItemStreamEntry",
1755
+ "id": "tst:1234567890",
1756
+ "dateCreated": "2024-08-22T11:55:16.271Z",
1757
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1758
+ "index": 0,
1759
+ "entryObject": {
1760
+ "@context": "https://schema.org",
1761
+ "@type": "Event",
1762
+ "startDate": "2011-04-09T20:00:00Z",
1763
+ "description": "A description of the event"
1764
+ }
1765
+ }
1766
+ ],
1767
+ "nextItem": "1"
1768
+ }
1769
+ }
1770
+ }
1771
+ },
1772
+ "application/ld+json": {
1773
+ "schema": {
1774
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryList"
1775
+ },
1776
+ "examples": {
1777
+ "auditableItemStreamJsonLdListEntriesResponseExample": {
1778
+ "value": {
1779
+ "@context": [
1780
+ "https://schema.org",
1781
+ "https://schema.twindev.org/ais/",
1782
+ "https://schema.twindev.org/common/"
1783
+ ],
1784
+ "type": [
1785
+ "ItemList",
1786
+ "AuditableItemStreamEntryList"
1787
+ ],
1788
+ "itemListElement": [
1789
+ {
1790
+ "@context": [
1791
+ "https://schema.twindev.org/ais/",
1792
+ "https://schema.twindev.org/common/"
1793
+ ],
1794
+ "type": "AuditableItemStreamEntry",
1795
+ "id": "tst:1234567890",
1796
+ "dateCreated": "2024-08-22T11:55:16.271Z",
1797
+ "proofId": "0101010101010101010101010101010101010101010101010101010101010101",
1798
+ "index": 0,
1799
+ "entryObject": {
1800
+ "@context": "https://schema.org",
1801
+ "@type": "Event",
1802
+ "startDate": "2011-04-09T20:00:00Z",
1803
+ "description": "A description of the event"
1804
+ }
1805
+ }
1806
+ ],
1807
+ "nextItem": "1"
1808
+ }
1809
+ }
1810
+ }
1811
+ }
1812
+ },
1813
+ "headers": {
1814
+ "content-type": {
1815
+ "schema": {
1816
+ "type": "string"
1817
+ },
1818
+ "description": "e.g. application/ld+json"
1819
+ }
1820
+ }
1821
+ },
1822
+ "400": {
1823
+ "description": "The server cannot process the request, see the content for more details.",
1824
+ "content": {
1825
+ "application/json": {
1826
+ "schema": {
1827
+ "$ref": "#/components/schemas/Error"
1828
+ },
1829
+ "examples": {
1830
+ "exampleResponse": {
1831
+ "value": {
1832
+ "name": "GeneralError",
1833
+ "message": "component.error",
1834
+ "properties": {
1835
+ "foo": "bar"
1836
+ }
1837
+ }
1838
+ }
1839
+ }
1840
+ }
1841
+ }
1842
+ },
1843
+ "401": {
1844
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
1845
+ "content": {
1846
+ "application/json": {
1847
+ "schema": {
1848
+ "$ref": "#/components/schemas/Error"
1849
+ },
1850
+ "examples": {
1851
+ "exampleResponse": {
1852
+ "value": {
1853
+ "name": "UnauthorizedError",
1854
+ "message": "component.error"
1855
+ }
1856
+ }
1857
+ }
1858
+ }
1859
+ }
1860
+ },
1861
+ "404": {
1862
+ "description": "The resource you tried to access does not exist, see the content for more details.",
1863
+ "content": {
1864
+ "application/json": {
1865
+ "schema": {
1866
+ "$ref": "#/components/schemas/NotFoundResponse"
1867
+ },
1868
+ "examples": {
1869
+ "exampleResponse": {
1870
+ "value": {
1871
+ "name": "NotFoundError",
1872
+ "message": "component.error",
1873
+ "properties": {
1874
+ "notFoundId": "1"
1875
+ }
1876
+ }
1877
+ }
1878
+ }
1879
+ }
1880
+ }
1881
+ },
1882
+ "500": {
1883
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
1884
+ "content": {
1885
+ "application/json": {
1886
+ "schema": {
1887
+ "$ref": "#/components/schemas/Error"
1888
+ },
1889
+ "examples": {
1890
+ "exampleResponse": {
1891
+ "value": {
1892
+ "name": "InternalServerError",
1893
+ "message": "component.error"
1894
+ }
1895
+ }
1896
+ }
1897
+ }
1898
+ }
1899
+ }
1900
+ }
1901
+ }
1902
+ },
1903
+ "/auditable-item-stream/{id}/entries/objects": {
1904
+ "get": {
1905
+ "operationId": "auditableItemStreamListEntryObjects",
1906
+ "summary": "Get the entry objects in a stream",
1907
+ "tags": [
1908
+ "Auditable Item Stream"
1909
+ ],
1910
+ "parameters": [
1911
+ {
1912
+ "name": "id",
1913
+ "description": "The id of the stream to get.",
1914
+ "in": "path",
1915
+ "required": true,
1916
+ "schema": {
1917
+ "type": "string"
1918
+ },
1919
+ "style": "simple",
1920
+ "example": "ais:1234567890"
1921
+ },
1922
+ {
1923
+ "name": "conditions",
1924
+ "description": "The conditions to filter the stream, JSON stringified IComparator[].",
1925
+ "in": "query",
1926
+ "required": false,
1927
+ "schema": {
1928
+ "type": "string"
1929
+ }
1930
+ },
1931
+ {
1932
+ "name": "includeDeleted",
1933
+ "description": "Whether to include deleted entries, defaults to false.",
1934
+ "in": "query",
1935
+ "required": false,
1936
+ "schema": {
1937
+ "type": [
1938
+ "boolean",
1939
+ "string"
1940
+ ]
1941
+ }
1942
+ },
1943
+ {
1944
+ "name": "order",
1945
+ "description": "Retrieve the entries in ascending/descending time order, defaults to Ascending.",
1946
+ "in": "query",
1947
+ "required": false,
1948
+ "schema": {
1949
+ "$ref": "#/components/schemas/SortDirection"
1950
+ }
1951
+ },
1952
+ {
1953
+ "name": "pageSize",
1954
+ "description": "How many entries to return.",
1955
+ "in": "query",
1956
+ "required": false,
1957
+ "schema": {
1958
+ "type": [
1959
+ "number",
1960
+ "string"
1961
+ ]
1962
+ }
1963
+ },
1964
+ {
1965
+ "name": "cursor",
1966
+ "description": "Cursor to use for next chunk of data.",
1967
+ "in": "query",
1968
+ "required": false,
1969
+ "schema": {
1970
+ "type": "string"
1971
+ }
1972
+ },
1973
+ {
1974
+ "name": "accept",
1975
+ "in": "header",
1976
+ "required": true,
1977
+ "schema": {
1978
+ "type": "string"
1979
+ },
1980
+ "style": "simple"
1981
+ }
1982
+ ],
1983
+ "security": [
1984
+ {
1985
+ "jwtBearerAuthScheme": []
1986
+ }
1987
+ ],
1988
+ "responses": {
1989
+ "200": {
1990
+ "description": "Response to getting an auditable item stream entries objects.",
1991
+ "content": {
1992
+ "application/json": {
1993
+ "schema": {
1994
+ "$ref": "https://schema.twindev.org/ais/AuditableItemStreamEntryObjectList"
1995
+ },
1996
+ "examples": {
1997
+ "auditableItemStreamListEntryObjectsResponseExample": {
1998
+ "value": {
1999
+ "@context": [
2000
+ "https://schema.org",
2001
+ "https://schema.twindev.org/ais/",
2002
+ "https://schema.twindev.org/common/"
2003
+ ],
2004
+ "type": [
2005
+ "ItemList",
2006
+ "AuditableItemStreamEntryObjectList"
2007
+ ],
2008
+ "itemListElement": [
2009
+ {
2010
+ "@context": "https://schema.org",
2011
+ "@type": "Event",
2012
+ "startDate": "2011-04-09T20:00:00Z",
2013
+ "description": "A description of the event"
2014
+ }
2015
+ ],
2016
+ "nextItem": "1"
2017
+ }
2018
+ }
2019
+ }
2020
+ }
2021
+ }
2022
+ },
2023
+ "400": {
2024
+ "description": "The server cannot process the request, see the content for more details.",
2025
+ "content": {
2026
+ "application/json": {
2027
+ "schema": {
2028
+ "$ref": "#/components/schemas/Error"
2029
+ },
2030
+ "examples": {
2031
+ "exampleResponse": {
2032
+ "value": {
2033
+ "name": "GeneralError",
2034
+ "message": "component.error",
2035
+ "properties": {
2036
+ "foo": "bar"
2037
+ }
2038
+ }
2039
+ }
2040
+ }
2041
+ }
2042
+ }
2043
+ },
2044
+ "401": {
2045
+ "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
2046
+ "content": {
2047
+ "application/json": {
2048
+ "schema": {
2049
+ "$ref": "#/components/schemas/Error"
2050
+ },
2051
+ "examples": {
2052
+ "exampleResponse": {
2053
+ "value": {
2054
+ "name": "UnauthorizedError",
2055
+ "message": "component.error"
2056
+ }
2057
+ }
2058
+ }
2059
+ }
2060
+ }
2061
+ },
2062
+ "404": {
2063
+ "description": "The resource you tried to access does not exist, see the content for more details.",
2064
+ "content": {
2065
+ "application/json": {
2066
+ "schema": {
2067
+ "$ref": "#/components/schemas/NotFoundResponse"
2068
+ },
2069
+ "examples": {
2070
+ "exampleResponse": {
2071
+ "value": {
2072
+ "name": "NotFoundError",
2073
+ "message": "component.error",
2074
+ "properties": {
2075
+ "notFoundId": "1"
2076
+ }
2077
+ }
2078
+ }
2079
+ }
2080
+ }
2081
+ }
2082
+ },
2083
+ "500": {
2084
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
2085
+ "content": {
2086
+ "application/json": {
2087
+ "schema": {
2088
+ "$ref": "#/components/schemas/Error"
2089
+ },
2090
+ "examples": {
2091
+ "exampleResponse": {
2092
+ "value": {
2093
+ "name": "InternalServerError",
2094
+ "message": "component.error"
2095
+ }
2096
+ }
2097
+ }
2098
+ }
2099
+ }
2100
+ }
2101
+ }
2102
+ }
2103
+ }
2104
+ },
2105
+ "components": {
2106
+ "schemas": {
2107
+ "AuditableItemStreamCreateEntryRequest": {
2108
+ "type": "object",
2109
+ "properties": {
2110
+ "entryObject": {
2111
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
2112
+ }
2113
+ },
2114
+ "required": [
2115
+ "entryObject"
2116
+ ],
2117
+ "additionalProperties": false,
2118
+ "description": "The data to be used in the stream."
2119
+ },
2120
+ "AuditableItemStreamCreateRequest": {
2121
+ "type": "object",
2122
+ "properties": {
2123
+ "annotationObject": {
2124
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
2125
+ },
2126
+ "entries": {
2127
+ "type": "array",
2128
+ "description": "The entries for the stream.",
2129
+ "prefixItems": [
2130
+ {
2131
+ "type": "object",
2132
+ "properties": {
2133
+ "entryObject": {
2134
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
2135
+ }
2136
+ },
2137
+ "required": [
2138
+ "entryObject"
2139
+ ],
2140
+ "additionalProperties": false
2141
+ }
2142
+ ]
2143
+ },
2144
+ "immutableInterval": {
2145
+ "type": "number",
2146
+ "description": "After how many entries do we add immutable checks, defaults to service configured value. A value of 0 will disable immutable checks, 1 will be every item, or any other integer for an interval."
2147
+ }
2148
+ },
2149
+ "additionalProperties": false,
2150
+ "description": "The data to be used in the stream."
2151
+ },
2152
+ "AuditableItemStreamUpdateEntryRequest": {
2153
+ "type": "object",
2154
+ "properties": {
2155
+ "entryObject": {
2156
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
2157
+ }
2158
+ },
2159
+ "required": [
2160
+ "entryObject"
2161
+ ],
2162
+ "additionalProperties": false,
2163
+ "description": "The data to be used in the entry."
2164
+ },
2165
+ "AuditableItemStreamUpdateRequest": {
2166
+ "type": "object",
2167
+ "properties": {
2168
+ "annotationObject": {
2169
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
2170
+ }
2171
+ },
2172
+ "additionalProperties": false,
2173
+ "description": "The data to be used in the stream."
2174
+ },
2175
+ "Error": {
2176
+ "type": "object",
2177
+ "properties": {
2178
+ "name": {
2179
+ "type": "string",
2180
+ "description": "The name for the error."
2181
+ },
2182
+ "message": {
2183
+ "type": "string",
2184
+ "description": "The message for the error."
2185
+ },
2186
+ "source": {
2187
+ "type": "string",
2188
+ "description": "The source of the error."
2189
+ },
2190
+ "properties": {
2191
+ "type": "object",
2192
+ "additionalProperties": {},
2193
+ "description": "Any additional information for the error."
2194
+ },
2195
+ "stack": {
2196
+ "type": "string",
2197
+ "description": "The stack trace for the error."
2198
+ },
2199
+ "inner": {
2200
+ "$ref": "#/components/schemas/Error"
2201
+ }
2202
+ },
2203
+ "required": [
2204
+ "name",
2205
+ "message"
2206
+ ],
2207
+ "additionalProperties": false,
2208
+ "description": "Model to describe serialized error."
2209
+ },
2210
+ "NotFoundResponse": {
2211
+ "type": "object",
2212
+ "additionalProperties": false,
2213
+ "properties": {
2214
+ "notFoundId": {
2215
+ "type": "string",
2216
+ "description": "The id if the item that was not found."
2217
+ },
2218
+ "name": {
2219
+ "type": "string",
2220
+ "description": "The name for the error."
2221
+ },
2222
+ "message": {
2223
+ "type": "string",
2224
+ "description": "The message for the error."
2225
+ },
2226
+ "source": {
2227
+ "type": "string",
2228
+ "description": "The source of the error."
2229
+ },
2230
+ "properties": {
2231
+ "type": "object",
2232
+ "additionalProperties": {},
2233
+ "description": "Any additional information for the error."
2234
+ },
2235
+ "stack": {
2236
+ "type": "string",
2237
+ "description": "The stack trace for the error."
2238
+ },
2239
+ "inner": {
2240
+ "$ref": "#/components/schemas/Error"
2241
+ }
2242
+ },
2243
+ "required": [
2244
+ "message",
2245
+ "name"
2246
+ ],
2247
+ "description": "The body which contains the error."
2248
+ },
2249
+ "SortDirection": {
2250
+ "anyOf": [
2251
+ {
2252
+ "type": "string",
2253
+ "const": "asc",
2254
+ "description": "Ascending."
2255
+ },
2256
+ {
2257
+ "type": "string",
2258
+ "const": "desc",
2259
+ "description": "Descending."
2260
+ }
2261
+ ],
2262
+ "description": "The sort directions."
2263
+ }
2264
+ },
2265
+ "securitySchemes": {
2266
+ "jwtBearerAuthScheme": {
2267
+ "type": "http",
2268
+ "scheme": "bearer",
2269
+ "bearerFormat": "JWT"
2270
+ }
2271
+ }
2272
+ }
2273
+ }