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