@snokam/mcp-api 0.58.0 → 0.60.0

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.
@@ -0,0 +1,2500 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Events API",
5
+ "description": "Events and notifications service",
6
+ "version": "v1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://events.api.test.snokam.no"
11
+ }
12
+ ],
13
+ "paths": {
14
+ "/v1.0/public": {
15
+ "get": {
16
+ "tags": [
17
+ "Events"
18
+ ],
19
+ "summary": "Gets events",
20
+ "description": "Retrieves events within a date range.",
21
+ "operationId": "PublicEvents",
22
+ "parameters": [
23
+ {
24
+ "name": "from",
25
+ "in": "query",
26
+ "description": "The start date for the events",
27
+ "schema": {
28
+ "type": "string",
29
+ "format": "date-time"
30
+ },
31
+ "x-ms-summary": "Start date"
32
+ },
33
+ {
34
+ "name": "to",
35
+ "in": "query",
36
+ "description": "The end date for the events",
37
+ "schema": {
38
+ "type": "string",
39
+ "format": "date-time"
40
+ },
41
+ "x-ms-summary": "End date"
42
+ },
43
+ {
44
+ "name": "token",
45
+ "in": "query",
46
+ "description": "Bypass token",
47
+ "schema": {
48
+ "type": "string"
49
+ },
50
+ "x-ms-summary": "Token"
51
+ }
52
+ ],
53
+ "responses": {
54
+ "200": {
55
+ "description": "Events retrieved successfully",
56
+ "content": {
57
+ "application/json": {
58
+ "schema": {
59
+ "type": "array",
60
+ "items": {
61
+ "$ref": "#/components/schemas/event"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "x-ms-summary": "Success"
67
+ },
68
+ "400": {
69
+ "description": "Invalid query parameters",
70
+ "content": {
71
+ "application/json": {
72
+ "schema": {
73
+ "$ref": "#/components/schemas/badRequestResult"
74
+ }
75
+ }
76
+ },
77
+ "x-ms-summary": "Bad Request"
78
+ }
79
+ }
80
+ }
81
+ },
82
+ "/v1.0/public/{eventIdOrSlug}": {
83
+ "get": {
84
+ "tags": [
85
+ "Events"
86
+ ],
87
+ "summary": "Gets an event by slug or id",
88
+ "description": "Retrieves an event by its slug or id.",
89
+ "operationId": "PublicEvent",
90
+ "parameters": [
91
+ {
92
+ "name": "eventIdOrSlug",
93
+ "in": "path",
94
+ "description": "The slug or id of the event to retrieve",
95
+ "required": true,
96
+ "schema": {
97
+ "type": "string"
98
+ },
99
+ "x-ms-summary": "The slug or id of the event"
100
+ }
101
+ ],
102
+ "responses": {
103
+ "200": {
104
+ "description": "Event retrieved successfully",
105
+ "content": {
106
+ "application/json": {
107
+ "schema": {
108
+ "$ref": "#/components/schemas/event"
109
+ }
110
+ }
111
+ },
112
+ "x-ms-summary": "Success"
113
+ },
114
+ "401": {
115
+ "description": "User is not authorized",
116
+ "x-ms-summary": "Unauthorized"
117
+ },
118
+ "404": {
119
+ "description": "Event not found",
120
+ "x-ms-summary": "Not Found"
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "/v1.0/public/random-event": {
126
+ "get": {
127
+ "tags": [
128
+ "Events"
129
+ ],
130
+ "summary": "Gets random event",
131
+ "description": "Retrieves random event",
132
+ "operationId": "GetPublicRandomEvent",
133
+ "responses": {
134
+ "200": {
135
+ "description": "Event retrieved successfully",
136
+ "content": {
137
+ "application/json": {
138
+ "schema": {
139
+ "$ref": "#/components/schemas/event"
140
+ }
141
+ }
142
+ },
143
+ "x-ms-summary": "Success"
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "/v1.0/public/ongoing-event": {
149
+ "get": {
150
+ "tags": [
151
+ "Events"
152
+ ],
153
+ "summary": "Gets ongoing event",
154
+ "description": "Retrieves ongoing event",
155
+ "operationId": "GetPublicOngoingEvent",
156
+ "responses": {
157
+ "200": {
158
+ "description": "Event retrieved successfully",
159
+ "content": {
160
+ "application/json": {
161
+ "schema": {
162
+ "$ref": "#/components/schemas/event"
163
+ }
164
+ }
165
+ },
166
+ "x-ms-summary": "Success"
167
+ },
168
+ "204": {
169
+ "description": "No ongoing events",
170
+ "x-ms-summary": "Not content"
171
+ }
172
+ }
173
+ }
174
+ },
175
+ "/v1.0/public/ongoing-events": {
176
+ "get": {
177
+ "tags": [
178
+ "Events"
179
+ ],
180
+ "summary": "Gets ongoing events",
181
+ "description": "Retrieves ongoing events",
182
+ "operationId": "GetPublicOngoingEvents",
183
+ "responses": {
184
+ "200": {
185
+ "description": "Event retrieved successfully",
186
+ "content": {
187
+ "application/json": {
188
+ "schema": {
189
+ "type": "array",
190
+ "items": {
191
+ "$ref": "#/components/schemas/event"
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "x-ms-summary": "Success"
197
+ },
198
+ "204": {
199
+ "description": "No ongoing events",
200
+ "x-ms-summary": "Not content"
201
+ }
202
+ }
203
+ }
204
+ },
205
+ "/v1.0/public/{eventId}/add-guest-feedback": {
206
+ "post": {
207
+ "tags": [
208
+ "Events"
209
+ ],
210
+ "summary": "Add guest feedback",
211
+ "description": "Adds guest event feedback",
212
+ "operationId": "AddGuestFeedback",
213
+ "parameters": [
214
+ {
215
+ "name": "eventId",
216
+ "in": "path",
217
+ "description": "The ID of the event to patch",
218
+ "required": true,
219
+ "schema": {
220
+ "type": "string"
221
+ },
222
+ "x-ms-summary": "The ID of the event"
223
+ }
224
+ ],
225
+ "requestBody": {
226
+ "description": "Event data to patch",
227
+ "content": {
228
+ "application/json": {
229
+ "schema": {
230
+ "$ref": "#/components/schemas/addGuestGeedback"
231
+ }
232
+ }
233
+ },
234
+ "required": true
235
+ },
236
+ "responses": {
237
+ "200": {
238
+ "description": "Event feedback sent successfully",
239
+ "x-ms-summary": "Success"
240
+ }
241
+ }
242
+ }
243
+ },
244
+ "/v1.0/public/get-guest-events-pending-feedback": {
245
+ "get": {
246
+ "tags": [
247
+ "Events"
248
+ ],
249
+ "summary": "Gets guest events pending feedback",
250
+ "description": "Gets guest events pending feedback",
251
+ "operationId": "GetGuestEventsPendingFeedback",
252
+ "parameters": [
253
+ {
254
+ "name": "token",
255
+ "in": "query",
256
+ "description": "Participation token",
257
+ "schema": {
258
+ "type": "string"
259
+ },
260
+ "x-ms-summary": "Token"
261
+ }
262
+ ],
263
+ "responses": {
264
+ "200": {
265
+ "description": "Event feedback sent successfully",
266
+ "content": {
267
+ "application/json": {
268
+ "schema": {
269
+ "type": "array",
270
+ "items": {
271
+ "$ref": "#/components/schemas/event"
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "x-ms-summary": "Success"
277
+ }
278
+ },
279
+ "security": [
280
+ {
281
+ "Implicit": [
282
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
283
+ ]
284
+ }
285
+ ]
286
+ }
287
+ },
288
+ "/v1.0/public/instagram/feed": {
289
+ "get": {
290
+ "tags": [
291
+ "Instagram"
292
+ ],
293
+ "summary": "Gets Instagram feed",
294
+ "description": "Retrieves the public Instagram feed (media posts). Cached for 1 hour.",
295
+ "operationId": "GetPublicInstagramFeed",
296
+ "responses": {
297
+ "200": {
298
+ "description": "Instagram feed retrieved successfully",
299
+ "content": {
300
+ "application/json": {
301
+ "schema": {
302
+ "$ref": "#/components/schemas/instagramFeedResponse"
303
+ }
304
+ }
305
+ },
306
+ "x-ms-summary": "Success"
307
+ }
308
+ }
309
+ }
310
+ },
311
+ "/v1.0/public/{eventId}/memories": {
312
+ "post": {
313
+ "tags": [
314
+ "Events"
315
+ ],
316
+ "summary": "Upload my memories to an event",
317
+ "description": "Upload my memories to an event",
318
+ "operationId": "UploadGuestMemories",
319
+ "parameters": [
320
+ {
321
+ "name": "eventId",
322
+ "in": "path",
323
+ "description": "The id of the event to upload memories to",
324
+ "required": true,
325
+ "schema": {
326
+ "type": "string"
327
+ },
328
+ "x-ms-summary": "The id of the event"
329
+ }
330
+ ],
331
+ "requestBody": {
332
+ "description": "Event data to patch",
333
+ "content": {
334
+ "application/json": {
335
+ "schema": {
336
+ "type": "array",
337
+ "items": {
338
+ "$ref": "#/components/schemas/sanityCreateMemory"
339
+ }
340
+ }
341
+ }
342
+ },
343
+ "required": true
344
+ },
345
+ "responses": {
346
+ "200": {
347
+ "description": "Memories uploaded sent successfully",
348
+ "x-ms-summary": "Success"
349
+ }
350
+ },
351
+ "security": [
352
+ {
353
+ "Implicit": [
354
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
355
+ ]
356
+ }
357
+ ]
358
+ }
359
+ },
360
+ "/v1.0/public/blob-storage": {
361
+ "get": {
362
+ "tags": [
363
+ "Tokens"
364
+ ],
365
+ "summary": "Gets blob storage and creates sas token",
366
+ "description": "Generates a sas token for use to upload image and video memories to azure blob storage",
367
+ "operationId": "GetBlobStorage",
368
+ "responses": {
369
+ "200": {
370
+ "description": "Generated token",
371
+ "content": {
372
+ "application/json": {
373
+ "schema": {
374
+ "$ref": "#/components/schemas/azureBlobStorageCredentials"
375
+ }
376
+ }
377
+ },
378
+ "x-ms-summary": "Success"
379
+ },
380
+ "401": {
381
+ "description": "User is not authorized",
382
+ "x-ms-summary": "Unauthorized"
383
+ }
384
+ }
385
+ }
386
+ },
387
+ "/v1.0/public/{eventId}/participate": {
388
+ "post": {
389
+ "tags": [
390
+ "Events"
391
+ ],
392
+ "summary": "Participates in an event",
393
+ "description": "Registers participation in an event.",
394
+ "operationId": "Participate",
395
+ "parameters": [
396
+ {
397
+ "name": "eventId",
398
+ "in": "path",
399
+ "description": "The ID of the event to patch",
400
+ "required": true,
401
+ "schema": {
402
+ "type": "string"
403
+ },
404
+ "x-ms-summary": "The ID of the event"
405
+ }
406
+ ],
407
+ "requestBody": {
408
+ "description": "Participation data",
409
+ "content": {
410
+ "application/json": {
411
+ "schema": {
412
+ "$ref": "#/components/schemas/participate"
413
+ }
414
+ }
415
+ },
416
+ "required": true
417
+ },
418
+ "responses": {
419
+ "200": {
420
+ "description": "Participation registered successfully",
421
+ "content": {
422
+ "application/json": {
423
+ "schema": {
424
+ "$ref": "#/components/schemas/participant"
425
+ }
426
+ }
427
+ },
428
+ "x-ms-summary": "Success"
429
+ },
430
+ "401": {
431
+ "description": "User is not authorized",
432
+ "x-ms-summary": "Unauthorized"
433
+ }
434
+ }
435
+ },
436
+ "delete": {
437
+ "tags": [
438
+ "Events"
439
+ ],
440
+ "summary": "Removes participation",
441
+ "description": "Removes participation from an event.",
442
+ "operationId": "RemoveParticipation",
443
+ "parameters": [
444
+ {
445
+ "name": "eventId",
446
+ "in": "path",
447
+ "description": "The ID of the event to patch",
448
+ "required": true,
449
+ "schema": {
450
+ "type": "string"
451
+ },
452
+ "x-ms-summary": "The ID of the event"
453
+ }
454
+ ],
455
+ "requestBody": {
456
+ "description": "Data to remove participation",
457
+ "content": {
458
+ "application/json": {
459
+ "schema": {
460
+ "$ref": "#/components/schemas/removeParticipation"
461
+ }
462
+ }
463
+ },
464
+ "required": true
465
+ },
466
+ "responses": {
467
+ "200": {
468
+ "description": "Participation removed successfully",
469
+ "x-ms-summary": "Success"
470
+ },
471
+ "401": {
472
+ "description": "User is not authorized",
473
+ "x-ms-summary": "Unauthorized"
474
+ }
475
+ }
476
+ }
477
+ },
478
+ "/v1.0/protected": {
479
+ "get": {
480
+ "tags": [
481
+ "Events"
482
+ ],
483
+ "summary": "Gets events",
484
+ "description": "Retrieves events within a date range.",
485
+ "operationId": "ProtectedEvents",
486
+ "parameters": [
487
+ {
488
+ "name": "from",
489
+ "in": "query",
490
+ "description": "The start date for the events",
491
+ "schema": {
492
+ "type": "string",
493
+ "format": "date-time"
494
+ },
495
+ "x-ms-summary": "Start date"
496
+ },
497
+ {
498
+ "name": "to",
499
+ "in": "query",
500
+ "description": "The end date for the events",
501
+ "schema": {
502
+ "type": "string",
503
+ "format": "date-time"
504
+ },
505
+ "x-ms-summary": "End date"
506
+ }
507
+ ],
508
+ "responses": {
509
+ "200": {
510
+ "description": "Events retrieved successfully",
511
+ "content": {
512
+ "application/json": {
513
+ "schema": {
514
+ "type": "array",
515
+ "items": {
516
+ "$ref": "#/components/schemas/event"
517
+ }
518
+ }
519
+ }
520
+ },
521
+ "x-ms-summary": "Success"
522
+ },
523
+ "400": {
524
+ "description": "Invalid query parameters",
525
+ "content": {
526
+ "application/json": {
527
+ "schema": {
528
+ "$ref": "#/components/schemas/badRequestResult"
529
+ }
530
+ }
531
+ },
532
+ "x-ms-summary": "Bad Request"
533
+ }
534
+ },
535
+ "security": [
536
+ {
537
+ "Implicit": [
538
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
539
+ ]
540
+ }
541
+ ]
542
+ },
543
+ "post": {
544
+ "tags": [
545
+ "Events"
546
+ ],
547
+ "summary": "Creates an event",
548
+ "description": "Creates a new event.",
549
+ "operationId": "Create",
550
+ "requestBody": {
551
+ "description": "Event data to create",
552
+ "content": {
553
+ "application/json": {
554
+ "schema": {
555
+ "$ref": "#/components/schemas/createEvent"
556
+ }
557
+ }
558
+ },
559
+ "required": true
560
+ },
561
+ "responses": {
562
+ "200": {
563
+ "description": "Event created successfully",
564
+ "content": {
565
+ "application/json": {
566
+ "schema": {
567
+ "$ref": "#/components/schemas/createEvent"
568
+ }
569
+ }
570
+ },
571
+ "x-ms-summary": "Success"
572
+ },
573
+ "401": {
574
+ "description": "User is not authorized",
575
+ "x-ms-summary": "Unauthorized"
576
+ }
577
+ },
578
+ "security": [
579
+ {
580
+ "Implicit": [
581
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
582
+ ]
583
+ }
584
+ ]
585
+ }
586
+ },
587
+ "/v1.0/protected/{eventIdOrSlug}": {
588
+ "get": {
589
+ "tags": [
590
+ "Events"
591
+ ],
592
+ "summary": "Gets an event by slug or id",
593
+ "description": "Retrieves an event by its slug or id.",
594
+ "operationId": "ProtectedEvent",
595
+ "parameters": [
596
+ {
597
+ "name": "eventIdOrSlug",
598
+ "in": "path",
599
+ "description": "The slug or id of the event to retrieve",
600
+ "required": true,
601
+ "schema": {
602
+ "type": "string"
603
+ },
604
+ "x-ms-summary": "The slug or id of the event"
605
+ }
606
+ ],
607
+ "responses": {
608
+ "200": {
609
+ "description": "Event retrieved successfully",
610
+ "content": {
611
+ "application/json": {
612
+ "schema": {
613
+ "$ref": "#/components/schemas/event"
614
+ }
615
+ }
616
+ },
617
+ "x-ms-summary": "Success"
618
+ },
619
+ "401": {
620
+ "description": "User is not authorized",
621
+ "x-ms-summary": "Unauthorized"
622
+ },
623
+ "404": {
624
+ "description": "Event not found",
625
+ "x-ms-summary": "Not Found"
626
+ }
627
+ },
628
+ "security": [
629
+ {
630
+ "Implicit": [
631
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
632
+ ]
633
+ }
634
+ ]
635
+ },
636
+ "patch": {
637
+ "tags": [
638
+ "Events"
639
+ ],
640
+ "summary": "Patches an event",
641
+ "description": "Patches an existing event.",
642
+ "operationId": "PatchMyEvent",
643
+ "parameters": [
644
+ {
645
+ "name": "eventIdOrSlug",
646
+ "in": "path",
647
+ "description": "The ID of the event to patch",
648
+ "required": true,
649
+ "schema": {
650
+ "type": "string"
651
+ },
652
+ "x-ms-summary": "The ID of the event"
653
+ }
654
+ ],
655
+ "requestBody": {
656
+ "description": "Event data to patch",
657
+ "content": {
658
+ "application/json": {
659
+ "schema": {
660
+ "$ref": "#/components/schemas/patchEvent"
661
+ }
662
+ }
663
+ },
664
+ "required": true
665
+ },
666
+ "responses": {
667
+ "200": {
668
+ "description": "Event patched successfully",
669
+ "content": {
670
+ "application/json": {
671
+ "schema": {
672
+ "$ref": "#/components/schemas/event"
673
+ }
674
+ }
675
+ },
676
+ "x-ms-summary": "Success"
677
+ },
678
+ "401": {
679
+ "description": "User is not authorized",
680
+ "x-ms-summary": "Unauthorized"
681
+ }
682
+ },
683
+ "security": [
684
+ {
685
+ "Implicit": [
686
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
687
+ ]
688
+ }
689
+ ]
690
+ }
691
+ },
692
+ "/v1.0/protected/random-event": {
693
+ "get": {
694
+ "tags": [
695
+ "Events"
696
+ ],
697
+ "summary": "Gets random event",
698
+ "description": "Retrieves random event",
699
+ "operationId": "GetProtectedRandomEvent",
700
+ "responses": {
701
+ "200": {
702
+ "description": "Event retrieved successfully",
703
+ "content": {
704
+ "application/json": {
705
+ "schema": {
706
+ "$ref": "#/components/schemas/event"
707
+ }
708
+ }
709
+ },
710
+ "x-ms-summary": "Success"
711
+ }
712
+ },
713
+ "security": [
714
+ {
715
+ "Implicit": [
716
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
717
+ ]
718
+ }
719
+ ]
720
+ }
721
+ },
722
+ "/v1.0/protected/ongoing-event": {
723
+ "get": {
724
+ "tags": [
725
+ "Events"
726
+ ],
727
+ "summary": "Gets ongoing event",
728
+ "description": "Retrieves ongoing event",
729
+ "operationId": "GetProtectedOngoingEvent",
730
+ "responses": {
731
+ "200": {
732
+ "description": "Event retrieved successfully",
733
+ "content": {
734
+ "application/json": {
735
+ "schema": {
736
+ "$ref": "#/components/schemas/event"
737
+ }
738
+ }
739
+ },
740
+ "x-ms-summary": "Success"
741
+ },
742
+ "204": {
743
+ "description": "No ongoing events",
744
+ "x-ms-summary": "Not content"
745
+ }
746
+ },
747
+ "security": [
748
+ {
749
+ "Implicit": [
750
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
751
+ ]
752
+ }
753
+ ]
754
+ }
755
+ },
756
+ "/v1.0/protected/{eventIdOrSlug}/invitation-preview": {
757
+ "get": {
758
+ "tags": [
759
+ "Events"
760
+ ],
761
+ "summary": "Preview invitation recipients",
762
+ "description": "Returns the list of subscriber emails that would receive an invitation for the given event type. Does not send any email.",
763
+ "operationId": "GetInvitationPreview",
764
+ "parameters": [
765
+ {
766
+ "name": "eventIdOrSlug",
767
+ "in": "path",
768
+ "description": "The slug or id of the event (for route consistency)",
769
+ "required": true,
770
+ "schema": {
771
+ "type": "string"
772
+ },
773
+ "x-ms-summary": "The slug or id of the event"
774
+ },
775
+ {
776
+ "name": "eventTypeId",
777
+ "in": "query",
778
+ "description": "The ID of the event type to preview subscribers for",
779
+ "required": true,
780
+ "schema": {
781
+ "type": "string"
782
+ },
783
+ "x-ms-summary": "The event type ID"
784
+ }
785
+ ],
786
+ "responses": {
787
+ "200": {
788
+ "description": "List of subscriber emails",
789
+ "content": {
790
+ "application/json": {
791
+ "schema": {
792
+ "$ref": "#/components/schemas/invitationPreviewResponse"
793
+ }
794
+ }
795
+ },
796
+ "x-ms-summary": "Success"
797
+ },
798
+ "400": {
799
+ "description": "Event type ID is required",
800
+ "x-ms-summary": "Bad Request"
801
+ },
802
+ "401": {
803
+ "description": "User is not authorized",
804
+ "x-ms-summary": "Unauthorized"
805
+ }
806
+ },
807
+ "security": [
808
+ {
809
+ "Implicit": [
810
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
811
+ ]
812
+ }
813
+ ]
814
+ }
815
+ },
816
+ "/v1.0/protected/{eventIdOrSlug}/send-invitations": {
817
+ "post": {
818
+ "tags": [
819
+ "Events"
820
+ ],
821
+ "summary": "Sends email invitations",
822
+ "description": "Sends email invitations to subscribers of the specified event type and marks invitationSent as true. Cannot be called if invitations have already been sent.",
823
+ "operationId": "SendInvitations",
824
+ "parameters": [
825
+ {
826
+ "name": "eventIdOrSlug",
827
+ "in": "path",
828
+ "description": "The slug or id of the event to send invitations for",
829
+ "required": true,
830
+ "schema": {
831
+ "type": "string"
832
+ },
833
+ "x-ms-summary": "The slug or id of the event"
834
+ },
835
+ {
836
+ "name": "eventTypeId",
837
+ "in": "query",
838
+ "description": "The ID of the event type to send invitations to subscribers of",
839
+ "required": true,
840
+ "schema": {
841
+ "type": "string"
842
+ },
843
+ "x-ms-summary": "The event type ID"
844
+ }
845
+ ],
846
+ "responses": {
847
+ "200": {
848
+ "description": "Invitations sent successfully",
849
+ "content": {
850
+ "application/json": {
851
+ "schema": {
852
+ "$ref": "#/components/schemas/event"
853
+ }
854
+ }
855
+ },
856
+ "x-ms-summary": "Success"
857
+ },
858
+ "400": {
859
+ "description": "No subscribers found for event type, or invitations have already been sent",
860
+ "x-ms-summary": "Bad Request"
861
+ },
862
+ "401": {
863
+ "description": "User is not authorized",
864
+ "x-ms-summary": "Unauthorized"
865
+ },
866
+ "404": {
867
+ "description": "Event not found",
868
+ "x-ms-summary": "Not Found"
869
+ }
870
+ },
871
+ "security": [
872
+ {
873
+ "Implicit": [
874
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
875
+ ]
876
+ }
877
+ ]
878
+ }
879
+ },
880
+ "/v1.0/protected/{eventId}/add-my-feedback": {
881
+ "post": {
882
+ "tags": [
883
+ "Events"
884
+ ],
885
+ "summary": "Add my feedback",
886
+ "description": "Adds my event feedback",
887
+ "operationId": "AddMyFeedback",
888
+ "parameters": [
889
+ {
890
+ "name": "eventId",
891
+ "in": "path",
892
+ "description": "The ID of the event to patch",
893
+ "required": true,
894
+ "schema": {
895
+ "type": "string"
896
+ },
897
+ "x-ms-summary": "The ID of the event"
898
+ }
899
+ ],
900
+ "requestBody": {
901
+ "description": "Event data to patch",
902
+ "content": {
903
+ "application/json": {
904
+ "schema": {
905
+ "$ref": "#/components/schemas/addEmployeeFeedback"
906
+ }
907
+ }
908
+ },
909
+ "required": true
910
+ },
911
+ "responses": {
912
+ "200": {
913
+ "description": "Event feedback sent successfully",
914
+ "x-ms-summary": "Success"
915
+ }
916
+ },
917
+ "security": [
918
+ {
919
+ "Implicit": [
920
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
921
+ ]
922
+ }
923
+ ]
924
+ }
925
+ },
926
+ "/v1.0/protected/get-my-events-pending-feedback": {
927
+ "get": {
928
+ "tags": [
929
+ "Events"
930
+ ],
931
+ "summary": "Gets events pending feedback",
932
+ "description": "Gets events pending feedback",
933
+ "operationId": "GetMyEventsPendingFeedback",
934
+ "responses": {
935
+ "200": {
936
+ "description": "Event feedback sent successfully",
937
+ "content": {
938
+ "application/json": {
939
+ "schema": {
940
+ "type": "array",
941
+ "items": {
942
+ "$ref": "#/components/schemas/event"
943
+ }
944
+ }
945
+ }
946
+ },
947
+ "x-ms-summary": "Success"
948
+ }
949
+ },
950
+ "security": [
951
+ {
952
+ "Implicit": [
953
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
954
+ ]
955
+ }
956
+ ]
957
+ }
958
+ },
959
+ "/v1.0/protected/{eventId}/memories/{memoryKey}": {
960
+ "patch": {
961
+ "tags": [
962
+ "Events"
963
+ ],
964
+ "summary": "Reviews media",
965
+ "description": "Approves or rejects a memory.",
966
+ "operationId": "ReviewUploadedMemory",
967
+ "parameters": [
968
+ {
969
+ "name": "eventId",
970
+ "in": "path",
971
+ "description": "The id of the event to patch",
972
+ "required": true,
973
+ "schema": {
974
+ "type": "string"
975
+ },
976
+ "x-ms-summary": "The id of the event"
977
+ },
978
+ {
979
+ "name": "memoryKey",
980
+ "in": "path",
981
+ "description": "The key of the memory to patch",
982
+ "required": true,
983
+ "schema": {
984
+ "type": "string"
985
+ },
986
+ "x-ms-summary": "The key of the memory"
987
+ }
988
+ ],
989
+ "requestBody": {
990
+ "description": "Review data",
991
+ "content": {
992
+ "application/json": {
993
+ "schema": {
994
+ "$ref": "#/components/schemas/patchEventMemory"
995
+ }
996
+ }
997
+ },
998
+ "required": true
999
+ },
1000
+ "responses": {
1001
+ "200": {
1002
+ "description": "Event patched successfully",
1003
+ "content": {
1004
+ "application/json": {
1005
+ "schema": {
1006
+ "$ref": "#/components/schemas/event"
1007
+ }
1008
+ }
1009
+ },
1010
+ "x-ms-summary": "Success"
1011
+ },
1012
+ "401": {
1013
+ "description": "User is not authorized",
1014
+ "x-ms-summary": "Unauthorized"
1015
+ }
1016
+ },
1017
+ "security": [
1018
+ {
1019
+ "Implicit": [
1020
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1021
+ ]
1022
+ }
1023
+ ]
1024
+ }
1025
+ },
1026
+ "/v1.0/protected/{eventId}/memories": {
1027
+ "post": {
1028
+ "tags": [
1029
+ "Events"
1030
+ ],
1031
+ "summary": "Upload my memories to an event",
1032
+ "description": "Upload my memories to an event",
1033
+ "operationId": "UploadMyMemories",
1034
+ "parameters": [
1035
+ {
1036
+ "name": "eventId",
1037
+ "in": "path",
1038
+ "description": "The id of the event to patch",
1039
+ "required": true,
1040
+ "schema": {
1041
+ "type": "string"
1042
+ },
1043
+ "x-ms-summary": "The id of the event"
1044
+ }
1045
+ ],
1046
+ "requestBody": {
1047
+ "description": "Event data to patch",
1048
+ "content": {
1049
+ "application/json": {
1050
+ "schema": {
1051
+ "type": "array",
1052
+ "items": {
1053
+ "$ref": "#/components/schemas/sanityCreateMemory"
1054
+ }
1055
+ }
1056
+ }
1057
+ },
1058
+ "required": true
1059
+ },
1060
+ "responses": {
1061
+ "200": {
1062
+ "description": "Memories uploaded sent successfully",
1063
+ "x-ms-summary": "Success"
1064
+ }
1065
+ },
1066
+ "security": [
1067
+ {
1068
+ "Implicit": [
1069
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1070
+ ]
1071
+ }
1072
+ ]
1073
+ }
1074
+ },
1075
+ "/v1.0/protected/{eventId}/participate": {
1076
+ "post": {
1077
+ "tags": [
1078
+ "Events"
1079
+ ],
1080
+ "summary": "Participates in an event",
1081
+ "description": "Registers participation in an event.",
1082
+ "operationId": "AddMyParticipation",
1083
+ "parameters": [
1084
+ {
1085
+ "name": "eventId",
1086
+ "in": "path",
1087
+ "description": "The ID of the event to patch",
1088
+ "required": true,
1089
+ "schema": {
1090
+ "type": "string"
1091
+ },
1092
+ "x-ms-summary": "The ID of the event"
1093
+ }
1094
+ ],
1095
+ "responses": {
1096
+ "200": {
1097
+ "description": "Participation registered successfully",
1098
+ "content": {
1099
+ "application/json": {
1100
+ "schema": {
1101
+ "$ref": "#/components/schemas/participant"
1102
+ }
1103
+ }
1104
+ },
1105
+ "x-ms-summary": "Success"
1106
+ },
1107
+ "401": {
1108
+ "description": "User is not authorized",
1109
+ "x-ms-summary": "Unauthorized"
1110
+ }
1111
+ },
1112
+ "security": [
1113
+ {
1114
+ "Implicit": [
1115
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1116
+ ]
1117
+ }
1118
+ ]
1119
+ },
1120
+ "delete": {
1121
+ "tags": [
1122
+ "Events"
1123
+ ],
1124
+ "summary": "Removes participation",
1125
+ "description": "Removes participation from an event.",
1126
+ "operationId": "RemoveMyParticipation",
1127
+ "parameters": [
1128
+ {
1129
+ "name": "eventId",
1130
+ "in": "path",
1131
+ "description": "The ID of the event to patch",
1132
+ "required": true,
1133
+ "schema": {
1134
+ "type": "string"
1135
+ },
1136
+ "x-ms-summary": "The ID of the event"
1137
+ }
1138
+ ],
1139
+ "responses": {
1140
+ "200": {
1141
+ "description": "Participation removed successfully",
1142
+ "x-ms-summary": "Success"
1143
+ },
1144
+ "401": {
1145
+ "description": "User is not authorized",
1146
+ "x-ms-summary": "Unauthorized"
1147
+ }
1148
+ },
1149
+ "security": [
1150
+ {
1151
+ "Implicit": [
1152
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1153
+ ]
1154
+ }
1155
+ ]
1156
+ }
1157
+ },
1158
+ "/v1.0/protected/{eventId}/participate/employee": {
1159
+ "post": {
1160
+ "tags": [
1161
+ "Events"
1162
+ ],
1163
+ "summary": "Registers an employee as participant",
1164
+ "description": "Registers a specific employee as an internal participant in an event. Requires authentication.",
1165
+ "operationId": "AddParticipationForEmployee",
1166
+ "parameters": [
1167
+ {
1168
+ "name": "eventId",
1169
+ "in": "path",
1170
+ "description": "The ID of the event",
1171
+ "required": true,
1172
+ "schema": {
1173
+ "type": "string"
1174
+ },
1175
+ "x-ms-summary": "The ID of the event"
1176
+ }
1177
+ ],
1178
+ "requestBody": {
1179
+ "description": "Employee participation data",
1180
+ "content": {
1181
+ "application/json": {
1182
+ "schema": {
1183
+ "$ref": "#/components/schemas/participateEmployee"
1184
+ }
1185
+ }
1186
+ },
1187
+ "required": true
1188
+ },
1189
+ "responses": {
1190
+ "200": {
1191
+ "description": "Participation registered successfully",
1192
+ "content": {
1193
+ "application/json": {
1194
+ "schema": {
1195
+ "$ref": "#/components/schemas/participant"
1196
+ }
1197
+ }
1198
+ },
1199
+ "x-ms-summary": "Success"
1200
+ },
1201
+ "401": {
1202
+ "description": "User is not authorized",
1203
+ "x-ms-summary": "Unauthorized"
1204
+ }
1205
+ },
1206
+ "security": [
1207
+ {
1208
+ "Implicit": [
1209
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1210
+ ]
1211
+ }
1212
+ ]
1213
+ }
1214
+ },
1215
+ "/v1.0/protected/instagram": {
1216
+ "post": {
1217
+ "tags": [
1218
+ "Social Media"
1219
+ ],
1220
+ "summary": "Posts images to Instagram",
1221
+ "description": "Posts images to Instagram.",
1222
+ "operationId": "PostToInstagram",
1223
+ "requestBody": {
1224
+ "description": "Data to post images to Instagram",
1225
+ "content": {
1226
+ "application/json": {
1227
+ "schema": {
1228
+ "$ref": "#/components/schemas/postToInstagram"
1229
+ }
1230
+ }
1231
+ },
1232
+ "required": true
1233
+ },
1234
+ "responses": {
1235
+ "200": {
1236
+ "description": "Images posted to Instagram successfully",
1237
+ "content": {
1238
+ "application/json": {
1239
+ "schema": {
1240
+ "type": "string"
1241
+ }
1242
+ }
1243
+ },
1244
+ "x-ms-summary": "Success"
1245
+ },
1246
+ "401": {
1247
+ "description": "User is not authorized",
1248
+ "x-ms-summary": "Unauthorized"
1249
+ }
1250
+ },
1251
+ "security": [
1252
+ {
1253
+ "Implicit": [
1254
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default"
1255
+ ]
1256
+ }
1257
+ ]
1258
+ }
1259
+ }
1260
+ },
1261
+ "components": {
1262
+ "schemas": {
1263
+ "addEmployeeFeedback": {
1264
+ "type": "object",
1265
+ "properties": {
1266
+ "sanityType": {
1267
+ "enum": [
1268
+ "response"
1269
+ ],
1270
+ "type": "string",
1271
+ "default": "response"
1272
+ },
1273
+ "comment": {
1274
+ "type": "string"
1275
+ },
1276
+ "foodAndDrinkRating": {
1277
+ "type": "number",
1278
+ "format": "double"
1279
+ },
1280
+ "locationRating": {
1281
+ "type": "number",
1282
+ "format": "double"
1283
+ },
1284
+ "organizationRating": {
1285
+ "type": "number",
1286
+ "format": "double"
1287
+ },
1288
+ "overallRating": {
1289
+ "type": "number",
1290
+ "format": "double"
1291
+ },
1292
+ "additionalProperties": {
1293
+ "type": "object",
1294
+ "additionalProperties": {
1295
+ "type": "object"
1296
+ }
1297
+ }
1298
+ }
1299
+ },
1300
+ "addGuestGeedback": {
1301
+ "required": [
1302
+ "token"
1303
+ ],
1304
+ "type": "object",
1305
+ "properties": {
1306
+ "token": {
1307
+ "minLength": 1,
1308
+ "type": "string",
1309
+ "nullable": true
1310
+ },
1311
+ "sanityType": {
1312
+ "enum": [
1313
+ "response"
1314
+ ],
1315
+ "type": "string",
1316
+ "default": "response"
1317
+ },
1318
+ "comment": {
1319
+ "type": "string"
1320
+ },
1321
+ "foodAndDrinkRating": {
1322
+ "type": "number",
1323
+ "format": "double"
1324
+ },
1325
+ "locationRating": {
1326
+ "type": "number",
1327
+ "format": "double"
1328
+ },
1329
+ "organizationRating": {
1330
+ "type": "number",
1331
+ "format": "double"
1332
+ },
1333
+ "overallRating": {
1334
+ "type": "number",
1335
+ "format": "double"
1336
+ },
1337
+ "additionalProperties": {
1338
+ "type": "object",
1339
+ "additionalProperties": {
1340
+ "type": "object"
1341
+ }
1342
+ }
1343
+ }
1344
+ },
1345
+ "azureBlobStorageCredentials": {
1346
+ "type": "object",
1347
+ "properties": {
1348
+ "blobUrl": {
1349
+ "type": "string"
1350
+ },
1351
+ "sasToken": {
1352
+ "type": "string"
1353
+ },
1354
+ "additionalProperties": {
1355
+ "type": "object",
1356
+ "additionalProperties": {
1357
+ "type": "object"
1358
+ }
1359
+ }
1360
+ }
1361
+ },
1362
+ "badRequestResult": {
1363
+ "type": "object",
1364
+ "properties": {
1365
+ "statusCode": {
1366
+ "type": "integer",
1367
+ "format": "int32"
1368
+ }
1369
+ }
1370
+ },
1371
+ "componentMedia": {
1372
+ "type": "object",
1373
+ "properties": {
1374
+ "sanityType": {
1375
+ "enum": [
1376
+ "component.media"
1377
+ ],
1378
+ "type": "string",
1379
+ "default": "component.media"
1380
+ },
1381
+ "type": {
1382
+ "enum": [
1383
+ "image",
1384
+ "video"
1385
+ ],
1386
+ "type": "string",
1387
+ "default": "image"
1388
+ },
1389
+ "image": {
1390
+ "$ref": "#/components/schemas/componentMediaImage"
1391
+ },
1392
+ "video": {
1393
+ "$ref": "#/components/schemas/muxVideo"
1394
+ }
1395
+ }
1396
+ },
1397
+ "componentMediaImage": {
1398
+ "type": "object",
1399
+ "properties": {
1400
+ "sanityType": {
1401
+ "enum": [
1402
+ "image"
1403
+ ],
1404
+ "type": "string",
1405
+ "default": "image"
1406
+ },
1407
+ "asset": {
1408
+ "$ref": "#/components/schemas/sanityImageAssetReference"
1409
+ },
1410
+ "crop": {
1411
+ "$ref": "#/components/schemas/sanityImageCrop"
1412
+ },
1413
+ "hotspot": {
1414
+ "$ref": "#/components/schemas/sanityImageHotspot"
1415
+ },
1416
+ "media": {
1417
+ "type": "object"
1418
+ }
1419
+ }
1420
+ },
1421
+ "createEvent": {
1422
+ "type": "object",
1423
+ "properties": {
1424
+ "status": {
1425
+ "enum": [
1426
+ "active",
1427
+ "cancelled"
1428
+ ],
1429
+ "type": "string",
1430
+ "default": "active"
1431
+ },
1432
+ "dates": {
1433
+ "type": "array",
1434
+ "items": {
1435
+ "type": "string",
1436
+ "format": "date-time"
1437
+ },
1438
+ "nullable": true
1439
+ },
1440
+ "file": {
1441
+ "$ref": "#/components/schemas/createEventFile"
1442
+ },
1443
+ "sanityType": {
1444
+ "enum": [
1445
+ "event"
1446
+ ],
1447
+ "type": "string",
1448
+ "default": "event"
1449
+ },
1450
+ "allowDigitalParticipation": {
1451
+ "type": "boolean"
1452
+ },
1453
+ "askForFeedback": {
1454
+ "type": "boolean"
1455
+ },
1456
+ "category": {
1457
+ "type": "array",
1458
+ "items": {
1459
+ "type": "string"
1460
+ }
1461
+ },
1462
+ "creator": {
1463
+ "$ref": "#/components/schemas/employeeReference"
1464
+ },
1465
+ "description": {
1466
+ "type": "string"
1467
+ },
1468
+ "endTime": {
1469
+ "type": "string"
1470
+ },
1471
+ "eventType": {
1472
+ "type": "array",
1473
+ "items": {
1474
+ "$ref": "#/components/schemas/sanityCreateEventEventTypeInner"
1475
+ }
1476
+ },
1477
+ "feedback": {
1478
+ "type": "array",
1479
+ "items": {
1480
+ "$ref": "#/components/schemas/sanityCreateEventFeedbackInner"
1481
+ }
1482
+ },
1483
+ "invitationSent": {
1484
+ "type": "boolean"
1485
+ },
1486
+ "isServingFood": {
1487
+ "type": "boolean"
1488
+ },
1489
+ "linkOnly": {
1490
+ "type": "boolean"
1491
+ },
1492
+ "manualMemoriesApproval": {
1493
+ "type": "boolean"
1494
+ },
1495
+ "maxParticipants": {
1496
+ "type": "number",
1497
+ "format": "double"
1498
+ },
1499
+ "media": {
1500
+ "$ref": "#/components/schemas/componentMedia"
1501
+ },
1502
+ "memories": {
1503
+ "type": "array",
1504
+ "items": {
1505
+ "$ref": "#/components/schemas/sanityCreateEventMemoriesInner"
1506
+ }
1507
+ },
1508
+ "participants": {
1509
+ "type": "array",
1510
+ "items": {
1511
+ "$ref": "#/components/schemas/sanityCreateEventParticipantsInner"
1512
+ }
1513
+ },
1514
+ "participationStart": {
1515
+ "type": "string"
1516
+ },
1517
+ "place": {
1518
+ "type": "string"
1519
+ },
1520
+ "public": {
1521
+ "type": "boolean"
1522
+ },
1523
+ "recurringId": {
1524
+ "type": "string"
1525
+ },
1526
+ "slug": {
1527
+ "$ref": "#/components/schemas/slug"
1528
+ },
1529
+ "teamsLink": {
1530
+ "type": "string"
1531
+ },
1532
+ "time": {
1533
+ "type": "string"
1534
+ },
1535
+ "title": {
1536
+ "type": "string"
1537
+ },
1538
+ "additionalProperties": {
1539
+ "type": "object",
1540
+ "additionalProperties": {
1541
+ "type": "object"
1542
+ }
1543
+ }
1544
+ }
1545
+ },
1546
+ "createEventFile": {
1547
+ "type": "object",
1548
+ "properties": {
1549
+ "type": {
1550
+ "type": "string",
1551
+ "nullable": true
1552
+ },
1553
+ "url": {
1554
+ "type": "string",
1555
+ "nullable": true
1556
+ },
1557
+ "filename": {
1558
+ "type": "string",
1559
+ "nullable": true
1560
+ }
1561
+ },
1562
+ "nullable": true
1563
+ },
1564
+ "employeeReference": {
1565
+ "type": "object",
1566
+ "properties": {
1567
+ "sanityType": {
1568
+ "enum": [
1569
+ "reference"
1570
+ ],
1571
+ "type": "string",
1572
+ "default": "reference"
1573
+ },
1574
+ "sanityRef": {
1575
+ "type": "string"
1576
+ },
1577
+ "sanityWeak": {
1578
+ "type": "boolean"
1579
+ }
1580
+ }
1581
+ },
1582
+ "event": {
1583
+ "required": [
1584
+ "sanityId",
1585
+ "sanityType",
1586
+ "sanityRev",
1587
+ "sanityCreatedAt",
1588
+ "sanityUpdatedAt",
1589
+ "creator",
1590
+ "title",
1591
+ "slug",
1592
+ "description",
1593
+ "eventTypes",
1594
+ "time"
1595
+ ],
1596
+ "type": "object",
1597
+ "properties": {
1598
+ "sanityId": {
1599
+ "minLength": 1,
1600
+ "type": "string"
1601
+ },
1602
+ "sanityType": {
1603
+ "minLength": 1,
1604
+ "type": "string"
1605
+ },
1606
+ "sanityRev": {
1607
+ "minLength": 1,
1608
+ "type": "string"
1609
+ },
1610
+ "sanityCreatedAt": {
1611
+ "minLength": 1,
1612
+ "type": "string"
1613
+ },
1614
+ "sanityUpdatedAt": {
1615
+ "minLength": 1,
1616
+ "type": "string"
1617
+ },
1618
+ "creator": {
1619
+ "$ref": "#/components/schemas/sanityOrderEmployee"
1620
+ },
1621
+ "participants": {
1622
+ "type": "array",
1623
+ "items": {
1624
+ "$ref": "#/components/schemas/participant"
1625
+ }
1626
+ },
1627
+ "memories": {
1628
+ "type": "array",
1629
+ "items": {
1630
+ "$ref": "#/components/schemas/sanityEventMemoriesInner"
1631
+ }
1632
+ },
1633
+ "media": {
1634
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMedia"
1635
+ },
1636
+ "unapprovedMediaCount": {
1637
+ "type": "integer",
1638
+ "format": "int32"
1639
+ },
1640
+ "recurringId": {
1641
+ "type": "string"
1642
+ },
1643
+ "public": {
1644
+ "type": "boolean"
1645
+ },
1646
+ "linkOnly": {
1647
+ "type": "boolean"
1648
+ },
1649
+ "status": {
1650
+ "type": "string"
1651
+ },
1652
+ "askForFeedback": {
1653
+ "type": "boolean"
1654
+ },
1655
+ "title": {
1656
+ "minLength": 1,
1657
+ "type": "string"
1658
+ },
1659
+ "slug": {
1660
+ "$ref": "#/components/schemas/slug"
1661
+ },
1662
+ "description": {
1663
+ "minLength": 1,
1664
+ "type": "string"
1665
+ },
1666
+ "isServingFood": {
1667
+ "type": "boolean",
1668
+ "nullable": true
1669
+ },
1670
+ "eventTypes": {
1671
+ "type": "array",
1672
+ "items": {
1673
+ "$ref": "#/components/schemas/eventType"
1674
+ }
1675
+ },
1676
+ "endTime": {
1677
+ "type": "string"
1678
+ },
1679
+ "place": {
1680
+ "type": "string"
1681
+ },
1682
+ "maxParticipants": {
1683
+ "type": "number",
1684
+ "format": "double",
1685
+ "nullable": true
1686
+ },
1687
+ "time": {
1688
+ "minLength": 1,
1689
+ "type": "string"
1690
+ },
1691
+ "participationStart": {
1692
+ "type": "string"
1693
+ },
1694
+ "manualMemoriesApproval": {
1695
+ "type": "boolean"
1696
+ },
1697
+ "feedback": {
1698
+ "type": "array",
1699
+ "items": {
1700
+ "$ref": "#/components/schemas/sanityEventFeedbackInner"
1701
+ }
1702
+ },
1703
+ "invitationSent": {
1704
+ "type": "boolean",
1705
+ "nullable": true
1706
+ },
1707
+ "allowDigitalParticipation": {
1708
+ "type": "boolean",
1709
+ "nullable": true
1710
+ },
1711
+ "teamsLink": {
1712
+ "type": "string"
1713
+ }
1714
+ }
1715
+ },
1716
+ "eventType": {
1717
+ "type": "object",
1718
+ "properties": {
1719
+ "sanityId": {
1720
+ "type": "string"
1721
+ },
1722
+ "sanityType": {
1723
+ "type": "string"
1724
+ },
1725
+ "name": {
1726
+ "type": "string"
1727
+ },
1728
+ "slug": {
1729
+ "$ref": "#/components/schemas/slug"
1730
+ },
1731
+ "canSubscribe": {
1732
+ "type": "boolean"
1733
+ }
1734
+ }
1735
+ },
1736
+ "image": {
1737
+ "type": "object",
1738
+ "properties": {
1739
+ "url": {
1740
+ "type": "string"
1741
+ },
1742
+ "tags": {
1743
+ "type": "array",
1744
+ "items": {
1745
+ "$ref": "#/components/schemas/tag"
1746
+ }
1747
+ }
1748
+ }
1749
+ },
1750
+ "instagramFeedResponse": {
1751
+ "type": "object",
1752
+ "properties": {
1753
+ "username": {
1754
+ "type": "string"
1755
+ },
1756
+ "name": {
1757
+ "type": "string"
1758
+ },
1759
+ "profileUrl": {
1760
+ "type": "string"
1761
+ },
1762
+ "profilePictureUrl": {
1763
+ "type": "string"
1764
+ },
1765
+ "mediaCount": {
1766
+ "type": "integer",
1767
+ "format": "int32"
1768
+ },
1769
+ "followersCount": {
1770
+ "type": "integer",
1771
+ "format": "int32"
1772
+ },
1773
+ "followsCount": {
1774
+ "type": "integer",
1775
+ "format": "int32"
1776
+ },
1777
+ "media": {
1778
+ "type": "array",
1779
+ "items": {
1780
+ "$ref": "#/components/schemas/instagramMedia"
1781
+ }
1782
+ }
1783
+ }
1784
+ },
1785
+ "instagramMedia": {
1786
+ "type": "object",
1787
+ "properties": {
1788
+ "id": {
1789
+ "type": "string"
1790
+ },
1791
+ "caption": {
1792
+ "type": "string"
1793
+ },
1794
+ "mediaType": {
1795
+ "type": "string"
1796
+ },
1797
+ "mediaUrl": {
1798
+ "type": "string"
1799
+ },
1800
+ "thumbnailUrl": {
1801
+ "type": "string"
1802
+ },
1803
+ "permalink": {
1804
+ "type": "string"
1805
+ },
1806
+ "timestamp": {
1807
+ "type": "string"
1808
+ }
1809
+ }
1810
+ },
1811
+ "invitationPreviewResponse": {
1812
+ "type": "object",
1813
+ "properties": {
1814
+ "emails": {
1815
+ "type": "array",
1816
+ "items": {
1817
+ "type": "string"
1818
+ }
1819
+ }
1820
+ }
1821
+ },
1822
+ "muxVideo": {
1823
+ "type": "object",
1824
+ "properties": {
1825
+ "sanityType": {
1826
+ "enum": [
1827
+ "mux.video"
1828
+ ],
1829
+ "type": "string",
1830
+ "default": "mux.video"
1831
+ },
1832
+ "asset": {
1833
+ "$ref": "#/components/schemas/muxVideoAssetReference"
1834
+ }
1835
+ }
1836
+ },
1837
+ "muxVideoAssetReference": {
1838
+ "type": "object",
1839
+ "properties": {
1840
+ "sanityType": {
1841
+ "enum": [
1842
+ "reference"
1843
+ ],
1844
+ "type": "string",
1845
+ "default": "reference"
1846
+ },
1847
+ "sanityRef": {
1848
+ "type": "string"
1849
+ },
1850
+ "sanityWeak": {
1851
+ "type": "boolean"
1852
+ }
1853
+ }
1854
+ },
1855
+ "participant": {
1856
+ "required": [
1857
+ "sanityKey",
1858
+ "sanityType",
1859
+ "name",
1860
+ "email",
1861
+ "token",
1862
+ "feedbackSubmitted"
1863
+ ],
1864
+ "type": "object",
1865
+ "properties": {
1866
+ "sanityKey": {
1867
+ "minLength": 1,
1868
+ "type": "string"
1869
+ },
1870
+ "sanityType": {
1871
+ "minLength": 1,
1872
+ "type": "string"
1873
+ },
1874
+ "image": {
1875
+ "type": "string"
1876
+ },
1877
+ "name": {
1878
+ "minLength": 1,
1879
+ "type": "string"
1880
+ },
1881
+ "email": {
1882
+ "minLength": 1,
1883
+ "type": "string"
1884
+ },
1885
+ "registered": {
1886
+ "type": "string"
1887
+ },
1888
+ "details": {
1889
+ "type": "string"
1890
+ },
1891
+ "token": {
1892
+ "minLength": 1,
1893
+ "type": "string"
1894
+ },
1895
+ "feedbackSubmitted": {
1896
+ "type": "boolean"
1897
+ }
1898
+ }
1899
+ },
1900
+ "participate": {
1901
+ "required": [
1902
+ "name",
1903
+ "email"
1904
+ ],
1905
+ "type": "object",
1906
+ "properties": {
1907
+ "name": {
1908
+ "minLength": 1,
1909
+ "type": "string"
1910
+ },
1911
+ "email": {
1912
+ "minLength": 1,
1913
+ "type": "string"
1914
+ },
1915
+ "details": {
1916
+ "type": "string"
1917
+ }
1918
+ }
1919
+ },
1920
+ "participateEmployee": {
1921
+ "required": [
1922
+ "email"
1923
+ ],
1924
+ "type": "object",
1925
+ "properties": {
1926
+ "email": {
1927
+ "minLength": 1,
1928
+ "type": "string"
1929
+ },
1930
+ "details": {
1931
+ "type": "string"
1932
+ }
1933
+ }
1934
+ },
1935
+ "patchEvent": {
1936
+ "type": "object",
1937
+ "properties": {
1938
+ "file": {
1939
+ "$ref": "#/components/schemas/createEventFile"
1940
+ },
1941
+ "invitationSent": {
1942
+ "type": "boolean",
1943
+ "nullable": true
1944
+ },
1945
+ "sanityType": {
1946
+ "enum": [
1947
+ "event"
1948
+ ],
1949
+ "type": "string",
1950
+ "default": "event",
1951
+ "nullable": true
1952
+ },
1953
+ "status": {
1954
+ "enum": [
1955
+ "active",
1956
+ "cancelled"
1957
+ ],
1958
+ "type": "string",
1959
+ "default": "active",
1960
+ "nullable": true
1961
+ },
1962
+ "allowDigitalParticipation": {
1963
+ "type": "boolean",
1964
+ "nullable": true
1965
+ },
1966
+ "askForFeedback": {
1967
+ "type": "boolean",
1968
+ "nullable": true
1969
+ },
1970
+ "category": {
1971
+ "type": "array",
1972
+ "items": {
1973
+ "type": "string"
1974
+ }
1975
+ },
1976
+ "creator": {
1977
+ "$ref": "#/components/schemas/employeeReference"
1978
+ },
1979
+ "description": {
1980
+ "type": "string"
1981
+ },
1982
+ "endTime": {
1983
+ "type": "string"
1984
+ },
1985
+ "eventType": {
1986
+ "type": "array",
1987
+ "items": {
1988
+ "$ref": "#/components/schemas/sanityCreateEventEventTypeInner"
1989
+ }
1990
+ },
1991
+ "feedback": {
1992
+ "type": "array",
1993
+ "items": {
1994
+ "$ref": "#/components/schemas/sanityCreateEventFeedbackInner"
1995
+ }
1996
+ },
1997
+ "isServingFood": {
1998
+ "type": "boolean",
1999
+ "nullable": true
2000
+ },
2001
+ "linkOnly": {
2002
+ "type": "boolean",
2003
+ "nullable": true
2004
+ },
2005
+ "manualMemoriesApproval": {
2006
+ "type": "boolean",
2007
+ "nullable": true
2008
+ },
2009
+ "maxParticipants": {
2010
+ "type": "number",
2011
+ "format": "double",
2012
+ "nullable": true
2013
+ },
2014
+ "media": {
2015
+ "$ref": "#/components/schemas/componentMedia"
2016
+ },
2017
+ "memories": {
2018
+ "type": "array",
2019
+ "items": {
2020
+ "$ref": "#/components/schemas/sanityCreateEventMemoriesInner"
2021
+ }
2022
+ },
2023
+ "participants": {
2024
+ "type": "array",
2025
+ "items": {
2026
+ "$ref": "#/components/schemas/sanityCreateEventParticipantsInner"
2027
+ }
2028
+ },
2029
+ "participationStart": {
2030
+ "type": "string"
2031
+ },
2032
+ "place": {
2033
+ "type": "string"
2034
+ },
2035
+ "public": {
2036
+ "type": "boolean",
2037
+ "nullable": true
2038
+ },
2039
+ "recurringId": {
2040
+ "type": "string"
2041
+ },
2042
+ "slug": {
2043
+ "$ref": "#/components/schemas/slug"
2044
+ },
2045
+ "teamsLink": {
2046
+ "type": "string"
2047
+ },
2048
+ "time": {
2049
+ "type": "string"
2050
+ },
2051
+ "title": {
2052
+ "type": "string"
2053
+ },
2054
+ "additionalProperties": {
2055
+ "type": "object",
2056
+ "additionalProperties": {
2057
+ "type": "object"
2058
+ }
2059
+ }
2060
+ }
2061
+ },
2062
+ "patchEventMemory": {
2063
+ "type": "object",
2064
+ "properties": {
2065
+ "approved": {
2066
+ "type": "boolean"
2067
+ },
2068
+ "additionalProperties": {
2069
+ "type": "object",
2070
+ "additionalProperties": {
2071
+ "type": "object"
2072
+ }
2073
+ }
2074
+ }
2075
+ },
2076
+ "postToInstagram": {
2077
+ "required": [
2078
+ "eventId"
2079
+ ],
2080
+ "type": "object",
2081
+ "properties": {
2082
+ "eventId": {
2083
+ "minLength": 1,
2084
+ "type": "string"
2085
+ },
2086
+ "description": {
2087
+ "type": "string"
2088
+ },
2089
+ "images": {
2090
+ "type": "array",
2091
+ "items": {
2092
+ "$ref": "#/components/schemas/image"
2093
+ }
2094
+ }
2095
+ }
2096
+ },
2097
+ "removeParticipation": {
2098
+ "required": [
2099
+ "token"
2100
+ ],
2101
+ "type": "object",
2102
+ "properties": {
2103
+ "token": {
2104
+ "minLength": 1,
2105
+ "type": "string"
2106
+ }
2107
+ }
2108
+ },
2109
+ "sanityCreateEventEventTypeInner": {
2110
+ "type": "object",
2111
+ "properties": {
2112
+ "sanityType": {
2113
+ "enum": [
2114
+ "reference"
2115
+ ],
2116
+ "type": "string",
2117
+ "default": "reference"
2118
+ },
2119
+ "sanityKey": {
2120
+ "type": "string"
2121
+ },
2122
+ "sanityRef": {
2123
+ "type": "string"
2124
+ },
2125
+ "sanityWeak": {
2126
+ "type": "boolean"
2127
+ }
2128
+ }
2129
+ },
2130
+ "sanityCreateEventFeedbackInner": {
2131
+ "type": "object",
2132
+ "properties": {
2133
+ "sanityType": {
2134
+ "enum": [
2135
+ "response"
2136
+ ],
2137
+ "type": "string",
2138
+ "default": "response"
2139
+ },
2140
+ "comment": {
2141
+ "type": "string"
2142
+ },
2143
+ "foodAndDrinkRating": {
2144
+ "type": "number",
2145
+ "format": "double"
2146
+ },
2147
+ "locationRating": {
2148
+ "type": "number",
2149
+ "format": "double"
2150
+ },
2151
+ "organizationRating": {
2152
+ "type": "number",
2153
+ "format": "double"
2154
+ },
2155
+ "overallRating": {
2156
+ "type": "number",
2157
+ "format": "double"
2158
+ },
2159
+ "sanityKey": {
2160
+ "type": "string"
2161
+ }
2162
+ }
2163
+ },
2164
+ "sanityCreateEventMemoriesInner": {
2165
+ "type": "object",
2166
+ "properties": {
2167
+ "actualInstance": {
2168
+ "type": "object"
2169
+ },
2170
+ "isNullable": {
2171
+ "type": "boolean"
2172
+ },
2173
+ "schemaType": {
2174
+ "type": "string"
2175
+ }
2176
+ }
2177
+ },
2178
+ "sanityCreateEventParticipantsInner": {
2179
+ "type": "object",
2180
+ "properties": {
2181
+ "actualInstance": {
2182
+ "type": "object"
2183
+ },
2184
+ "isNullable": {
2185
+ "type": "boolean"
2186
+ },
2187
+ "schemaType": {
2188
+ "type": "string"
2189
+ }
2190
+ }
2191
+ },
2192
+ "sanityCreateMemory": {
2193
+ "type": "object",
2194
+ "properties": {
2195
+ "sanityType": {
2196
+ "enum": [
2197
+ "memory.image",
2198
+ "memory.video"
2199
+ ],
2200
+ "type": "string",
2201
+ "default": "memory.image"
2202
+ },
2203
+ "filename": {
2204
+ "type": "string"
2205
+ },
2206
+ "mediaUrl": {
2207
+ "type": "string"
2208
+ },
2209
+ "additionalProperties": {
2210
+ "type": "object",
2211
+ "additionalProperties": {
2212
+ "type": "object"
2213
+ }
2214
+ }
2215
+ }
2216
+ },
2217
+ "sanityEventFeedbackInner": {
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "sanityType": {
2221
+ "enum": [
2222
+ "response"
2223
+ ],
2224
+ "type": "string",
2225
+ "default": "response"
2226
+ },
2227
+ "comment": {
2228
+ "type": "string"
2229
+ },
2230
+ "foodAndDrinkRating": {
2231
+ "type": "number",
2232
+ "format": "double"
2233
+ },
2234
+ "locationRating": {
2235
+ "type": "number",
2236
+ "format": "double"
2237
+ },
2238
+ "organizationRating": {
2239
+ "type": "number",
2240
+ "format": "double"
2241
+ },
2242
+ "overallRating": {
2243
+ "type": "number",
2244
+ "format": "double"
2245
+ },
2246
+ "sanityKey": {
2247
+ "type": "string"
2248
+ }
2249
+ }
2250
+ },
2251
+ "sanityEventMemoriesInner": {
2252
+ "type": "object",
2253
+ "properties": {
2254
+ "actualInstance": {
2255
+ "type": "object"
2256
+ },
2257
+ "isNullable": {
2258
+ "type": "boolean"
2259
+ },
2260
+ "schemaType": {
2261
+ "type": "string"
2262
+ }
2263
+ }
2264
+ },
2265
+ "sanityImageAssetReference": {
2266
+ "type": "object",
2267
+ "properties": {
2268
+ "sanityType": {
2269
+ "enum": [
2270
+ "reference"
2271
+ ],
2272
+ "type": "string",
2273
+ "default": "reference"
2274
+ },
2275
+ "sanityRef": {
2276
+ "type": "string"
2277
+ },
2278
+ "sanityWeak": {
2279
+ "type": "boolean"
2280
+ }
2281
+ }
2282
+ },
2283
+ "sanityImageCrop": {
2284
+ "type": "object",
2285
+ "properties": {
2286
+ "sanityType": {
2287
+ "enum": [
2288
+ "sanity.imageCrop"
2289
+ ],
2290
+ "type": "string",
2291
+ "default": "sanity.imageCrop"
2292
+ },
2293
+ "bottom": {
2294
+ "type": "number",
2295
+ "format": "double"
2296
+ },
2297
+ "left": {
2298
+ "type": "number",
2299
+ "format": "double"
2300
+ },
2301
+ "right": {
2302
+ "type": "number",
2303
+ "format": "double"
2304
+ },
2305
+ "top": {
2306
+ "type": "number",
2307
+ "format": "double"
2308
+ }
2309
+ }
2310
+ },
2311
+ "sanityImageHotspot": {
2312
+ "type": "object",
2313
+ "properties": {
2314
+ "sanityType": {
2315
+ "enum": [
2316
+ "sanity.imageHotspot"
2317
+ ],
2318
+ "type": "string",
2319
+ "default": "sanity.imageHotspot"
2320
+ },
2321
+ "height": {
2322
+ "type": "number",
2323
+ "format": "double"
2324
+ },
2325
+ "width": {
2326
+ "type": "number",
2327
+ "format": "double"
2328
+ },
2329
+ "x": {
2330
+ "type": "number",
2331
+ "format": "double"
2332
+ },
2333
+ "y": {
2334
+ "type": "number",
2335
+ "format": "double"
2336
+ }
2337
+ }
2338
+ },
2339
+ "sanityOrderEmployee": {
2340
+ "type": "object",
2341
+ "properties": {
2342
+ "sanityType": {
2343
+ "enum": [
2344
+ "employee"
2345
+ ],
2346
+ "type": "string",
2347
+ "default": "employee"
2348
+ },
2349
+ "email": {
2350
+ "type": "string"
2351
+ },
2352
+ "image": {
2353
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsProjectsInnerTestimonialsInnerCustomerLogo"
2354
+ },
2355
+ "name": {
2356
+ "type": "string"
2357
+ },
2358
+ "sanityId": {
2359
+ "type": "string"
2360
+ },
2361
+ "slug": {
2362
+ "$ref": "#/components/schemas/slug"
2363
+ },
2364
+ "tags": {
2365
+ "type": "array",
2366
+ "items": {
2367
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsProjectsInnerTechnologiesInnerParent"
2368
+ }
2369
+ },
2370
+ "telephone": {
2371
+ "type": "string"
2372
+ }
2373
+ }
2374
+ },
2375
+ "sanityTechnologyWithRelationsArticlesInnerMedia": {
2376
+ "type": "object",
2377
+ "properties": {
2378
+ "actualInstance": {
2379
+ "type": "object"
2380
+ },
2381
+ "isNullable": {
2382
+ "type": "boolean"
2383
+ },
2384
+ "schemaType": {
2385
+ "type": "string"
2386
+ }
2387
+ }
2388
+ },
2389
+ "sanityTechnologyWithRelationsProjectsInnerTechnologiesInnerParent": {
2390
+ "type": "object",
2391
+ "properties": {
2392
+ "sanityType": {
2393
+ "enum": [
2394
+ "tag"
2395
+ ],
2396
+ "type": "string",
2397
+ "default": "tag"
2398
+ },
2399
+ "name": {
2400
+ "type": "string"
2401
+ },
2402
+ "sanityId": {
2403
+ "type": "string"
2404
+ },
2405
+ "slug": {
2406
+ "$ref": "#/components/schemas/slug"
2407
+ }
2408
+ }
2409
+ },
2410
+ "sanityTechnologyWithRelationsProjectsInnerTestimonialsInnerCustomerLogo": {
2411
+ "type": "object",
2412
+ "properties": {
2413
+ "sanityType": {
2414
+ "enum": [
2415
+ "image"
2416
+ ],
2417
+ "type": "string",
2418
+ "default": "image"
2419
+ },
2420
+ "asset": {
2421
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
2422
+ }
2423
+ }
2424
+ },
2425
+ "sanityTvCategoryDashboardsInnerBackgroundImageAsset": {
2426
+ "type": "object",
2427
+ "properties": {
2428
+ "sanityType": {
2429
+ "enum": [
2430
+ "sanity.imageAsset"
2431
+ ],
2432
+ "type": "string",
2433
+ "default": "sanity.imageAsset"
2434
+ },
2435
+ "mimeType": {
2436
+ "type": "string"
2437
+ },
2438
+ "originalFilename": {
2439
+ "type": "string"
2440
+ },
2441
+ "sanityId": {
2442
+ "type": "string"
2443
+ },
2444
+ "url": {
2445
+ "type": "string"
2446
+ }
2447
+ }
2448
+ },
2449
+ "slug": {
2450
+ "type": "object",
2451
+ "properties": {
2452
+ "sanityType": {
2453
+ "enum": [
2454
+ "slug"
2455
+ ],
2456
+ "type": "string",
2457
+ "default": "slug"
2458
+ },
2459
+ "current": {
2460
+ "type": "string"
2461
+ },
2462
+ "source": {
2463
+ "type": "string"
2464
+ }
2465
+ }
2466
+ },
2467
+ "tag": {
2468
+ "type": "object",
2469
+ "properties": {
2470
+ "username": {
2471
+ "type": "string"
2472
+ },
2473
+ "x": {
2474
+ "type": "number",
2475
+ "format": "float"
2476
+ },
2477
+ "y": {
2478
+ "type": "number",
2479
+ "format": "float"
2480
+ }
2481
+ }
2482
+ }
2483
+ },
2484
+ "securitySchemes": {
2485
+ "Implicit": {
2486
+ "type": "oauth2",
2487
+ "flows": {
2488
+ "implicit": {
2489
+ "authorizationUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/authorize",
2490
+ "tokenUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/token",
2491
+ "refreshUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/token",
2492
+ "scopes": {
2493
+ "api://096d39ef-7b0b-4b72-82ea-7064c15ec318/.default": "Default function scope"
2494
+ }
2495
+ }
2496
+ }
2497
+ }
2498
+ }
2499
+ }
2500
+ }