@snokam/mcp-api 0.193.0 → 0.193.2

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,3390 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Employees API",
5
+ "description": "Employee management service",
6
+ "version": "v1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://employees.api.snokam.no"
11
+ }
12
+ ],
13
+ "paths": {
14
+ "/v1.0/cvs": {
15
+ "get": {
16
+ "tags": [
17
+ "CV"
18
+ ],
19
+ "summary": "Gets CV data for all consultants",
20
+ "description": "Retrieves CV data for all consultants from CvPartner, including technologies, roles, about, and CV text.",
21
+ "operationId": "GetEmployeesCv",
22
+ "responses": {
23
+ "200": {
24
+ "description": "List of consultant CV profiles retrieved successfully",
25
+ "content": {
26
+ "application/json": {
27
+ "schema": {
28
+ "type": "array",
29
+ "items": {
30
+ "$ref": "#/components/schemas/consultantCv"
31
+ }
32
+ }
33
+ }
34
+ },
35
+ "x-ms-summary": "Success"
36
+ },
37
+ "401": {
38
+ "description": "User is not authorized",
39
+ "x-ms-summary": "Unauthorized"
40
+ }
41
+ },
42
+ "security": [
43
+ {
44
+ "Implicit": [
45
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
46
+ ]
47
+ },
48
+ {
49
+ "ApiKey": []
50
+ }
51
+ ]
52
+ }
53
+ },
54
+ "/v1.0/presentations": {
55
+ "get": {
56
+ "tags": [
57
+ "CV"
58
+ ],
59
+ "summary": "Gets all presentations held by consultants",
60
+ "description": "Aggregates the presentations listed across all consultant CVs in CvPartner, including the speaker for each presentation. Public endpoint used by the snokam.no/presentasjoner page.",
61
+ "operationId": "GetPresentations",
62
+ "responses": {
63
+ "200": {
64
+ "description": "List of presentations retrieved successfully",
65
+ "content": {
66
+ "application/json": {
67
+ "schema": {
68
+ "type": "array",
69
+ "items": {
70
+ "$ref": "#/components/schemas/consultantPresentation"
71
+ }
72
+ }
73
+ }
74
+ },
75
+ "x-ms-summary": "Success"
76
+ }
77
+ }
78
+ }
79
+ },
80
+ "/v1.0/cvs/my-cv": {
81
+ "get": {
82
+ "tags": [
83
+ "CV"
84
+ ],
85
+ "summary": "Gets CV data for the authenticated user",
86
+ "description": "Retrieves CV data for the currently authenticated consultant from CvPartner.",
87
+ "operationId": "GetMyCv",
88
+ "responses": {
89
+ "200": {
90
+ "description": "Authenticated user's CV profile retrieved successfully",
91
+ "content": {
92
+ "application/json": {
93
+ "schema": {
94
+ "$ref": "#/components/schemas/consultantCv"
95
+ }
96
+ }
97
+ },
98
+ "x-ms-summary": "Success"
99
+ },
100
+ "401": {
101
+ "description": "User is not authorized",
102
+ "x-ms-summary": "Unauthorized"
103
+ },
104
+ "404": {
105
+ "description": "Employee not found in CvPartner",
106
+ "x-ms-summary": "Not Found"
107
+ }
108
+ },
109
+ "security": [
110
+ {
111
+ "Implicit": [
112
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
113
+ ]
114
+ },
115
+ {
116
+ "ApiKey": []
117
+ }
118
+ ]
119
+ }
120
+ },
121
+ "/v1.0/cvs/{slug}": {
122
+ "get": {
123
+ "tags": [
124
+ "CV"
125
+ ],
126
+ "summary": "Gets CV data for a specific employee by slug",
127
+ "description": "Retrieves CV data for a specific consultant from CvPartner by their Sanity slug (e.g. 'hakon-grotte').",
128
+ "operationId": "GetEmployeeCvBySlug",
129
+ "parameters": [
130
+ {
131
+ "name": "slug",
132
+ "in": "path",
133
+ "required": true,
134
+ "schema": {
135
+ "type": "string"
136
+ }
137
+ }
138
+ ],
139
+ "responses": {
140
+ "200": {
141
+ "description": "Payload of ConsultantCv",
142
+ "content": {
143
+ "application/json": {
144
+ "schema": {
145
+ "$ref": "#/components/schemas/consultantCv"
146
+ }
147
+ }
148
+ }
149
+ },
150
+ "404": {
151
+ "description": "No description"
152
+ }
153
+ },
154
+ "security": [
155
+ {
156
+ "Implicit": [
157
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
158
+ ]
159
+ },
160
+ {
161
+ "ApiKey": []
162
+ }
163
+ ]
164
+ }
165
+ },
166
+ "/v1.0/me/cv/pdf": {
167
+ "get": {
168
+ "tags": [
169
+ "CV"
170
+ ],
171
+ "summary": "Downloads the authenticated user's CV as PDF",
172
+ "operationId": "GetMyCvPdf",
173
+ "responses": {
174
+ "200": {
175
+ "description": "Payload of Array of Byte",
176
+ "content": {
177
+ "application/pdf": {
178
+ "schema": {
179
+ "type": "string",
180
+ "format": "binary"
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "401": {
186
+ "description": "No description"
187
+ },
188
+ "404": {
189
+ "description": "No description"
190
+ }
191
+ },
192
+ "security": [
193
+ {
194
+ "Implicit": [
195
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
196
+ ]
197
+ },
198
+ {
199
+ "ApiKey": []
200
+ }
201
+ ]
202
+ }
203
+ },
204
+ "/v1.0/cvs/{slug}/pdf": {
205
+ "get": {
206
+ "tags": [
207
+ "CV"
208
+ ],
209
+ "summary": "Downloads a specific consultant's CV as PDF by slug",
210
+ "operationId": "GetEmployeeCvPdfBySlug",
211
+ "parameters": [
212
+ {
213
+ "name": "slug",
214
+ "in": "path",
215
+ "required": true,
216
+ "schema": {
217
+ "type": "string"
218
+ }
219
+ }
220
+ ],
221
+ "responses": {
222
+ "200": {
223
+ "description": "Payload of Array of Byte",
224
+ "content": {
225
+ "application/pdf": {
226
+ "schema": {
227
+ "type": "string",
228
+ "format": "binary"
229
+ }
230
+ }
231
+ }
232
+ },
233
+ "401": {
234
+ "description": "No description"
235
+ },
236
+ "404": {
237
+ "description": "No description"
238
+ }
239
+ },
240
+ "security": [
241
+ {
242
+ "Implicit": [
243
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
244
+ ]
245
+ },
246
+ {
247
+ "ApiKey": []
248
+ }
249
+ ]
250
+ }
251
+ },
252
+ "/v1.0/proposals": {
253
+ "post": {
254
+ "tags": [
255
+ "Proposals"
256
+ ],
257
+ "summary": "Create a Flowcase proposal",
258
+ "operationId": "CreateProposal",
259
+ "requestBody": {
260
+ "content": {
261
+ "application/json": {
262
+ "schema": {
263
+ "$ref": "#/components/schemas/createProposalRequest"
264
+ }
265
+ }
266
+ },
267
+ "required": true
268
+ },
269
+ "responses": {
270
+ "201": {
271
+ "description": "Payload of FlowcaseProposal",
272
+ "content": {
273
+ "application/json": {
274
+ "schema": {
275
+ "$ref": "#/components/schemas/flowcaseProposal"
276
+ }
277
+ }
278
+ }
279
+ }
280
+ },
281
+ "security": [
282
+ {
283
+ "Implicit": [
284
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
285
+ ]
286
+ },
287
+ {
288
+ "ApiKey": []
289
+ }
290
+ ]
291
+ }
292
+ },
293
+ "/v1.0/proposals/{proposalId}": {
294
+ "get": {
295
+ "tags": [
296
+ "Proposals"
297
+ ],
298
+ "summary": "Get a Flowcase proposal by id",
299
+ "operationId": "GetProposal",
300
+ "parameters": [
301
+ {
302
+ "name": "proposalId",
303
+ "in": "path",
304
+ "required": true,
305
+ "schema": {
306
+ "type": "string"
307
+ }
308
+ }
309
+ ],
310
+ "responses": {
311
+ "200": {
312
+ "description": "Payload of FlowcaseProposal",
313
+ "content": {
314
+ "application/json": {
315
+ "schema": {
316
+ "$ref": "#/components/schemas/flowcaseProposal"
317
+ }
318
+ }
319
+ }
320
+ },
321
+ "404": {
322
+ "description": "No description"
323
+ }
324
+ },
325
+ "security": [
326
+ {
327
+ "Implicit": [
328
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
329
+ ]
330
+ },
331
+ {
332
+ "ApiKey": []
333
+ }
334
+ ]
335
+ },
336
+ "patch": {
337
+ "tags": [
338
+ "Proposals"
339
+ ],
340
+ "summary": "Update / patch a Flowcase proposal",
341
+ "operationId": "UpdateProposal",
342
+ "parameters": [
343
+ {
344
+ "name": "proposalId",
345
+ "in": "path",
346
+ "required": true,
347
+ "schema": {
348
+ "type": "string"
349
+ }
350
+ }
351
+ ],
352
+ "requestBody": {
353
+ "content": {
354
+ "application/json": {
355
+ "schema": {
356
+ "$ref": "#/components/schemas/updateProposalRequest"
357
+ }
358
+ }
359
+ },
360
+ "required": true
361
+ },
362
+ "responses": {
363
+ "200": {
364
+ "description": "Payload of FlowcaseProposal",
365
+ "content": {
366
+ "application/json": {
367
+ "schema": {
368
+ "$ref": "#/components/schemas/flowcaseProposal"
369
+ }
370
+ }
371
+ }
372
+ }
373
+ },
374
+ "security": [
375
+ {
376
+ "Implicit": [
377
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
378
+ ]
379
+ },
380
+ {
381
+ "ApiKey": []
382
+ }
383
+ ]
384
+ },
385
+ "delete": {
386
+ "tags": [
387
+ "Proposals"
388
+ ],
389
+ "summary": "Archive a proposal — Flowcase has no hard-delete; we PUT archived=true.",
390
+ "operationId": "ArchiveProposal",
391
+ "parameters": [
392
+ {
393
+ "name": "proposalId",
394
+ "in": "path",
395
+ "required": true,
396
+ "schema": {
397
+ "type": "string"
398
+ }
399
+ }
400
+ ],
401
+ "responses": {
402
+ "200": {
403
+ "description": "Payload of FlowcaseProposal",
404
+ "content": {
405
+ "application/json": {
406
+ "schema": {
407
+ "$ref": "#/components/schemas/flowcaseProposal"
408
+ }
409
+ }
410
+ }
411
+ }
412
+ },
413
+ "security": [
414
+ {
415
+ "Implicit": [
416
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
417
+ ]
418
+ },
419
+ {
420
+ "ApiKey": []
421
+ }
422
+ ]
423
+ }
424
+ },
425
+ "/v1.0/proposals/{proposalId}/cvs": {
426
+ "post": {
427
+ "tags": [
428
+ "Proposals"
429
+ ],
430
+ "summary": "Attach a consultant's CV to a proposal; Flowcase copies the default CV into an editable tailored CV.",
431
+ "operationId": "AttachCvToProposal",
432
+ "parameters": [
433
+ {
434
+ "name": "proposalId",
435
+ "in": "path",
436
+ "required": true,
437
+ "schema": {
438
+ "type": "string"
439
+ }
440
+ }
441
+ ],
442
+ "requestBody": {
443
+ "content": {
444
+ "application/json": {
445
+ "schema": {
446
+ "$ref": "#/components/schemas/addCvToProposalRequest"
447
+ }
448
+ }
449
+ },
450
+ "required": true
451
+ },
452
+ "responses": {
453
+ "201": {
454
+ "description": "Payload of FlowcaseTailoredCv",
455
+ "content": {
456
+ "application/json": {
457
+ "schema": {
458
+ "$ref": "#/components/schemas/flowcaseTailoredCv"
459
+ }
460
+ }
461
+ }
462
+ }
463
+ },
464
+ "security": [
465
+ {
466
+ "Implicit": [
467
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
468
+ ]
469
+ },
470
+ {
471
+ "ApiKey": []
472
+ }
473
+ ]
474
+ }
475
+ },
476
+ "/v1.0/proposals/{proposalId}/cvs/{tailoredCvId}": {
477
+ "delete": {
478
+ "tags": [
479
+ "Proposals"
480
+ ],
481
+ "summary": "Remove a tailored CV from a proposal.",
482
+ "operationId": "DetachCvFromProposal",
483
+ "parameters": [
484
+ {
485
+ "name": "proposalId",
486
+ "in": "path",
487
+ "required": true,
488
+ "schema": {
489
+ "type": "string"
490
+ }
491
+ },
492
+ {
493
+ "name": "tailoredCvId",
494
+ "in": "path",
495
+ "required": true,
496
+ "schema": {
497
+ "type": "string"
498
+ }
499
+ }
500
+ ],
501
+ "responses": {
502
+ "204": {
503
+ "description": "No description"
504
+ }
505
+ },
506
+ "security": [
507
+ {
508
+ "Implicit": [
509
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
510
+ ]
511
+ },
512
+ {
513
+ "ApiKey": []
514
+ }
515
+ ]
516
+ }
517
+ },
518
+ "/v1.0/cvs/users/{userId}/{cvId}/pdf": {
519
+ "get": {
520
+ "tags": [
521
+ "Proposals"
522
+ ],
523
+ "summary": "Download any CV (including tailored CVs) as PDF by user_id + cv_id.",
524
+ "operationId": "DownloadTailoredCvPdf",
525
+ "parameters": [
526
+ {
527
+ "name": "userId",
528
+ "in": "path",
529
+ "required": true,
530
+ "schema": {
531
+ "type": "string"
532
+ }
533
+ },
534
+ {
535
+ "name": "cvId",
536
+ "in": "path",
537
+ "required": true,
538
+ "schema": {
539
+ "type": "string"
540
+ }
541
+ }
542
+ ],
543
+ "responses": {
544
+ "200": {
545
+ "description": "Payload of Array of Byte",
546
+ "content": {
547
+ "application/pdf": {
548
+ "schema": {
549
+ "type": "string",
550
+ "format": "binary"
551
+ }
552
+ }
553
+ }
554
+ },
555
+ "404": {
556
+ "description": "No description"
557
+ }
558
+ },
559
+ "security": [
560
+ {
561
+ "Implicit": [
562
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
563
+ ]
564
+ },
565
+ {
566
+ "ApiKey": []
567
+ }
568
+ ]
569
+ }
570
+ },
571
+ "/v1.0/cvs/users/{userId}/{cvId}": {
572
+ "get": {
573
+ "tags": [
574
+ "Proposals"
575
+ ],
576
+ "summary": "Get any CV (including tailored CVs) as raw Flowcase JSON by user_id + cv_id.",
577
+ "operationId": "GetRawCv",
578
+ "parameters": [
579
+ {
580
+ "name": "userId",
581
+ "in": "path",
582
+ "required": true,
583
+ "schema": {
584
+ "type": "string"
585
+ }
586
+ },
587
+ {
588
+ "name": "cvId",
589
+ "in": "path",
590
+ "required": true,
591
+ "schema": {
592
+ "type": "string"
593
+ }
594
+ }
595
+ ],
596
+ "responses": {
597
+ "200": {
598
+ "description": "Payload of Object",
599
+ "content": {
600
+ "application/json": {
601
+ "schema": {
602
+ "type": "object"
603
+ }
604
+ }
605
+ }
606
+ },
607
+ "404": {
608
+ "description": "No description"
609
+ }
610
+ },
611
+ "security": [
612
+ {
613
+ "Implicit": [
614
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
615
+ ]
616
+ },
617
+ {
618
+ "ApiKey": []
619
+ }
620
+ ]
621
+ }
622
+ },
623
+ "/v1.0/cvs/users/{userId}/{cvId}/sections/{sectionType}/{sectionId}": {
624
+ "put": {
625
+ "tags": [
626
+ "CV"
627
+ ],
628
+ "summary": "Edit a single CV section (PUT /v3/cvs/{user}/{cv}/{section_type}/{section_id}).",
629
+ "operationId": "UpdateCvSection",
630
+ "parameters": [
631
+ {
632
+ "name": "userId",
633
+ "in": "path",
634
+ "required": true,
635
+ "schema": {
636
+ "type": "string"
637
+ }
638
+ },
639
+ {
640
+ "name": "cvId",
641
+ "in": "path",
642
+ "required": true,
643
+ "schema": {
644
+ "type": "string"
645
+ }
646
+ },
647
+ {
648
+ "name": "sectionType",
649
+ "in": "path",
650
+ "required": true,
651
+ "schema": {
652
+ "type": "string"
653
+ }
654
+ },
655
+ {
656
+ "name": "sectionId",
657
+ "in": "path",
658
+ "required": true,
659
+ "schema": {
660
+ "type": "string"
661
+ }
662
+ }
663
+ ],
664
+ "requestBody": {
665
+ "description": "Section body — shape depends on section_type (see Flowcase CV API).",
666
+ "content": {
667
+ "application/json": {
668
+ "schema": {
669
+ "type": "object"
670
+ }
671
+ }
672
+ },
673
+ "required": true
674
+ },
675
+ "responses": {
676
+ "204": {
677
+ "description": "No description"
678
+ }
679
+ },
680
+ "security": [
681
+ {
682
+ "Implicit": [
683
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
684
+ ]
685
+ },
686
+ {
687
+ "ApiKey": []
688
+ }
689
+ ]
690
+ }
691
+ },
692
+ "/v1.0/public/{slugOrId}/cv": {
693
+ "get": {
694
+ "tags": [
695
+ "Public"
696
+ ],
697
+ "summary": "Gets the full CV for a public employee by slug or id",
698
+ "description": "Resolves the employee by Sanity slug or id and returns the verbatim CvPartner (Flowcase) CV payload, including project experiences, recommendations and presentations.",
699
+ "operationId": "GetPublicEmployeeCv",
700
+ "parameters": [
701
+ {
702
+ "name": "slugOrId",
703
+ "in": "path",
704
+ "description": "The slug or id of the public employee whose CV to retrieve",
705
+ "required": true,
706
+ "schema": {
707
+ "type": "string"
708
+ },
709
+ "x-ms-summary": "The slug or id of the employee"
710
+ }
711
+ ],
712
+ "responses": {
713
+ "200": {
714
+ "description": "Raw CvPartner CV payload retrieved successfully",
715
+ "content": {
716
+ "application/json": {
717
+ "schema": {
718
+ "type": "object"
719
+ }
720
+ }
721
+ },
722
+ "x-ms-summary": "Success"
723
+ },
724
+ "404": {
725
+ "description": "Employee or CV not found",
726
+ "x-ms-summary": "Not Found"
727
+ }
728
+ }
729
+ }
730
+ },
731
+ "/v1.0/protected": {
732
+ "get": {
733
+ "tags": [
734
+ "Protected"
735
+ ],
736
+ "summary": "Gets all protected employees",
737
+ "description": "Retrieves a list of all protected employees.",
738
+ "operationId": "GetEmployeesProtected",
739
+ "parameters": [
740
+ {
741
+ "name": "includeBots",
742
+ "in": "query",
743
+ "description": "Include AI / bot employees (Olaf et al.). Defaults to false.",
744
+ "schema": {
745
+ "type": "boolean"
746
+ },
747
+ "x-ms-summary": "Include bots"
748
+ },
749
+ {
750
+ "name": "includeExternals",
751
+ "in": "query",
752
+ "description": "Include external employees (contractors). Defaults to false.",
753
+ "schema": {
754
+ "type": "boolean"
755
+ },
756
+ "x-ms-summary": "Include externals"
757
+ }
758
+ ],
759
+ "responses": {
760
+ "200": {
761
+ "description": "List of protected employees retrieved successfully",
762
+ "content": {
763
+ "application/json": {
764
+ "schema": {
765
+ "type": "array",
766
+ "items": {
767
+ "$ref": "#/components/schemas/protectedEmployee"
768
+ }
769
+ }
770
+ }
771
+ },
772
+ "x-ms-summary": "Success"
773
+ },
774
+ "401": {
775
+ "description": "User is not authorized",
776
+ "x-ms-summary": "Unauthorized"
777
+ }
778
+ },
779
+ "security": [
780
+ {
781
+ "Implicit": [
782
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
783
+ ]
784
+ },
785
+ {
786
+ "ApiKey": []
787
+ }
788
+ ]
789
+ }
790
+ },
791
+ "/v1.0/protected/me": {
792
+ "get": {
793
+ "tags": [
794
+ "Protected"
795
+ ],
796
+ "summary": "Gets the authenticated user's protected employee data",
797
+ "description": "Retrieves the protected employee data for the authenticated user.",
798
+ "operationId": "GetMeProtected",
799
+ "responses": {
800
+ "200": {
801
+ "description": "Authenticated user's protected employee data retrieved successfully",
802
+ "content": {
803
+ "application/json": {
804
+ "schema": {
805
+ "$ref": "#/components/schemas/protectedEmployee"
806
+ }
807
+ }
808
+ },
809
+ "x-ms-summary": "Success"
810
+ },
811
+ "401": {
812
+ "description": "User is not authorized",
813
+ "x-ms-summary": "Unauthorized"
814
+ },
815
+ "404": {
816
+ "description": "Employee not found",
817
+ "x-ms-summary": "Not Found"
818
+ }
819
+ },
820
+ "security": [
821
+ {
822
+ "Implicit": [
823
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
824
+ ]
825
+ },
826
+ {
827
+ "ApiKey": []
828
+ }
829
+ ]
830
+ },
831
+ "put": {
832
+ "tags": [
833
+ "Protected"
834
+ ],
835
+ "summary": "Updates the authenticated user's protected employee data",
836
+ "description": "Updates the protected employee data for the authenticated user.",
837
+ "operationId": "PatchMeProtected",
838
+ "requestBody": {
839
+ "description": "Employee data to update",
840
+ "content": {
841
+ "application/json": {
842
+ "schema": {
843
+ "$ref": "#/components/schemas/patchEmployee"
844
+ }
845
+ }
846
+ },
847
+ "required": true
848
+ },
849
+ "responses": {
850
+ "200": {
851
+ "description": "Authenticated user's protected employee data updated successfully",
852
+ "content": {
853
+ "application/json": {
854
+ "schema": {
855
+ "$ref": "#/components/schemas/protectedEmployee"
856
+ }
857
+ }
858
+ },
859
+ "x-ms-summary": "Success"
860
+ },
861
+ "401": {
862
+ "description": "User is not authorized",
863
+ "x-ms-summary": "Unauthorized"
864
+ }
865
+ },
866
+ "security": [
867
+ {
868
+ "Implicit": [
869
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
870
+ ]
871
+ },
872
+ {
873
+ "ApiKey": []
874
+ }
875
+ ]
876
+ }
877
+ },
878
+ "/v1.0/protected/me/photo": {
879
+ "post": {
880
+ "tags": [
881
+ "Protected"
882
+ ],
883
+ "summary": "Uploads the authenticated user's profile photo",
884
+ "description": "Stores the photo and a blurred variant on the employee. Body is the raw image bytes.",
885
+ "operationId": "SetMyPhoto",
886
+ "requestBody": {
887
+ "description": "Raw image bytes",
888
+ "content": {
889
+ "application/octet-stream": {
890
+ "schema": {
891
+ "type": "string",
892
+ "format": "binary"
893
+ }
894
+ }
895
+ },
896
+ "required": true
897
+ },
898
+ "responses": {
899
+ "200": {
900
+ "description": "Photo updated successfully",
901
+ "content": {
902
+ "application/json": {
903
+ "schema": {
904
+ "$ref": "#/components/schemas/protectedEmployee"
905
+ }
906
+ }
907
+ },
908
+ "x-ms-summary": "Success"
909
+ },
910
+ "401": {
911
+ "description": "User is not authorized",
912
+ "x-ms-summary": "Unauthorized"
913
+ }
914
+ },
915
+ "security": [
916
+ {
917
+ "Implicit": [
918
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
919
+ ]
920
+ },
921
+ {
922
+ "ApiKey": []
923
+ }
924
+ ]
925
+ }
926
+ },
927
+ "/v1.0/protected/{id}": {
928
+ "put": {
929
+ "tags": [
930
+ "Protected"
931
+ ],
932
+ "summary": "Updates protected employee data by id or email",
933
+ "description": "Updates protected employee data for a specified employee id or email.",
934
+ "operationId": "PatchEmployeeProtected",
935
+ "parameters": [
936
+ {
937
+ "name": "id",
938
+ "in": "path",
939
+ "description": "Sanity id or employee email",
940
+ "required": true,
941
+ "schema": {
942
+ "type": "string"
943
+ },
944
+ "x-ms-summary": "The employee id or email"
945
+ }
946
+ ],
947
+ "requestBody": {
948
+ "description": "Employee data to update",
949
+ "content": {
950
+ "application/json": {
951
+ "schema": {
952
+ "$ref": "#/components/schemas/patchEmployee"
953
+ }
954
+ }
955
+ },
956
+ "required": true
957
+ },
958
+ "responses": {
959
+ "200": {
960
+ "description": "Protected employee data updated successfully",
961
+ "content": {
962
+ "application/json": {
963
+ "schema": {
964
+ "$ref": "#/components/schemas/protectedEmployee"
965
+ }
966
+ }
967
+ },
968
+ "x-ms-summary": "Success"
969
+ },
970
+ "401": {
971
+ "description": "User is not authorized",
972
+ "x-ms-summary": "Unauthorized"
973
+ }
974
+ },
975
+ "security": [
976
+ {
977
+ "Implicit": [
978
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
979
+ ]
980
+ },
981
+ {
982
+ "ApiKey": []
983
+ }
984
+ ]
985
+ },
986
+ "get": {
987
+ "tags": [
988
+ "Protected"
989
+ ],
990
+ "summary": "Gets a protected employee by ID",
991
+ "description": "Retrieves a protected employee by their ID.",
992
+ "operationId": "GetEmployeeProtected",
993
+ "parameters": [
994
+ {
995
+ "name": "id",
996
+ "in": "path",
997
+ "description": "The ID of the protected employee to retrieve",
998
+ "required": true,
999
+ "schema": {
1000
+ "type": "string"
1001
+ },
1002
+ "x-ms-summary": "The ID of the employee"
1003
+ }
1004
+ ],
1005
+ "responses": {
1006
+ "200": {
1007
+ "description": "Protected employee retrieved successfully",
1008
+ "content": {
1009
+ "application/json": {
1010
+ "schema": {
1011
+ "$ref": "#/components/schemas/protectedEmployee"
1012
+ }
1013
+ }
1014
+ },
1015
+ "x-ms-summary": "Success"
1016
+ },
1017
+ "401": {
1018
+ "description": "User is not authorized",
1019
+ "x-ms-summary": "Unauthorized"
1020
+ },
1021
+ "404": {
1022
+ "description": "Employee not found",
1023
+ "x-ms-summary": "Not Found"
1024
+ }
1025
+ },
1026
+ "security": [
1027
+ {
1028
+ "Implicit": [
1029
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1030
+ ]
1031
+ },
1032
+ {
1033
+ "ApiKey": []
1034
+ }
1035
+ ]
1036
+ }
1037
+ },
1038
+ "/v1.0/protected/{id}/photo": {
1039
+ "post": {
1040
+ "tags": [
1041
+ "Protected"
1042
+ ],
1043
+ "summary": "Uploads a profile photo for an employee (admin)",
1044
+ "description": "Stores the photo and a blurred variant on the given employee. Body is the raw image bytes.",
1045
+ "operationId": "SetEmployeePhoto",
1046
+ "parameters": [
1047
+ {
1048
+ "name": "id",
1049
+ "in": "path",
1050
+ "required": true,
1051
+ "schema": {
1052
+ "type": "string"
1053
+ },
1054
+ "x-ms-summary": "The employee Sanity id"
1055
+ }
1056
+ ],
1057
+ "requestBody": {
1058
+ "description": "Raw image bytes",
1059
+ "content": {
1060
+ "application/octet-stream": {
1061
+ "schema": {
1062
+ "type": "string",
1063
+ "format": "binary"
1064
+ }
1065
+ }
1066
+ },
1067
+ "required": true
1068
+ },
1069
+ "responses": {
1070
+ "200": {
1071
+ "description": "Photo updated successfully",
1072
+ "content": {
1073
+ "application/json": {
1074
+ "schema": {
1075
+ "$ref": "#/components/schemas/protectedEmployee"
1076
+ }
1077
+ }
1078
+ },
1079
+ "x-ms-summary": "Success"
1080
+ },
1081
+ "401": {
1082
+ "description": "User is not authorized",
1083
+ "x-ms-summary": "Unauthorized"
1084
+ }
1085
+ },
1086
+ "security": [
1087
+ {
1088
+ "Implicit": [
1089
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1090
+ ]
1091
+ },
1092
+ {
1093
+ "ApiKey": []
1094
+ }
1095
+ ]
1096
+ }
1097
+ },
1098
+ "/v1.0/protected/me/gadgetbudget": {
1099
+ "get": {
1100
+ "tags": [
1101
+ "Protected"
1102
+ ],
1103
+ "summary": "Gets the authenticated user's gadget budget",
1104
+ "description": "Retrieves the gadget budget for the authenticated user.",
1105
+ "operationId": "GetMyGadgetBudget",
1106
+ "responses": {
1107
+ "200": {
1108
+ "description": "Authenticated user's gadget budget retrieved successfully",
1109
+ "content": {
1110
+ "application/json": {
1111
+ "schema": {
1112
+ "$ref": "#/components/schemas/gadgetBudget"
1113
+ }
1114
+ }
1115
+ },
1116
+ "x-ms-summary": "Success"
1117
+ },
1118
+ "401": {
1119
+ "description": "User is not authorized",
1120
+ "x-ms-summary": "Unauthorized"
1121
+ }
1122
+ },
1123
+ "security": [
1124
+ {
1125
+ "Implicit": [
1126
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1127
+ ]
1128
+ },
1129
+ {
1130
+ "ApiKey": []
1131
+ }
1132
+ ]
1133
+ }
1134
+ },
1135
+ "/v1.0/public/{slugOrId}": {
1136
+ "get": {
1137
+ "tags": [
1138
+ "Public"
1139
+ ],
1140
+ "summary": "Gets a public employee by slug or id",
1141
+ "description": "Retrieves a public employee by their slug or id.",
1142
+ "operationId": "GetEmployeePublic",
1143
+ "parameters": [
1144
+ {
1145
+ "name": "slugOrId",
1146
+ "in": "path",
1147
+ "description": "The slug or id of the public employee to retrieve",
1148
+ "required": true,
1149
+ "schema": {
1150
+ "type": "string"
1151
+ },
1152
+ "x-ms-summary": "The slug or id of the employee"
1153
+ }
1154
+ ],
1155
+ "responses": {
1156
+ "200": {
1157
+ "description": "Public employee retrieved successfully",
1158
+ "content": {
1159
+ "application/json": {
1160
+ "schema": {
1161
+ "$ref": "#/components/schemas/publicEmployee"
1162
+ }
1163
+ }
1164
+ },
1165
+ "x-ms-summary": "Success"
1166
+ },
1167
+ "404": {
1168
+ "description": "Employee not found",
1169
+ "x-ms-summary": "Not Found"
1170
+ }
1171
+ }
1172
+ }
1173
+ },
1174
+ "/v1.0/public": {
1175
+ "get": {
1176
+ "tags": [
1177
+ "Public"
1178
+ ],
1179
+ "summary": "Gets all public employees",
1180
+ "description": "Retrieves a list of all public employees.",
1181
+ "operationId": "GetEmployeesPublic",
1182
+ "responses": {
1183
+ "200": {
1184
+ "description": "List of public employees retrieved successfully",
1185
+ "content": {
1186
+ "application/json": {
1187
+ "schema": {
1188
+ "type": "array",
1189
+ "items": {
1190
+ "$ref": "#/components/schemas/publicEmployee"
1191
+ }
1192
+ }
1193
+ }
1194
+ },
1195
+ "x-ms-summary": "Success"
1196
+ }
1197
+ }
1198
+ }
1199
+ },
1200
+ "/v1.0/feedback": {
1201
+ "post": {
1202
+ "tags": [
1203
+ "Public"
1204
+ ],
1205
+ "summary": "Submit anonymous feedback",
1206
+ "description": "Allows anyone to send anonymous text feedback.",
1207
+ "operationId": "PostAnonymousFeedback",
1208
+ "requestBody": {
1209
+ "description": "Feedback payload",
1210
+ "content": {
1211
+ "application/json": {
1212
+ "schema": {
1213
+ "$ref": "#/components/schemas/feedback"
1214
+ }
1215
+ }
1216
+ },
1217
+ "required": true
1218
+ },
1219
+ "responses": {
1220
+ "200": {
1221
+ "description": "Feedback received",
1222
+ "x-ms-summary": "Success"
1223
+ },
1224
+ "400": {
1225
+ "description": "Invalid input",
1226
+ "x-ms-summary": "Bad Request"
1227
+ }
1228
+ }
1229
+ }
1230
+ }
1231
+ },
1232
+ "components": {
1233
+ "schemas": {
1234
+ "addCvToProposalRequest": {
1235
+ "type": "object",
1236
+ "properties": {
1237
+ "user_id": {
1238
+ "type": "string",
1239
+ "nullable": true
1240
+ },
1241
+ "cv_id": {
1242
+ "type": "string",
1243
+ "nullable": true
1244
+ }
1245
+ }
1246
+ },
1247
+ "commissionTierReference": {
1248
+ "type": "object",
1249
+ "properties": {
1250
+ "sanityType": {
1251
+ "enum": [
1252
+ "reference"
1253
+ ],
1254
+ "type": "string",
1255
+ "default": "reference"
1256
+ },
1257
+ "sanityRef": {
1258
+ "type": "string"
1259
+ },
1260
+ "sanityWeak": {
1261
+ "type": "boolean"
1262
+ }
1263
+ }
1264
+ },
1265
+ "componentBlocksInnerOneOfChildrenInner": {
1266
+ "type": "object",
1267
+ "properties": {
1268
+ "sanityType": {
1269
+ "enum": [
1270
+ "span"
1271
+ ],
1272
+ "type": "string",
1273
+ "default": "span"
1274
+ },
1275
+ "marks": {
1276
+ "type": "array",
1277
+ "items": {
1278
+ "type": "string"
1279
+ }
1280
+ },
1281
+ "sanityKey": {
1282
+ "type": "string"
1283
+ },
1284
+ "text": {
1285
+ "type": "string"
1286
+ }
1287
+ }
1288
+ },
1289
+ "componentBlocksInnerOneOfMarkDefsInner": {
1290
+ "type": "object",
1291
+ "properties": {
1292
+ "sanityType": {
1293
+ "enum": [
1294
+ "link"
1295
+ ],
1296
+ "type": "string",
1297
+ "default": "link"
1298
+ },
1299
+ "href": {
1300
+ "type": "string"
1301
+ },
1302
+ "sanityKey": {
1303
+ "type": "string"
1304
+ }
1305
+ }
1306
+ },
1307
+ "componentGalleryMediaInner": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "actualInstance": {
1311
+ "type": "object"
1312
+ },
1313
+ "isNullable": {
1314
+ "type": "boolean"
1315
+ },
1316
+ "schemaType": {
1317
+ "type": "string"
1318
+ }
1319
+ }
1320
+ },
1321
+ "consultantCv": {
1322
+ "type": "object",
1323
+ "properties": {
1324
+ "userId": {
1325
+ "type": "string",
1326
+ "nullable": true
1327
+ },
1328
+ "email": {
1329
+ "type": "string",
1330
+ "nullable": true
1331
+ },
1332
+ "name": {
1333
+ "type": "string",
1334
+ "nullable": true
1335
+ },
1336
+ "defaultCvId": {
1337
+ "type": "string",
1338
+ "nullable": true
1339
+ },
1340
+ "technologies": {
1341
+ "type": "array",
1342
+ "items": {
1343
+ "type": "string"
1344
+ },
1345
+ "nullable": true
1346
+ },
1347
+ "roles": {
1348
+ "type": "array",
1349
+ "items": {
1350
+ "type": "string"
1351
+ },
1352
+ "nullable": true
1353
+ },
1354
+ "yearsExperience": {
1355
+ "type": "integer",
1356
+ "format": "int32",
1357
+ "nullable": true
1358
+ },
1359
+ "about": {
1360
+ "type": "string",
1361
+ "nullable": true
1362
+ },
1363
+ "cvText": {
1364
+ "type": "string",
1365
+ "nullable": true
1366
+ },
1367
+ "projectExperiences": {
1368
+ "type": "array",
1369
+ "items": {
1370
+ "$ref": "#/components/schemas/consultantProjectExperience"
1371
+ },
1372
+ "nullable": true
1373
+ },
1374
+ "workExperiences": {
1375
+ "type": "array",
1376
+ "items": {
1377
+ "$ref": "#/components/schemas/consultantWorkExperience"
1378
+ },
1379
+ "nullable": true
1380
+ },
1381
+ "educations": {
1382
+ "type": "array",
1383
+ "items": {
1384
+ "$ref": "#/components/schemas/consultantEducation"
1385
+ },
1386
+ "nullable": true
1387
+ },
1388
+ "cvRoles": {
1389
+ "type": "array",
1390
+ "items": {
1391
+ "$ref": "#/components/schemas/consultantCvRole"
1392
+ },
1393
+ "nullable": true
1394
+ },
1395
+ "keyQualifications": {
1396
+ "type": "array",
1397
+ "items": {
1398
+ "$ref": "#/components/schemas/consultantKeyQualification"
1399
+ },
1400
+ "nullable": true
1401
+ }
1402
+ }
1403
+ },
1404
+ "consultantCvRole": {
1405
+ "type": "object",
1406
+ "properties": {
1407
+ "name": {
1408
+ "type": "string",
1409
+ "nullable": true
1410
+ },
1411
+ "longDescription": {
1412
+ "type": "string",
1413
+ "nullable": true
1414
+ },
1415
+ "tags": {
1416
+ "type": "array",
1417
+ "items": {
1418
+ "type": "string"
1419
+ },
1420
+ "nullable": true
1421
+ }
1422
+ }
1423
+ },
1424
+ "consultantEducation": {
1425
+ "type": "object",
1426
+ "properties": {
1427
+ "school": {
1428
+ "type": "string",
1429
+ "nullable": true
1430
+ },
1431
+ "degree": {
1432
+ "type": "string",
1433
+ "nullable": true
1434
+ },
1435
+ "description": {
1436
+ "type": "string",
1437
+ "nullable": true
1438
+ },
1439
+ "yearFrom": {
1440
+ "type": "integer",
1441
+ "format": "int32",
1442
+ "nullable": true
1443
+ },
1444
+ "yearTo": {
1445
+ "type": "integer",
1446
+ "format": "int32",
1447
+ "nullable": true
1448
+ }
1449
+ }
1450
+ },
1451
+ "consultantKeyQualification": {
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "label": {
1455
+ "type": "string",
1456
+ "nullable": true
1457
+ },
1458
+ "description": {
1459
+ "type": "string",
1460
+ "nullable": true
1461
+ },
1462
+ "tags": {
1463
+ "type": "array",
1464
+ "items": {
1465
+ "type": "string"
1466
+ },
1467
+ "nullable": true
1468
+ }
1469
+ }
1470
+ },
1471
+ "consultantPresentation": {
1472
+ "type": "object",
1473
+ "properties": {
1474
+ "id": {
1475
+ "type": "string",
1476
+ "nullable": true
1477
+ },
1478
+ "title": {
1479
+ "type": "string",
1480
+ "nullable": true
1481
+ },
1482
+ "description": {
1483
+ "type": "string",
1484
+ "nullable": true
1485
+ },
1486
+ "longDescription": {
1487
+ "type": "string",
1488
+ "nullable": true
1489
+ },
1490
+ "year": {
1491
+ "type": "string",
1492
+ "nullable": true
1493
+ },
1494
+ "month": {
1495
+ "type": "string",
1496
+ "nullable": true
1497
+ },
1498
+ "speaker": {
1499
+ "$ref": "#/components/schemas/presentationSpeaker"
1500
+ }
1501
+ }
1502
+ },
1503
+ "consultantProjectExperience": {
1504
+ "type": "object",
1505
+ "properties": {
1506
+ "customer": {
1507
+ "type": "string",
1508
+ "nullable": true
1509
+ },
1510
+ "description": {
1511
+ "type": "string",
1512
+ "nullable": true
1513
+ },
1514
+ "longDescription": {
1515
+ "type": "string",
1516
+ "nullable": true
1517
+ },
1518
+ "industry": {
1519
+ "type": "string",
1520
+ "nullable": true
1521
+ },
1522
+ "yearFrom": {
1523
+ "type": "integer",
1524
+ "format": "int32",
1525
+ "nullable": true
1526
+ },
1527
+ "monthFrom": {
1528
+ "type": "integer",
1529
+ "format": "int32",
1530
+ "nullable": true
1531
+ },
1532
+ "yearTo": {
1533
+ "type": "integer",
1534
+ "format": "int32",
1535
+ "nullable": true
1536
+ },
1537
+ "monthTo": {
1538
+ "type": "integer",
1539
+ "format": "int32",
1540
+ "nullable": true
1541
+ },
1542
+ "roleTitle": {
1543
+ "type": "string",
1544
+ "nullable": true
1545
+ },
1546
+ "roleDescription": {
1547
+ "type": "string",
1548
+ "nullable": true
1549
+ },
1550
+ "technologies": {
1551
+ "type": "array",
1552
+ "items": {
1553
+ "type": "string"
1554
+ },
1555
+ "nullable": true
1556
+ }
1557
+ }
1558
+ },
1559
+ "consultantWorkExperience": {
1560
+ "type": "object",
1561
+ "properties": {
1562
+ "employer": {
1563
+ "type": "string",
1564
+ "nullable": true
1565
+ },
1566
+ "title": {
1567
+ "type": "string",
1568
+ "nullable": true
1569
+ },
1570
+ "description": {
1571
+ "type": "string",
1572
+ "nullable": true
1573
+ },
1574
+ "yearFrom": {
1575
+ "type": "integer",
1576
+ "format": "int32",
1577
+ "nullable": true
1578
+ },
1579
+ "monthFrom": {
1580
+ "type": "integer",
1581
+ "format": "int32",
1582
+ "nullable": true
1583
+ },
1584
+ "yearTo": {
1585
+ "type": "integer",
1586
+ "format": "int32",
1587
+ "nullable": true
1588
+ },
1589
+ "monthTo": {
1590
+ "type": "integer",
1591
+ "format": "int32",
1592
+ "nullable": true
1593
+ }
1594
+ }
1595
+ },
1596
+ "createProposalRequest": {
1597
+ "type": "object",
1598
+ "properties": {
1599
+ "name": {
1600
+ "type": "string",
1601
+ "nullable": true
1602
+ },
1603
+ "owner_id": {
1604
+ "type": "string",
1605
+ "nullable": true
1606
+ },
1607
+ "status": {
1608
+ "type": "string",
1609
+ "nullable": true
1610
+ }
1611
+ }
1612
+ },
1613
+ "employeeReference": {
1614
+ "type": "object",
1615
+ "properties": {
1616
+ "sanityType": {
1617
+ "enum": [
1618
+ "reference"
1619
+ ],
1620
+ "type": "string",
1621
+ "default": "reference"
1622
+ },
1623
+ "sanityRef": {
1624
+ "type": "string"
1625
+ },
1626
+ "sanityWeak": {
1627
+ "type": "boolean"
1628
+ }
1629
+ }
1630
+ },
1631
+ "feedback": {
1632
+ "type": "object",
1633
+ "properties": {
1634
+ "message": {
1635
+ "type": "string"
1636
+ }
1637
+ }
1638
+ },
1639
+ "flowcaseProposal": {
1640
+ "type": "object",
1641
+ "properties": {
1642
+ "id": {
1643
+ "type": "string",
1644
+ "nullable": true
1645
+ },
1646
+ "name": {
1647
+ "type": "string",
1648
+ "nullable": true
1649
+ },
1650
+ "api_owner_id": {
1651
+ "type": "string",
1652
+ "nullable": true
1653
+ },
1654
+ "api_owner_name": {
1655
+ "type": "string",
1656
+ "nullable": true
1657
+ },
1658
+ "owner_id": {
1659
+ "type": "string",
1660
+ "nullable": true
1661
+ },
1662
+ "owner_name": {
1663
+ "type": "string",
1664
+ "nullable": true
1665
+ },
1666
+ "status": {
1667
+ "type": "string",
1668
+ "nullable": true
1669
+ },
1670
+ "archived": {
1671
+ "type": "boolean",
1672
+ "nullable": true
1673
+ },
1674
+ "created_at": {
1675
+ "type": "string",
1676
+ "format": "date-time",
1677
+ "nullable": true
1678
+ },
1679
+ "updated_at": {
1680
+ "type": "string",
1681
+ "format": "date-time",
1682
+ "nullable": true
1683
+ }
1684
+ }
1685
+ },
1686
+ "flowcaseTailoredCv": {
1687
+ "type": "object",
1688
+ "properties": {
1689
+ "id": {
1690
+ "type": "string",
1691
+ "nullable": true
1692
+ },
1693
+ "user_id": {
1694
+ "type": "string",
1695
+ "nullable": true
1696
+ },
1697
+ "proposal_id": {
1698
+ "type": "string",
1699
+ "nullable": true
1700
+ },
1701
+ "name": {
1702
+ "type": "string",
1703
+ "nullable": true
1704
+ },
1705
+ "email": {
1706
+ "type": "string",
1707
+ "nullable": true
1708
+ },
1709
+ "title": {
1710
+ "type": "string",
1711
+ "nullable": true
1712
+ },
1713
+ "status": {
1714
+ "type": "string",
1715
+ "nullable": true
1716
+ },
1717
+ "created_at": {
1718
+ "type": "string",
1719
+ "format": "date-time",
1720
+ "nullable": true
1721
+ },
1722
+ "updated_at": {
1723
+ "type": "string",
1724
+ "format": "date-time",
1725
+ "nullable": true
1726
+ }
1727
+ }
1728
+ },
1729
+ "gadgetBudget": {
1730
+ "type": "object",
1731
+ "properties": {
1732
+ "sanityType": {
1733
+ "enum": [
1734
+ "gadget"
1735
+ ],
1736
+ "type": "string",
1737
+ "default": "gadget"
1738
+ },
1739
+ "employee": {
1740
+ "$ref": "#/components/schemas/sanityOrderEmployee"
1741
+ },
1742
+ "sanityCreatedAt": {
1743
+ "type": "string"
1744
+ },
1745
+ "sanityId": {
1746
+ "type": "string"
1747
+ },
1748
+ "sanityRev": {
1749
+ "type": "string"
1750
+ },
1751
+ "sanityUpdatedAt": {
1752
+ "type": "string"
1753
+ },
1754
+ "yearlyBudgets": {
1755
+ "type": "array",
1756
+ "items": {
1757
+ "$ref": "#/components/schemas/sanityGadgetBudgetYearlyBudgetsInner"
1758
+ }
1759
+ }
1760
+ }
1761
+ },
1762
+ "geopoint": {
1763
+ "type": "object",
1764
+ "properties": {
1765
+ "sanityType": {
1766
+ "enum": [
1767
+ "geopoint"
1768
+ ],
1769
+ "type": "string",
1770
+ "default": "geopoint"
1771
+ },
1772
+ "alt": {
1773
+ "type": "number",
1774
+ "format": "double"
1775
+ },
1776
+ "lat": {
1777
+ "type": "number",
1778
+ "format": "double"
1779
+ },
1780
+ "lng": {
1781
+ "type": "number",
1782
+ "format": "double"
1783
+ }
1784
+ }
1785
+ },
1786
+ "pageEmployeeOrderInner": {
1787
+ "type": "object",
1788
+ "properties": {
1789
+ "sanityType": {
1790
+ "enum": [
1791
+ "reference"
1792
+ ],
1793
+ "type": "string",
1794
+ "default": "reference"
1795
+ },
1796
+ "sanityKey": {
1797
+ "type": "string"
1798
+ },
1799
+ "sanityRef": {
1800
+ "type": "string"
1801
+ },
1802
+ "sanityWeak": {
1803
+ "type": "boolean"
1804
+ }
1805
+ }
1806
+ },
1807
+ "pageEquipmentInner": {
1808
+ "type": "object",
1809
+ "properties": {
1810
+ "sanityType": {
1811
+ "enum": [
1812
+ "reference"
1813
+ ],
1814
+ "type": "string",
1815
+ "default": "reference"
1816
+ },
1817
+ "sanityKey": {
1818
+ "type": "string"
1819
+ },
1820
+ "sanityRef": {
1821
+ "type": "string"
1822
+ },
1823
+ "sanityWeak": {
1824
+ "type": "boolean"
1825
+ }
1826
+ }
1827
+ },
1828
+ "patchEmployee": {
1829
+ "type": "object",
1830
+ "properties": {
1831
+ "gender": {
1832
+ "enum": [
1833
+ "male",
1834
+ "female",
1835
+ "These are not the genders you are looking for"
1836
+ ],
1837
+ "type": "string",
1838
+ "default": "male",
1839
+ "nullable": true
1840
+ },
1841
+ "maritalStatus": {
1842
+ "enum": [
1843
+ "single",
1844
+ "married",
1845
+ "cohabitant"
1846
+ ],
1847
+ "type": "string",
1848
+ "default": "single",
1849
+ "nullable": true
1850
+ },
1851
+ "parentalLeaveCoverage": {
1852
+ "enum": [
1853
+ "80",
1854
+ "100"
1855
+ ],
1856
+ "type": "string",
1857
+ "default": "80",
1858
+ "nullable": true
1859
+ },
1860
+ "sanityType": {
1861
+ "enum": [
1862
+ "employee"
1863
+ ],
1864
+ "type": "string",
1865
+ "default": "employee",
1866
+ "nullable": true
1867
+ },
1868
+ "about": {
1869
+ "type": "string"
1870
+ },
1871
+ "active": {
1872
+ "type": "boolean",
1873
+ "nullable": true
1874
+ },
1875
+ "address": {
1876
+ "type": "string"
1877
+ },
1878
+ "allergies": {
1879
+ "type": "array",
1880
+ "items": {
1881
+ "type": "string"
1882
+ }
1883
+ },
1884
+ "birth_date": {
1885
+ "type": "string"
1886
+ },
1887
+ "blurred_image": {
1888
+ "$ref": "#/components/schemas/sanityPatchPageMetaImage"
1889
+ },
1890
+ "boardMember": {
1891
+ "type": "boolean",
1892
+ "nullable": true
1893
+ },
1894
+ "cliftonStrengths": {
1895
+ "type": "array",
1896
+ "items": {
1897
+ "$ref": "#/components/schemas/sanityCreateEmployeeCliftonStrengthsInner"
1898
+ }
1899
+ },
1900
+ "coinbaseAccountEmail": {
1901
+ "type": "string"
1902
+ },
1903
+ "commissionTier": {
1904
+ "$ref": "#/components/schemas/commissionTierReference"
1905
+ },
1906
+ "education": {
1907
+ "type": "string"
1908
+ },
1909
+ "email": {
1910
+ "type": "string"
1911
+ },
1912
+ "equipment": {
1913
+ "type": "array",
1914
+ "items": {
1915
+ "$ref": "#/components/schemas/pageEquipmentInner"
1916
+ }
1917
+ },
1918
+ "externalId": {
1919
+ "type": "string"
1920
+ },
1921
+ "github": {
1922
+ "type": "string"
1923
+ },
1924
+ "graduationYear": {
1925
+ "type": "number",
1926
+ "format": "double",
1927
+ "nullable": true
1928
+ },
1929
+ "groups": {
1930
+ "type": "array",
1931
+ "items": {
1932
+ "$ref": "#/components/schemas/sanityCreateEmployeeGroupsInner"
1933
+ }
1934
+ },
1935
+ "image": {
1936
+ "$ref": "#/components/schemas/sanityPatchPageMetaImage"
1937
+ },
1938
+ "innovativeSalary": {
1939
+ "type": "boolean",
1940
+ "nullable": true
1941
+ },
1942
+ "innovativeSalaryPercentage": {
1943
+ "type": "number",
1944
+ "format": "double",
1945
+ "nullable": true
1946
+ },
1947
+ "isBot": {
1948
+ "type": "boolean",
1949
+ "nullable": true
1950
+ },
1951
+ "isExternal": {
1952
+ "type": "boolean",
1953
+ "nullable": true
1954
+ },
1955
+ "isPublic": {
1956
+ "type": "boolean",
1957
+ "nullable": true
1958
+ },
1959
+ "isSeekingProject": {
1960
+ "type": "boolean",
1961
+ "nullable": true
1962
+ },
1963
+ "linkedin": {
1964
+ "type": "string"
1965
+ },
1966
+ "manager": {
1967
+ "$ref": "#/components/schemas/employeeReference"
1968
+ },
1969
+ "media": {
1970
+ "type": "array",
1971
+ "items": {
1972
+ "$ref": "#/components/schemas/componentGalleryMediaInner"
1973
+ }
1974
+ },
1975
+ "name": {
1976
+ "type": "string"
1977
+ },
1978
+ "nextOfKin": {
1979
+ "type": "array",
1980
+ "items": {
1981
+ "$ref": "#/components/schemas/sanityEmployeeNextOfKinInner"
1982
+ }
1983
+ },
1984
+ "nrOfChildren": {
1985
+ "type": "number",
1986
+ "format": "double",
1987
+ "nullable": true
1988
+ },
1989
+ "parentalLeaveStartDate": {
1990
+ "type": "string"
1991
+ },
1992
+ "personalProjectRequirements": {
1993
+ "type": "string"
1994
+ },
1995
+ "position": {
1996
+ "type": "string"
1997
+ },
1998
+ "salaryConfig": {
1999
+ "$ref": "#/components/schemas/pickSanityPatchEmployeeExcludeKeyofSanityPatchEmployeeScopeGrantsSalaryConfig"
2000
+ },
2001
+ "settings": {
2002
+ "$ref": "#/components/schemas/pickSanityPatchEmployeeExcludeKeyofSanityPatchEmployeeScopeGrantsSettings"
2003
+ },
2004
+ "slug": {
2005
+ "$ref": "#/components/schemas/slug"
2006
+ },
2007
+ "start_date": {
2008
+ "type": "string"
2009
+ },
2010
+ "tags": {
2011
+ "type": "array",
2012
+ "items": {
2013
+ "$ref": "#/components/schemas/sanityCreateEmployeeTagsInner"
2014
+ }
2015
+ },
2016
+ "technologies": {
2017
+ "type": "array",
2018
+ "items": {
2019
+ "$ref": "#/components/schemas/sanityCreateEmployeeTechnologiesInner"
2020
+ }
2021
+ },
2022
+ "telephone": {
2023
+ "type": "string"
2024
+ },
2025
+ "additionalProperties": {
2026
+ "type": "object",
2027
+ "additionalProperties": {
2028
+ "type": "object"
2029
+ }
2030
+ }
2031
+ }
2032
+ },
2033
+ "pickSanityPatchEmployeeExcludeKeyofSanityPatchEmployeeScopeGrantsSalaryConfig": {
2034
+ "type": "object",
2035
+ "properties": {
2036
+ "model": {
2037
+ "enum": [
2038
+ "snokam.ceo",
2039
+ "snokam.employee"
2040
+ ],
2041
+ "type": "string",
2042
+ "default": "snokam.ceo",
2043
+ "nullable": true
2044
+ }
2045
+ }
2046
+ },
2047
+ "pickSanityPatchEmployeeExcludeKeyofSanityPatchEmployeeScopeGrantsSettings": {
2048
+ "type": "object",
2049
+ "properties": {
2050
+ "colorScheme": {
2051
+ "enum": [
2052
+ "dark",
2053
+ "light",
2054
+ "system"
2055
+ ],
2056
+ "type": "string",
2057
+ "default": "dark",
2058
+ "nullable": true
2059
+ }
2060
+ }
2061
+ },
2062
+ "presentationSpeaker": {
2063
+ "type": "object",
2064
+ "properties": {
2065
+ "name": {
2066
+ "type": "string",
2067
+ "nullable": true
2068
+ },
2069
+ "email": {
2070
+ "type": "string",
2071
+ "nullable": true
2072
+ },
2073
+ "flowcaseUserId": {
2074
+ "type": "string",
2075
+ "nullable": true
2076
+ }
2077
+ },
2078
+ "nullable": true
2079
+ },
2080
+ "protectedEmployee": {
2081
+ "type": "object",
2082
+ "properties": {
2083
+ "started": {
2084
+ "type": "boolean",
2085
+ "nullable": true
2086
+ },
2087
+ "gender": {
2088
+ "enum": [
2089
+ "female",
2090
+ "male",
2091
+ "These are not the genders you are looking for"
2092
+ ],
2093
+ "type": "string",
2094
+ "default": "female"
2095
+ },
2096
+ "maritalStatus": {
2097
+ "enum": [
2098
+ "cohabitant",
2099
+ "married",
2100
+ "single"
2101
+ ],
2102
+ "type": "string",
2103
+ "default": "cohabitant",
2104
+ "nullable": true
2105
+ },
2106
+ "parentalLeaveCoverage": {
2107
+ "enum": [
2108
+ "80",
2109
+ "100"
2110
+ ],
2111
+ "type": "string",
2112
+ "default": "80",
2113
+ "nullable": true
2114
+ },
2115
+ "sanityType": {
2116
+ "enum": [
2117
+ "employee"
2118
+ ],
2119
+ "type": "string",
2120
+ "default": "employee"
2121
+ },
2122
+ "about": {
2123
+ "type": "string"
2124
+ },
2125
+ "active": {
2126
+ "type": "boolean"
2127
+ },
2128
+ "address": {
2129
+ "type": "string"
2130
+ },
2131
+ "allergies": {
2132
+ "type": "array",
2133
+ "items": {
2134
+ "type": "string"
2135
+ }
2136
+ },
2137
+ "birth_date": {
2138
+ "type": "string"
2139
+ },
2140
+ "blurred_image": {
2141
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2142
+ },
2143
+ "boardMember": {
2144
+ "type": "boolean"
2145
+ },
2146
+ "cliftonStrengths": {
2147
+ "type": "array",
2148
+ "items": {
2149
+ "$ref": "#/components/schemas/sanityEmployeeCliftonStrengthsInner"
2150
+ }
2151
+ },
2152
+ "coinbaseAccountEmail": {
2153
+ "type": "string"
2154
+ },
2155
+ "commissionTier": {
2156
+ "$ref": "#/components/schemas/sanityEmployeeCommissionTier"
2157
+ },
2158
+ "education": {
2159
+ "type": "string"
2160
+ },
2161
+ "email": {
2162
+ "type": "string"
2163
+ },
2164
+ "equipment": {
2165
+ "type": "array",
2166
+ "items": {
2167
+ "$ref": "#/components/schemas/sanityEmployeeEquipmentInner"
2168
+ }
2169
+ },
2170
+ "externalId": {
2171
+ "type": "string"
2172
+ },
2173
+ "github": {
2174
+ "type": "string"
2175
+ },
2176
+ "graduationYear": {
2177
+ "type": "number",
2178
+ "format": "double"
2179
+ },
2180
+ "groups": {
2181
+ "type": "array",
2182
+ "items": {
2183
+ "$ref": "#/components/schemas/sanityEmployeeGroupsInner"
2184
+ }
2185
+ },
2186
+ "image": {
2187
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2188
+ },
2189
+ "innovativeSalary": {
2190
+ "type": "boolean"
2191
+ },
2192
+ "innovativeSalaryPercentage": {
2193
+ "type": "number",
2194
+ "format": "double"
2195
+ },
2196
+ "isBot": {
2197
+ "type": "boolean"
2198
+ },
2199
+ "isExternal": {
2200
+ "type": "boolean"
2201
+ },
2202
+ "isPublic": {
2203
+ "type": "boolean"
2204
+ },
2205
+ "isSeekingProject": {
2206
+ "type": "boolean"
2207
+ },
2208
+ "linkedin": {
2209
+ "type": "string"
2210
+ },
2211
+ "manager": {
2212
+ "$ref": "#/components/schemas/sanityEmployeeManager"
2213
+ },
2214
+ "media": {
2215
+ "type": "array",
2216
+ "items": {
2217
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner"
2218
+ }
2219
+ },
2220
+ "name": {
2221
+ "type": "string"
2222
+ },
2223
+ "nextOfKin": {
2224
+ "type": "array",
2225
+ "items": {
2226
+ "$ref": "#/components/schemas/sanityEmployeeNextOfKinInner"
2227
+ }
2228
+ },
2229
+ "nrOfChildren": {
2230
+ "type": "number",
2231
+ "format": "double"
2232
+ },
2233
+ "parentalLeaveStartDate": {
2234
+ "type": "string"
2235
+ },
2236
+ "personalProjectRequirements": {
2237
+ "type": "string"
2238
+ },
2239
+ "position": {
2240
+ "type": "string"
2241
+ },
2242
+ "salaryConfig": {
2243
+ "$ref": "#/components/schemas/sanityEmployeeSalaryConfig"
2244
+ },
2245
+ "sanityCreatedAt": {
2246
+ "type": "string"
2247
+ },
2248
+ "sanityId": {
2249
+ "type": "string"
2250
+ },
2251
+ "sanityRev": {
2252
+ "type": "string"
2253
+ },
2254
+ "sanityUpdatedAt": {
2255
+ "type": "string"
2256
+ },
2257
+ "scopeGrants": {
2258
+ "type": "array",
2259
+ "items": {
2260
+ "type": "string"
2261
+ }
2262
+ },
2263
+ "settings": {
2264
+ "$ref": "#/components/schemas/sanityEmployeeSettings"
2265
+ },
2266
+ "slug": {
2267
+ "$ref": "#/components/schemas/slug"
2268
+ },
2269
+ "start_date": {
2270
+ "type": "string"
2271
+ },
2272
+ "tags": {
2273
+ "type": "array",
2274
+ "items": {
2275
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
2276
+ }
2277
+ },
2278
+ "technologies": {
2279
+ "type": "array",
2280
+ "items": {
2281
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsProjectsInnerTechnologiesInner"
2282
+ }
2283
+ },
2284
+ "telephone": {
2285
+ "type": "string"
2286
+ }
2287
+ }
2288
+ },
2289
+ "publicEmployee": {
2290
+ "type": "object",
2291
+ "properties": {
2292
+ "sanityId": {
2293
+ "type": "string"
2294
+ },
2295
+ "sanityType": {
2296
+ "type": "string"
2297
+ },
2298
+ "active": {
2299
+ "type": "boolean",
2300
+ "nullable": true
2301
+ },
2302
+ "isPublic": {
2303
+ "type": "boolean",
2304
+ "nullable": true
2305
+ },
2306
+ "image": {
2307
+ "$ref": "#/components/schemas/sanityImage"
2308
+ },
2309
+ "tags": {
2310
+ "type": "array",
2311
+ "items": {
2312
+ "$ref": "#/components/schemas/tag"
2313
+ }
2314
+ },
2315
+ "technologies": {
2316
+ "type": "array",
2317
+ "items": {
2318
+ "$ref": "#/components/schemas/technology"
2319
+ }
2320
+ },
2321
+ "started": {
2322
+ "type": "boolean"
2323
+ },
2324
+ "media": {
2325
+ "type": "array",
2326
+ "items": {
2327
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner"
2328
+ }
2329
+ },
2330
+ "name": {
2331
+ "type": "string"
2332
+ },
2333
+ "slug": {
2334
+ "$ref": "#/components/schemas/slug"
2335
+ },
2336
+ "gender": {
2337
+ "type": "string"
2338
+ },
2339
+ "email": {
2340
+ "type": "string"
2341
+ },
2342
+ "telephone": {
2343
+ "type": "string"
2344
+ },
2345
+ "position": {
2346
+ "type": "string"
2347
+ },
2348
+ "education": {
2349
+ "type": "string"
2350
+ },
2351
+ "about": {
2352
+ "type": "string"
2353
+ },
2354
+ "linkedin": {
2355
+ "type": "string"
2356
+ },
2357
+ "github": {
2358
+ "type": "string"
2359
+ },
2360
+ "birthDate": {
2361
+ "type": "string",
2362
+ "format": "date-time",
2363
+ "nullable": true
2364
+ },
2365
+ "startDate": {
2366
+ "type": "string"
2367
+ }
2368
+ }
2369
+ },
2370
+ "sanityAssetSourceData": {
2371
+ "type": "object",
2372
+ "properties": {
2373
+ "sanityType": {
2374
+ "enum": [
2375
+ "sanity.assetSourceData"
2376
+ ],
2377
+ "type": "string",
2378
+ "default": "sanity.assetSourceData"
2379
+ },
2380
+ "id": {
2381
+ "type": "string"
2382
+ },
2383
+ "name": {
2384
+ "type": "string"
2385
+ },
2386
+ "url": {
2387
+ "type": "string"
2388
+ }
2389
+ }
2390
+ },
2391
+ "sanityCreateEmployeeCliftonStrengthsInner": {
2392
+ "type": "object",
2393
+ "properties": {
2394
+ "sanityType": {
2395
+ "enum": [
2396
+ "reference"
2397
+ ],
2398
+ "type": "string",
2399
+ "default": "reference"
2400
+ },
2401
+ "sanityKey": {
2402
+ "type": "string"
2403
+ },
2404
+ "sanityRef": {
2405
+ "type": "string"
2406
+ },
2407
+ "sanityWeak": {
2408
+ "type": "boolean"
2409
+ }
2410
+ }
2411
+ },
2412
+ "sanityCreateEmployeeGroupsInner": {
2413
+ "type": "object",
2414
+ "properties": {
2415
+ "sanityType": {
2416
+ "enum": [
2417
+ "reference"
2418
+ ],
2419
+ "type": "string",
2420
+ "default": "reference"
2421
+ },
2422
+ "sanityKey": {
2423
+ "type": "string"
2424
+ },
2425
+ "sanityRef": {
2426
+ "type": "string"
2427
+ },
2428
+ "sanityWeak": {
2429
+ "type": "boolean"
2430
+ }
2431
+ }
2432
+ },
2433
+ "sanityCreateEmployeeTagsInner": {
2434
+ "type": "object",
2435
+ "properties": {
2436
+ "sanityType": {
2437
+ "enum": [
2438
+ "reference"
2439
+ ],
2440
+ "type": "string",
2441
+ "default": "reference"
2442
+ },
2443
+ "sanityKey": {
2444
+ "type": "string"
2445
+ },
2446
+ "sanityRef": {
2447
+ "type": "string"
2448
+ },
2449
+ "sanityWeak": {
2450
+ "type": "boolean"
2451
+ }
2452
+ }
2453
+ },
2454
+ "sanityCreateEmployeeTechnologiesInner": {
2455
+ "type": "object",
2456
+ "properties": {
2457
+ "sanityType": {
2458
+ "enum": [
2459
+ "reference"
2460
+ ],
2461
+ "type": "string",
2462
+ "default": "reference"
2463
+ },
2464
+ "sanityKey": {
2465
+ "type": "string"
2466
+ },
2467
+ "sanityRef": {
2468
+ "type": "string"
2469
+ },
2470
+ "sanityWeak": {
2471
+ "type": "boolean"
2472
+ }
2473
+ }
2474
+ },
2475
+ "sanityEmployeeCliftonStrengthsInner": {
2476
+ "type": "object",
2477
+ "properties": {
2478
+ "domain": {
2479
+ "enum": [
2480
+ "executing",
2481
+ "influencing",
2482
+ "relationship_building",
2483
+ "strategic_thinking"
2484
+ ],
2485
+ "type": "string",
2486
+ "default": "executing",
2487
+ "nullable": true
2488
+ },
2489
+ "sanityType": {
2490
+ "enum": [
2491
+ "cliftonStrength"
2492
+ ],
2493
+ "type": "string",
2494
+ "default": "cliftonStrength"
2495
+ },
2496
+ "sanityCreatedAt": {
2497
+ "type": "string"
2498
+ },
2499
+ "sanityId": {
2500
+ "type": "string"
2501
+ },
2502
+ "sanityRev": {
2503
+ "type": "string"
2504
+ },
2505
+ "sanityUpdatedAt": {
2506
+ "type": "string"
2507
+ },
2508
+ "strength": {
2509
+ "type": "string"
2510
+ }
2511
+ }
2512
+ },
2513
+ "sanityEmployeeCommissionTier": {
2514
+ "type": "object",
2515
+ "properties": {
2516
+ "sanityType": {
2517
+ "enum": [
2518
+ "commissionTier"
2519
+ ],
2520
+ "type": "string",
2521
+ "default": "commissionTier"
2522
+ },
2523
+ "commission": {
2524
+ "type": "number",
2525
+ "format": "double"
2526
+ },
2527
+ "sanityCreatedAt": {
2528
+ "type": "string"
2529
+ },
2530
+ "sanityId": {
2531
+ "type": "string"
2532
+ },
2533
+ "sanityRev": {
2534
+ "type": "string"
2535
+ },
2536
+ "sanityUpdatedAt": {
2537
+ "type": "string"
2538
+ },
2539
+ "title": {
2540
+ "type": "string"
2541
+ }
2542
+ }
2543
+ },
2544
+ "sanityEmployeeEquipmentInner": {
2545
+ "type": "object",
2546
+ "properties": {
2547
+ "sanityType": {
2548
+ "enum": [
2549
+ "equipment"
2550
+ ],
2551
+ "type": "string",
2552
+ "default": "equipment"
2553
+ },
2554
+ "description": {
2555
+ "type": "array",
2556
+ "items": {
2557
+ "$ref": "#/components/schemas/sanitySystemsInnerDescriptionInner"
2558
+ }
2559
+ },
2560
+ "image": {
2561
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2562
+ },
2563
+ "images": {
2564
+ "type": "array",
2565
+ "items": {
2566
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMediaOneOf"
2567
+ }
2568
+ },
2569
+ "sanityId": {
2570
+ "type": "string"
2571
+ },
2572
+ "title": {
2573
+ "type": "string"
2574
+ }
2575
+ }
2576
+ },
2577
+ "sanityEmployeeGroupsInner": {
2578
+ "type": "object",
2579
+ "properties": {
2580
+ "sanityType": {
2581
+ "enum": [
2582
+ "group"
2583
+ ],
2584
+ "type": "string",
2585
+ "default": "group"
2586
+ },
2587
+ "description": {
2588
+ "type": "array",
2589
+ "items": {
2590
+ "$ref": "#/components/schemas/sanitySystemsInnerDescriptionInner"
2591
+ }
2592
+ },
2593
+ "image": {
2594
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMediaOneOf"
2595
+ },
2596
+ "leaders": {
2597
+ "type": "array",
2598
+ "items": {
2599
+ "$ref": "#/components/schemas/pageEmployeeOrderInner"
2600
+ }
2601
+ },
2602
+ "name": {
2603
+ "type": "string"
2604
+ },
2605
+ "permissions": {
2606
+ "type": "string"
2607
+ },
2608
+ "sanityCreatedAt": {
2609
+ "type": "string"
2610
+ },
2611
+ "sanityId": {
2612
+ "type": "string"
2613
+ },
2614
+ "sanityRev": {
2615
+ "type": "string"
2616
+ },
2617
+ "sanityUpdatedAt": {
2618
+ "type": "string"
2619
+ },
2620
+ "scopeGrants": {
2621
+ "type": "array",
2622
+ "items": {
2623
+ "type": "string"
2624
+ }
2625
+ }
2626
+ }
2627
+ },
2628
+ "sanityEmployeeManager": {
2629
+ "type": "object",
2630
+ "properties": {
2631
+ "sanityType": {
2632
+ "enum": [
2633
+ "employee"
2634
+ ],
2635
+ "type": "string",
2636
+ "default": "employee"
2637
+ },
2638
+ "email": {
2639
+ "type": "string"
2640
+ },
2641
+ "image": {
2642
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2643
+ },
2644
+ "isBot": {
2645
+ "type": "boolean",
2646
+ "nullable": true
2647
+ },
2648
+ "isExternal": {
2649
+ "type": "boolean",
2650
+ "nullable": true
2651
+ },
2652
+ "name": {
2653
+ "type": "string"
2654
+ },
2655
+ "sanityId": {
2656
+ "type": "string"
2657
+ },
2658
+ "slug": {
2659
+ "$ref": "#/components/schemas/slug"
2660
+ },
2661
+ "tags": {
2662
+ "type": "array",
2663
+ "items": {
2664
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
2665
+ }
2666
+ },
2667
+ "telephone": {
2668
+ "type": "string"
2669
+ }
2670
+ }
2671
+ },
2672
+ "sanityEmployeeNextOfKinInner": {
2673
+ "type": "object",
2674
+ "properties": {
2675
+ "sanityType": {
2676
+ "enum": [
2677
+ "nextofkin"
2678
+ ],
2679
+ "type": "string",
2680
+ "default": "nextofkin"
2681
+ },
2682
+ "name": {
2683
+ "type": "string"
2684
+ },
2685
+ "sanityKey": {
2686
+ "type": "string"
2687
+ },
2688
+ "telephone": {
2689
+ "type": "string"
2690
+ }
2691
+ }
2692
+ },
2693
+ "sanityEmployeeSalaryConfig": {
2694
+ "type": "object",
2695
+ "properties": {
2696
+ "model": {
2697
+ "enum": [
2698
+ "snokam.ceo",
2699
+ "snokam.employee"
2700
+ ],
2701
+ "type": "string",
2702
+ "default": "snokam.ceo",
2703
+ "nullable": true
2704
+ }
2705
+ }
2706
+ },
2707
+ "sanityEmployeeSettings": {
2708
+ "type": "object",
2709
+ "properties": {
2710
+ "colorScheme": {
2711
+ "enum": [
2712
+ "dark",
2713
+ "light",
2714
+ "system"
2715
+ ],
2716
+ "type": "string",
2717
+ "default": "dark",
2718
+ "nullable": true
2719
+ }
2720
+ }
2721
+ },
2722
+ "sanityGadgetBudgetYearlyBudgetsInner": {
2723
+ "type": "object",
2724
+ "properties": {
2725
+ "sanityType": {
2726
+ "enum": [
2727
+ "yearlyBudget"
2728
+ ],
2729
+ "type": "string",
2730
+ "default": "yearlyBudget"
2731
+ },
2732
+ "amount": {
2733
+ "type": "number",
2734
+ "format": "double"
2735
+ },
2736
+ "equipmentList": {
2737
+ "type": "array",
2738
+ "items": {
2739
+ "$ref": "#/components/schemas/sanityGadgetBudgetYearlyBudgetsInnerEquipmentListInner"
2740
+ }
2741
+ },
2742
+ "sanityKey": {
2743
+ "type": "string"
2744
+ },
2745
+ "year": {
2746
+ "type": "number",
2747
+ "format": "double"
2748
+ }
2749
+ }
2750
+ },
2751
+ "sanityGadgetBudgetYearlyBudgetsInnerEquipmentListInner": {
2752
+ "type": "object",
2753
+ "properties": {
2754
+ "actualInstance": {
2755
+ "type": "object"
2756
+ },
2757
+ "isNullable": {
2758
+ "type": "boolean"
2759
+ },
2760
+ "schemaType": {
2761
+ "type": "string"
2762
+ }
2763
+ }
2764
+ },
2765
+ "sanityImage": {
2766
+ "type": "object",
2767
+ "properties": {
2768
+ "sanityType": {
2769
+ "enum": [
2770
+ "image"
2771
+ ],
2772
+ "type": "string",
2773
+ "default": "image"
2774
+ },
2775
+ "asset": {
2776
+ "$ref": "#/components/schemas/sanityImageAsset"
2777
+ },
2778
+ "sanityId": {
2779
+ "type": "string"
2780
+ },
2781
+ "sanityKey": {
2782
+ "type": "string"
2783
+ },
2784
+ "additionalProperties": {
2785
+ "type": "object",
2786
+ "additionalProperties": {
2787
+ "type": "object"
2788
+ }
2789
+ }
2790
+ }
2791
+ },
2792
+ "sanityImageAsset": {
2793
+ "type": "object",
2794
+ "properties": {
2795
+ "sanityType": {
2796
+ "enum": [
2797
+ "sanity.imageAsset"
2798
+ ],
2799
+ "type": "string",
2800
+ "default": "sanity.imageAsset"
2801
+ },
2802
+ "altText": {
2803
+ "type": "string"
2804
+ },
2805
+ "assetId": {
2806
+ "type": "string"
2807
+ },
2808
+ "description": {
2809
+ "type": "string"
2810
+ },
2811
+ "extension": {
2812
+ "type": "string"
2813
+ },
2814
+ "label": {
2815
+ "type": "string"
2816
+ },
2817
+ "metadata": {
2818
+ "$ref": "#/components/schemas/sanityImageMetadata"
2819
+ },
2820
+ "mimeType": {
2821
+ "type": "string"
2822
+ },
2823
+ "originalFilename": {
2824
+ "type": "string"
2825
+ },
2826
+ "path": {
2827
+ "type": "string"
2828
+ },
2829
+ "sanityCreatedAt": {
2830
+ "type": "string"
2831
+ },
2832
+ "sanityId": {
2833
+ "type": "string"
2834
+ },
2835
+ "sanityRev": {
2836
+ "type": "string"
2837
+ },
2838
+ "sanityUpdatedAt": {
2839
+ "type": "string"
2840
+ },
2841
+ "sha1hash": {
2842
+ "type": "string"
2843
+ },
2844
+ "size": {
2845
+ "type": "number",
2846
+ "format": "double"
2847
+ },
2848
+ "source": {
2849
+ "$ref": "#/components/schemas/sanityAssetSourceData"
2850
+ },
2851
+ "title": {
2852
+ "type": "string"
2853
+ },
2854
+ "uploadId": {
2855
+ "type": "string"
2856
+ },
2857
+ "url": {
2858
+ "type": "string"
2859
+ },
2860
+ "additionalProperties": {
2861
+ "type": "object",
2862
+ "additionalProperties": {
2863
+ "type": "object"
2864
+ }
2865
+ }
2866
+ }
2867
+ },
2868
+ "sanityImageAssetReference": {
2869
+ "type": "object",
2870
+ "properties": {
2871
+ "sanityType": {
2872
+ "enum": [
2873
+ "reference"
2874
+ ],
2875
+ "type": "string",
2876
+ "default": "reference"
2877
+ },
2878
+ "sanityRef": {
2879
+ "type": "string"
2880
+ },
2881
+ "sanityWeak": {
2882
+ "type": "boolean"
2883
+ }
2884
+ }
2885
+ },
2886
+ "sanityImageCrop": {
2887
+ "type": "object",
2888
+ "properties": {
2889
+ "sanityType": {
2890
+ "enum": [
2891
+ "sanity.imageCrop"
2892
+ ],
2893
+ "type": "string",
2894
+ "default": "sanity.imageCrop"
2895
+ },
2896
+ "bottom": {
2897
+ "type": "number",
2898
+ "format": "double"
2899
+ },
2900
+ "left": {
2901
+ "type": "number",
2902
+ "format": "double"
2903
+ },
2904
+ "right": {
2905
+ "type": "number",
2906
+ "format": "double"
2907
+ },
2908
+ "top": {
2909
+ "type": "number",
2910
+ "format": "double"
2911
+ }
2912
+ }
2913
+ },
2914
+ "sanityImageDimensions": {
2915
+ "type": "object",
2916
+ "properties": {
2917
+ "sanityType": {
2918
+ "enum": [
2919
+ "sanity.imageDimensions"
2920
+ ],
2921
+ "type": "string",
2922
+ "default": "sanity.imageDimensions"
2923
+ },
2924
+ "aspectRatio": {
2925
+ "type": "number",
2926
+ "format": "double"
2927
+ },
2928
+ "height": {
2929
+ "type": "number",
2930
+ "format": "double"
2931
+ },
2932
+ "width": {
2933
+ "type": "number",
2934
+ "format": "double"
2935
+ }
2936
+ }
2937
+ },
2938
+ "sanityImageHotspot": {
2939
+ "type": "object",
2940
+ "properties": {
2941
+ "sanityType": {
2942
+ "enum": [
2943
+ "sanity.imageHotspot"
2944
+ ],
2945
+ "type": "string",
2946
+ "default": "sanity.imageHotspot"
2947
+ },
2948
+ "height": {
2949
+ "type": "number",
2950
+ "format": "double"
2951
+ },
2952
+ "width": {
2953
+ "type": "number",
2954
+ "format": "double"
2955
+ },
2956
+ "x": {
2957
+ "type": "number",
2958
+ "format": "double"
2959
+ },
2960
+ "y": {
2961
+ "type": "number",
2962
+ "format": "double"
2963
+ }
2964
+ }
2965
+ },
2966
+ "sanityImageMetadata": {
2967
+ "type": "object",
2968
+ "properties": {
2969
+ "sanityType": {
2970
+ "enum": [
2971
+ "sanity.imageMetadata"
2972
+ ],
2973
+ "type": "string",
2974
+ "default": "sanity.imageMetadata"
2975
+ },
2976
+ "blurHash": {
2977
+ "type": "string"
2978
+ },
2979
+ "dimensions": {
2980
+ "$ref": "#/components/schemas/sanityImageDimensions"
2981
+ },
2982
+ "hasAlpha": {
2983
+ "type": "boolean"
2984
+ },
2985
+ "isOpaque": {
2986
+ "type": "boolean"
2987
+ },
2988
+ "location": {
2989
+ "$ref": "#/components/schemas/geopoint"
2990
+ },
2991
+ "lqip": {
2992
+ "type": "string"
2993
+ },
2994
+ "palette": {
2995
+ "$ref": "#/components/schemas/sanityImagePalette"
2996
+ },
2997
+ "thumbHash": {
2998
+ "type": "string"
2999
+ }
3000
+ }
3001
+ },
3002
+ "sanityImagePalette": {
3003
+ "type": "object",
3004
+ "properties": {
3005
+ "sanityType": {
3006
+ "enum": [
3007
+ "sanity.imagePalette"
3008
+ ],
3009
+ "type": "string",
3010
+ "default": "sanity.imagePalette"
3011
+ },
3012
+ "darkMuted": {
3013
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3014
+ },
3015
+ "darkVibrant": {
3016
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3017
+ },
3018
+ "dominant": {
3019
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3020
+ },
3021
+ "lightMuted": {
3022
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3023
+ },
3024
+ "lightVibrant": {
3025
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3026
+ },
3027
+ "muted": {
3028
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3029
+ },
3030
+ "vibrant": {
3031
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3032
+ }
3033
+ }
3034
+ },
3035
+ "sanityImagePaletteSwatch": {
3036
+ "type": "object",
3037
+ "properties": {
3038
+ "sanityType": {
3039
+ "enum": [
3040
+ "sanity.imagePaletteSwatch"
3041
+ ],
3042
+ "type": "string",
3043
+ "default": "sanity.imagePaletteSwatch"
3044
+ },
3045
+ "background": {
3046
+ "type": "string"
3047
+ },
3048
+ "foreground": {
3049
+ "type": "string"
3050
+ },
3051
+ "population": {
3052
+ "type": "number",
3053
+ "format": "double"
3054
+ },
3055
+ "title": {
3056
+ "type": "string"
3057
+ }
3058
+ }
3059
+ },
3060
+ "sanityOrderEmployee": {
3061
+ "type": "object",
3062
+ "properties": {
3063
+ "sanityType": {
3064
+ "enum": [
3065
+ "employee"
3066
+ ],
3067
+ "type": "string",
3068
+ "default": "employee"
3069
+ },
3070
+ "email": {
3071
+ "type": "string"
3072
+ },
3073
+ "image": {
3074
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
3075
+ },
3076
+ "isBot": {
3077
+ "type": "boolean",
3078
+ "nullable": true
3079
+ },
3080
+ "isExternal": {
3081
+ "type": "boolean",
3082
+ "nullable": true
3083
+ },
3084
+ "name": {
3085
+ "type": "string"
3086
+ },
3087
+ "sanityId": {
3088
+ "type": "string"
3089
+ },
3090
+ "slug": {
3091
+ "$ref": "#/components/schemas/slug"
3092
+ },
3093
+ "tags": {
3094
+ "type": "array",
3095
+ "items": {
3096
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
3097
+ }
3098
+ },
3099
+ "telephone": {
3100
+ "type": "string"
3101
+ }
3102
+ }
3103
+ },
3104
+ "sanityPatchPageMetaImage": {
3105
+ "type": "object",
3106
+ "properties": {
3107
+ "sanityType": {
3108
+ "enum": [
3109
+ "image"
3110
+ ],
3111
+ "type": "string",
3112
+ "default": "image"
3113
+ },
3114
+ "asset": {
3115
+ "$ref": "#/components/schemas/sanityImageAssetReference"
3116
+ },
3117
+ "crop": {
3118
+ "$ref": "#/components/schemas/sanityImageCrop"
3119
+ },
3120
+ "hotspot": {
3121
+ "$ref": "#/components/schemas/sanityImageHotspot"
3122
+ },
3123
+ "media": {
3124
+ "type": "object"
3125
+ }
3126
+ }
3127
+ },
3128
+ "sanitySystemsInnerDescriptionInner": {
3129
+ "type": "object",
3130
+ "properties": {
3131
+ "listItem": {
3132
+ "enum": [
3133
+ "bullet",
3134
+ "number"
3135
+ ],
3136
+ "type": "string",
3137
+ "default": "bullet",
3138
+ "nullable": true
3139
+ },
3140
+ "sanityType": {
3141
+ "enum": [
3142
+ "block"
3143
+ ],
3144
+ "type": "string",
3145
+ "default": "block"
3146
+ },
3147
+ "style": {
3148
+ "enum": [
3149
+ "blockquote",
3150
+ "h1",
3151
+ "h2",
3152
+ "h3",
3153
+ "h4",
3154
+ "h5",
3155
+ "h6",
3156
+ "normal"
3157
+ ],
3158
+ "type": "string",
3159
+ "default": "blockquote",
3160
+ "nullable": true
3161
+ },
3162
+ "children": {
3163
+ "type": "array",
3164
+ "items": {
3165
+ "$ref": "#/components/schemas/componentBlocksInnerOneOfChildrenInner"
3166
+ }
3167
+ },
3168
+ "level": {
3169
+ "type": "number",
3170
+ "format": "double"
3171
+ },
3172
+ "markDefs": {
3173
+ "type": "array",
3174
+ "items": {
3175
+ "$ref": "#/components/schemas/componentBlocksInnerOneOfMarkDefsInner"
3176
+ }
3177
+ },
3178
+ "sanityKey": {
3179
+ "type": "string"
3180
+ }
3181
+ }
3182
+ },
3183
+ "sanityTechnologyWithRelationsArticlesInnerMediaOneOf": {
3184
+ "type": "object",
3185
+ "properties": {
3186
+ "sanityType": {
3187
+ "enum": [
3188
+ "image"
3189
+ ],
3190
+ "type": "string",
3191
+ "default": "image"
3192
+ },
3193
+ "asset": {
3194
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
3195
+ }
3196
+ }
3197
+ },
3198
+ "sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner": {
3199
+ "type": "object",
3200
+ "properties": {
3201
+ "actualInstance": {
3202
+ "type": "object"
3203
+ },
3204
+ "isNullable": {
3205
+ "type": "boolean"
3206
+ },
3207
+ "schemaType": {
3208
+ "type": "string"
3209
+ }
3210
+ }
3211
+ },
3212
+ "sanityTechnologyWithRelationsEmployeesInnerTagsInner": {
3213
+ "type": "object",
3214
+ "properties": {
3215
+ "sanityType": {
3216
+ "enum": [
3217
+ "tag"
3218
+ ],
3219
+ "type": "string",
3220
+ "default": "tag"
3221
+ },
3222
+ "name": {
3223
+ "type": "string"
3224
+ },
3225
+ "sanityId": {
3226
+ "type": "string"
3227
+ },
3228
+ "slug": {
3229
+ "$ref": "#/components/schemas/slug"
3230
+ }
3231
+ }
3232
+ },
3233
+ "sanityTechnologyWithRelationsProjectsInnerTechnologiesInner": {
3234
+ "type": "object",
3235
+ "properties": {
3236
+ "sanityType": {
3237
+ "enum": [
3238
+ "technology"
3239
+ ],
3240
+ "type": "string",
3241
+ "default": "technology"
3242
+ },
3243
+ "parent": {
3244
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
3245
+ },
3246
+ "sanityId": {
3247
+ "type": "string"
3248
+ },
3249
+ "slug": {
3250
+ "$ref": "#/components/schemas/slug"
3251
+ },
3252
+ "title": {
3253
+ "type": "string"
3254
+ }
3255
+ }
3256
+ },
3257
+ "sanityTvCategoryDashboardsInnerBackgroundImage": {
3258
+ "type": "object",
3259
+ "properties": {
3260
+ "sanityType": {
3261
+ "enum": [
3262
+ "image"
3263
+ ],
3264
+ "type": "string",
3265
+ "default": "image"
3266
+ },
3267
+ "asset": {
3268
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
3269
+ }
3270
+ }
3271
+ },
3272
+ "sanityTvCategoryDashboardsInnerBackgroundImageAsset": {
3273
+ "type": "object",
3274
+ "properties": {
3275
+ "sanityType": {
3276
+ "enum": [
3277
+ "sanity.imageAsset"
3278
+ ],
3279
+ "type": "string",
3280
+ "default": "sanity.imageAsset"
3281
+ },
3282
+ "mimeType": {
3283
+ "type": "string"
3284
+ },
3285
+ "originalFilename": {
3286
+ "type": "string"
3287
+ },
3288
+ "sanityId": {
3289
+ "type": "string"
3290
+ },
3291
+ "url": {
3292
+ "type": "string"
3293
+ }
3294
+ }
3295
+ },
3296
+ "slug": {
3297
+ "type": "object",
3298
+ "properties": {
3299
+ "sanityType": {
3300
+ "enum": [
3301
+ "slug"
3302
+ ],
3303
+ "type": "string",
3304
+ "default": "slug"
3305
+ },
3306
+ "current": {
3307
+ "type": "string"
3308
+ },
3309
+ "source": {
3310
+ "type": "string"
3311
+ }
3312
+ }
3313
+ },
3314
+ "tag": {
3315
+ "type": "object",
3316
+ "properties": {
3317
+ "sanityId": {
3318
+ "type": "string"
3319
+ },
3320
+ "sanityType": {
3321
+ "type": "string"
3322
+ },
3323
+ "name": {
3324
+ "type": "string"
3325
+ },
3326
+ "slug": {
3327
+ "$ref": "#/components/schemas/slug"
3328
+ }
3329
+ }
3330
+ },
3331
+ "technology": {
3332
+ "type": "object",
3333
+ "properties": {
3334
+ "sanityId": {
3335
+ "type": "string"
3336
+ },
3337
+ "sanityType": {
3338
+ "type": "string"
3339
+ },
3340
+ "name": {
3341
+ "type": "string"
3342
+ },
3343
+ "slug": {
3344
+ "$ref": "#/components/schemas/slug"
3345
+ },
3346
+ "parent": {
3347
+ "$ref": "#/components/schemas/tag"
3348
+ }
3349
+ }
3350
+ },
3351
+ "updateProposalRequest": {
3352
+ "type": "object",
3353
+ "properties": {
3354
+ "name": {
3355
+ "type": "string",
3356
+ "nullable": true
3357
+ },
3358
+ "archived": {
3359
+ "type": "boolean",
3360
+ "nullable": true
3361
+ },
3362
+ "status": {
3363
+ "type": "string",
3364
+ "nullable": true
3365
+ }
3366
+ }
3367
+ }
3368
+ },
3369
+ "securitySchemes": {
3370
+ "Implicit": {
3371
+ "type": "oauth2",
3372
+ "flows": {
3373
+ "implicit": {
3374
+ "authorizationUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
3375
+ "tokenUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
3376
+ "refreshUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
3377
+ "scopes": {
3378
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default": "Default function scope"
3379
+ }
3380
+ }
3381
+ }
3382
+ },
3383
+ "ApiKey": {
3384
+ "type": "http",
3385
+ "scheme": "bearer",
3386
+ "bearerFormat": "JWT"
3387
+ }
3388
+ }
3389
+ }
3390
+ }