@snokam/mcp-api 0.183.1 → 0.184.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,3396 @@
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}": {
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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.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/sanityPatchEmployeeSalaryConfig"
2000
+ },
2001
+ "scopeGrants": {
2002
+ "type": "array",
2003
+ "items": {
2004
+ "type": "string"
2005
+ }
2006
+ },
2007
+ "settings": {
2008
+ "$ref": "#/components/schemas/sanityPatchEmployeeSettings"
2009
+ },
2010
+ "slug": {
2011
+ "$ref": "#/components/schemas/slug"
2012
+ },
2013
+ "start_date": {
2014
+ "type": "string"
2015
+ },
2016
+ "tags": {
2017
+ "type": "array",
2018
+ "items": {
2019
+ "$ref": "#/components/schemas/sanityCreateEmployeeTagsInner"
2020
+ }
2021
+ },
2022
+ "technologies": {
2023
+ "type": "array",
2024
+ "items": {
2025
+ "$ref": "#/components/schemas/sanityCreateEmployeeTechnologiesInner"
2026
+ }
2027
+ },
2028
+ "telephone": {
2029
+ "type": "string"
2030
+ },
2031
+ "additionalProperties": {
2032
+ "type": "object",
2033
+ "additionalProperties": {
2034
+ "type": "object"
2035
+ }
2036
+ }
2037
+ }
2038
+ },
2039
+ "presentationSpeaker": {
2040
+ "type": "object",
2041
+ "properties": {
2042
+ "name": {
2043
+ "type": "string",
2044
+ "nullable": true
2045
+ },
2046
+ "email": {
2047
+ "type": "string",
2048
+ "nullable": true
2049
+ },
2050
+ "flowcaseUserId": {
2051
+ "type": "string",
2052
+ "nullable": true
2053
+ }
2054
+ },
2055
+ "nullable": true
2056
+ },
2057
+ "protectedEmployee": {
2058
+ "type": "object",
2059
+ "properties": {
2060
+ "started": {
2061
+ "type": "boolean",
2062
+ "nullable": true
2063
+ },
2064
+ "gender": {
2065
+ "enum": [
2066
+ "female",
2067
+ "male",
2068
+ "These are not the genders you are looking for"
2069
+ ],
2070
+ "type": "string",
2071
+ "default": "female"
2072
+ },
2073
+ "maritalStatus": {
2074
+ "enum": [
2075
+ "cohabitant",
2076
+ "married",
2077
+ "single"
2078
+ ],
2079
+ "type": "string",
2080
+ "default": "cohabitant",
2081
+ "nullable": true
2082
+ },
2083
+ "parentalLeaveCoverage": {
2084
+ "enum": [
2085
+ "80",
2086
+ "100"
2087
+ ],
2088
+ "type": "string",
2089
+ "default": "80",
2090
+ "nullable": true
2091
+ },
2092
+ "sanityType": {
2093
+ "enum": [
2094
+ "employee"
2095
+ ],
2096
+ "type": "string",
2097
+ "default": "employee"
2098
+ },
2099
+ "about": {
2100
+ "type": "string"
2101
+ },
2102
+ "active": {
2103
+ "type": "boolean"
2104
+ },
2105
+ "address": {
2106
+ "type": "string"
2107
+ },
2108
+ "allergies": {
2109
+ "type": "array",
2110
+ "items": {
2111
+ "type": "string"
2112
+ }
2113
+ },
2114
+ "birth_date": {
2115
+ "type": "string"
2116
+ },
2117
+ "blurred_image": {
2118
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2119
+ },
2120
+ "boardMember": {
2121
+ "type": "boolean"
2122
+ },
2123
+ "cliftonStrengths": {
2124
+ "type": "array",
2125
+ "items": {
2126
+ "$ref": "#/components/schemas/sanityEmployeeCliftonStrengthsInner"
2127
+ }
2128
+ },
2129
+ "coinbaseAccountEmail": {
2130
+ "type": "string"
2131
+ },
2132
+ "commissionTier": {
2133
+ "$ref": "#/components/schemas/sanityEmployeeCommissionTier"
2134
+ },
2135
+ "education": {
2136
+ "type": "string"
2137
+ },
2138
+ "email": {
2139
+ "type": "string"
2140
+ },
2141
+ "equipment": {
2142
+ "type": "array",
2143
+ "items": {
2144
+ "$ref": "#/components/schemas/sanityEmployeeEquipmentInner"
2145
+ }
2146
+ },
2147
+ "externalId": {
2148
+ "type": "string"
2149
+ },
2150
+ "github": {
2151
+ "type": "string"
2152
+ },
2153
+ "graduationYear": {
2154
+ "type": "number",
2155
+ "format": "double"
2156
+ },
2157
+ "groups": {
2158
+ "type": "array",
2159
+ "items": {
2160
+ "$ref": "#/components/schemas/sanityEmployeeGroupsInner"
2161
+ }
2162
+ },
2163
+ "image": {
2164
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2165
+ },
2166
+ "innovativeSalary": {
2167
+ "type": "boolean"
2168
+ },
2169
+ "innovativeSalaryPercentage": {
2170
+ "type": "number",
2171
+ "format": "double"
2172
+ },
2173
+ "isBot": {
2174
+ "type": "boolean"
2175
+ },
2176
+ "isExternal": {
2177
+ "type": "boolean"
2178
+ },
2179
+ "isPublic": {
2180
+ "type": "boolean"
2181
+ },
2182
+ "isSeekingProject": {
2183
+ "type": "boolean"
2184
+ },
2185
+ "linkedin": {
2186
+ "type": "string"
2187
+ },
2188
+ "manager": {
2189
+ "$ref": "#/components/schemas/sanityEmployeeManager"
2190
+ },
2191
+ "media": {
2192
+ "type": "array",
2193
+ "items": {
2194
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner"
2195
+ }
2196
+ },
2197
+ "name": {
2198
+ "type": "string"
2199
+ },
2200
+ "nextOfKin": {
2201
+ "type": "array",
2202
+ "items": {
2203
+ "$ref": "#/components/schemas/sanityEmployeeNextOfKinInner"
2204
+ }
2205
+ },
2206
+ "nrOfChildren": {
2207
+ "type": "number",
2208
+ "format": "double"
2209
+ },
2210
+ "parentalLeaveStartDate": {
2211
+ "type": "string"
2212
+ },
2213
+ "personalProjectRequirements": {
2214
+ "type": "string"
2215
+ },
2216
+ "position": {
2217
+ "type": "string"
2218
+ },
2219
+ "salaryConfig": {
2220
+ "$ref": "#/components/schemas/sanityEmployeeSalaryConfig"
2221
+ },
2222
+ "sanityCreatedAt": {
2223
+ "type": "string"
2224
+ },
2225
+ "sanityId": {
2226
+ "type": "string"
2227
+ },
2228
+ "sanityRev": {
2229
+ "type": "string"
2230
+ },
2231
+ "sanityUpdatedAt": {
2232
+ "type": "string"
2233
+ },
2234
+ "scopeGrants": {
2235
+ "type": "array",
2236
+ "items": {
2237
+ "type": "string"
2238
+ }
2239
+ },
2240
+ "settings": {
2241
+ "$ref": "#/components/schemas/sanityEmployeeSettings"
2242
+ },
2243
+ "slug": {
2244
+ "$ref": "#/components/schemas/slug"
2245
+ },
2246
+ "start_date": {
2247
+ "type": "string"
2248
+ },
2249
+ "tags": {
2250
+ "type": "array",
2251
+ "items": {
2252
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
2253
+ }
2254
+ },
2255
+ "technologies": {
2256
+ "type": "array",
2257
+ "items": {
2258
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsProjectsInnerTechnologiesInner"
2259
+ }
2260
+ },
2261
+ "telephone": {
2262
+ "type": "string"
2263
+ }
2264
+ }
2265
+ },
2266
+ "publicEmployee": {
2267
+ "type": "object",
2268
+ "properties": {
2269
+ "sanityId": {
2270
+ "type": "string"
2271
+ },
2272
+ "sanityType": {
2273
+ "type": "string"
2274
+ },
2275
+ "active": {
2276
+ "type": "boolean",
2277
+ "nullable": true
2278
+ },
2279
+ "isPublic": {
2280
+ "type": "boolean",
2281
+ "nullable": true
2282
+ },
2283
+ "image": {
2284
+ "$ref": "#/components/schemas/sanityImage"
2285
+ },
2286
+ "tags": {
2287
+ "type": "array",
2288
+ "items": {
2289
+ "$ref": "#/components/schemas/tag"
2290
+ }
2291
+ },
2292
+ "technologies": {
2293
+ "type": "array",
2294
+ "items": {
2295
+ "$ref": "#/components/schemas/technology"
2296
+ }
2297
+ },
2298
+ "started": {
2299
+ "type": "boolean"
2300
+ },
2301
+ "media": {
2302
+ "type": "array",
2303
+ "items": {
2304
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner"
2305
+ }
2306
+ },
2307
+ "name": {
2308
+ "type": "string"
2309
+ },
2310
+ "slug": {
2311
+ "$ref": "#/components/schemas/slug"
2312
+ },
2313
+ "gender": {
2314
+ "type": "string"
2315
+ },
2316
+ "email": {
2317
+ "type": "string"
2318
+ },
2319
+ "telephone": {
2320
+ "type": "string"
2321
+ },
2322
+ "position": {
2323
+ "type": "string"
2324
+ },
2325
+ "education": {
2326
+ "type": "string"
2327
+ },
2328
+ "about": {
2329
+ "type": "string"
2330
+ },
2331
+ "linkedin": {
2332
+ "type": "string"
2333
+ },
2334
+ "github": {
2335
+ "type": "string"
2336
+ },
2337
+ "birthDate": {
2338
+ "type": "string",
2339
+ "format": "date-time",
2340
+ "nullable": true
2341
+ },
2342
+ "startDate": {
2343
+ "type": "string"
2344
+ }
2345
+ }
2346
+ },
2347
+ "sanityAssetSourceData": {
2348
+ "type": "object",
2349
+ "properties": {
2350
+ "sanityType": {
2351
+ "enum": [
2352
+ "sanity.assetSourceData"
2353
+ ],
2354
+ "type": "string",
2355
+ "default": "sanity.assetSourceData"
2356
+ },
2357
+ "id": {
2358
+ "type": "string"
2359
+ },
2360
+ "name": {
2361
+ "type": "string"
2362
+ },
2363
+ "url": {
2364
+ "type": "string"
2365
+ }
2366
+ }
2367
+ },
2368
+ "sanityCreateEmployeeCliftonStrengthsInner": {
2369
+ "type": "object",
2370
+ "properties": {
2371
+ "sanityType": {
2372
+ "enum": [
2373
+ "reference"
2374
+ ],
2375
+ "type": "string",
2376
+ "default": "reference"
2377
+ },
2378
+ "sanityKey": {
2379
+ "type": "string"
2380
+ },
2381
+ "sanityRef": {
2382
+ "type": "string"
2383
+ },
2384
+ "sanityWeak": {
2385
+ "type": "boolean"
2386
+ }
2387
+ }
2388
+ },
2389
+ "sanityCreateEmployeeGroupsInner": {
2390
+ "type": "object",
2391
+ "properties": {
2392
+ "sanityType": {
2393
+ "enum": [
2394
+ "reference"
2395
+ ],
2396
+ "type": "string",
2397
+ "default": "reference"
2398
+ },
2399
+ "sanityKey": {
2400
+ "type": "string"
2401
+ },
2402
+ "sanityRef": {
2403
+ "type": "string"
2404
+ },
2405
+ "sanityWeak": {
2406
+ "type": "boolean"
2407
+ }
2408
+ }
2409
+ },
2410
+ "sanityCreateEmployeeTagsInner": {
2411
+ "type": "object",
2412
+ "properties": {
2413
+ "sanityType": {
2414
+ "enum": [
2415
+ "reference"
2416
+ ],
2417
+ "type": "string",
2418
+ "default": "reference"
2419
+ },
2420
+ "sanityKey": {
2421
+ "type": "string"
2422
+ },
2423
+ "sanityRef": {
2424
+ "type": "string"
2425
+ },
2426
+ "sanityWeak": {
2427
+ "type": "boolean"
2428
+ }
2429
+ }
2430
+ },
2431
+ "sanityCreateEmployeeTechnologiesInner": {
2432
+ "type": "object",
2433
+ "properties": {
2434
+ "sanityType": {
2435
+ "enum": [
2436
+ "reference"
2437
+ ],
2438
+ "type": "string",
2439
+ "default": "reference"
2440
+ },
2441
+ "sanityKey": {
2442
+ "type": "string"
2443
+ },
2444
+ "sanityRef": {
2445
+ "type": "string"
2446
+ },
2447
+ "sanityWeak": {
2448
+ "type": "boolean"
2449
+ }
2450
+ }
2451
+ },
2452
+ "sanityEmployeeCliftonStrengthsInner": {
2453
+ "type": "object",
2454
+ "properties": {
2455
+ "domain": {
2456
+ "enum": [
2457
+ "executing",
2458
+ "influencing",
2459
+ "relationship_building",
2460
+ "strategic_thinking"
2461
+ ],
2462
+ "type": "string",
2463
+ "default": "executing",
2464
+ "nullable": true
2465
+ },
2466
+ "sanityType": {
2467
+ "enum": [
2468
+ "cliftonStrength"
2469
+ ],
2470
+ "type": "string",
2471
+ "default": "cliftonStrength"
2472
+ },
2473
+ "sanityCreatedAt": {
2474
+ "type": "string"
2475
+ },
2476
+ "sanityId": {
2477
+ "type": "string"
2478
+ },
2479
+ "sanityRev": {
2480
+ "type": "string"
2481
+ },
2482
+ "sanityUpdatedAt": {
2483
+ "type": "string"
2484
+ },
2485
+ "strength": {
2486
+ "type": "string"
2487
+ }
2488
+ }
2489
+ },
2490
+ "sanityEmployeeCommissionTier": {
2491
+ "type": "object",
2492
+ "properties": {
2493
+ "sanityType": {
2494
+ "enum": [
2495
+ "commissionTier"
2496
+ ],
2497
+ "type": "string",
2498
+ "default": "commissionTier"
2499
+ },
2500
+ "commission": {
2501
+ "type": "number",
2502
+ "format": "double"
2503
+ },
2504
+ "sanityCreatedAt": {
2505
+ "type": "string"
2506
+ },
2507
+ "sanityId": {
2508
+ "type": "string"
2509
+ },
2510
+ "sanityRev": {
2511
+ "type": "string"
2512
+ },
2513
+ "sanityUpdatedAt": {
2514
+ "type": "string"
2515
+ },
2516
+ "title": {
2517
+ "type": "string"
2518
+ }
2519
+ }
2520
+ },
2521
+ "sanityEmployeeEquipmentInner": {
2522
+ "type": "object",
2523
+ "properties": {
2524
+ "sanityType": {
2525
+ "enum": [
2526
+ "equipment"
2527
+ ],
2528
+ "type": "string",
2529
+ "default": "equipment"
2530
+ },
2531
+ "description": {
2532
+ "type": "array",
2533
+ "items": {
2534
+ "$ref": "#/components/schemas/sanitySystemsInnerDescriptionInner"
2535
+ }
2536
+ },
2537
+ "image": {
2538
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2539
+ },
2540
+ "images": {
2541
+ "type": "array",
2542
+ "items": {
2543
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMediaOneOf"
2544
+ }
2545
+ },
2546
+ "sanityId": {
2547
+ "type": "string"
2548
+ },
2549
+ "title": {
2550
+ "type": "string"
2551
+ }
2552
+ }
2553
+ },
2554
+ "sanityEmployeeGroupsInner": {
2555
+ "type": "object",
2556
+ "properties": {
2557
+ "sanityType": {
2558
+ "enum": [
2559
+ "group"
2560
+ ],
2561
+ "type": "string",
2562
+ "default": "group"
2563
+ },
2564
+ "description": {
2565
+ "type": "array",
2566
+ "items": {
2567
+ "$ref": "#/components/schemas/sanitySystemsInnerDescriptionInner"
2568
+ }
2569
+ },
2570
+ "image": {
2571
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMediaOneOf"
2572
+ },
2573
+ "leaders": {
2574
+ "type": "array",
2575
+ "items": {
2576
+ "$ref": "#/components/schemas/pageEmployeeOrderInner"
2577
+ }
2578
+ },
2579
+ "name": {
2580
+ "type": "string"
2581
+ },
2582
+ "permissions": {
2583
+ "type": "string"
2584
+ },
2585
+ "sanityCreatedAt": {
2586
+ "type": "string"
2587
+ },
2588
+ "sanityId": {
2589
+ "type": "string"
2590
+ },
2591
+ "sanityRev": {
2592
+ "type": "string"
2593
+ },
2594
+ "sanityUpdatedAt": {
2595
+ "type": "string"
2596
+ },
2597
+ "scopeGrants": {
2598
+ "type": "array",
2599
+ "items": {
2600
+ "type": "string"
2601
+ }
2602
+ }
2603
+ }
2604
+ },
2605
+ "sanityEmployeeManager": {
2606
+ "type": "object",
2607
+ "properties": {
2608
+ "sanityType": {
2609
+ "enum": [
2610
+ "employee"
2611
+ ],
2612
+ "type": "string",
2613
+ "default": "employee"
2614
+ },
2615
+ "email": {
2616
+ "type": "string"
2617
+ },
2618
+ "image": {
2619
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
2620
+ },
2621
+ "isBot": {
2622
+ "type": "boolean",
2623
+ "nullable": true
2624
+ },
2625
+ "isExternal": {
2626
+ "type": "boolean",
2627
+ "nullable": true
2628
+ },
2629
+ "name": {
2630
+ "type": "string"
2631
+ },
2632
+ "sanityId": {
2633
+ "type": "string"
2634
+ },
2635
+ "slug": {
2636
+ "$ref": "#/components/schemas/slug"
2637
+ },
2638
+ "tags": {
2639
+ "type": "array",
2640
+ "items": {
2641
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
2642
+ }
2643
+ },
2644
+ "telephone": {
2645
+ "type": "string"
2646
+ }
2647
+ }
2648
+ },
2649
+ "sanityEmployeeNextOfKinInner": {
2650
+ "type": "object",
2651
+ "properties": {
2652
+ "sanityType": {
2653
+ "enum": [
2654
+ "nextofkin"
2655
+ ],
2656
+ "type": "string",
2657
+ "default": "nextofkin"
2658
+ },
2659
+ "name": {
2660
+ "type": "string"
2661
+ },
2662
+ "sanityKey": {
2663
+ "type": "string"
2664
+ },
2665
+ "telephone": {
2666
+ "type": "string"
2667
+ }
2668
+ }
2669
+ },
2670
+ "sanityEmployeeSalaryConfig": {
2671
+ "type": "object",
2672
+ "properties": {
2673
+ "model": {
2674
+ "enum": [
2675
+ "snokam.ceo",
2676
+ "snokam.employee"
2677
+ ],
2678
+ "type": "string",
2679
+ "default": "snokam.ceo",
2680
+ "nullable": true
2681
+ }
2682
+ }
2683
+ },
2684
+ "sanityEmployeeSettings": {
2685
+ "type": "object",
2686
+ "properties": {
2687
+ "colorScheme": {
2688
+ "enum": [
2689
+ "dark",
2690
+ "light",
2691
+ "system"
2692
+ ],
2693
+ "type": "string",
2694
+ "default": "dark",
2695
+ "nullable": true
2696
+ }
2697
+ }
2698
+ },
2699
+ "sanityGadgetBudgetYearlyBudgetsInner": {
2700
+ "type": "object",
2701
+ "properties": {
2702
+ "sanityType": {
2703
+ "enum": [
2704
+ "yearlyBudget"
2705
+ ],
2706
+ "type": "string",
2707
+ "default": "yearlyBudget"
2708
+ },
2709
+ "amount": {
2710
+ "type": "number",
2711
+ "format": "double"
2712
+ },
2713
+ "equipmentList": {
2714
+ "type": "array",
2715
+ "items": {
2716
+ "$ref": "#/components/schemas/sanityGadgetBudgetYearlyBudgetsInnerEquipmentListInner"
2717
+ }
2718
+ },
2719
+ "sanityKey": {
2720
+ "type": "string"
2721
+ },
2722
+ "year": {
2723
+ "type": "number",
2724
+ "format": "double"
2725
+ }
2726
+ }
2727
+ },
2728
+ "sanityGadgetBudgetYearlyBudgetsInnerEquipmentListInner": {
2729
+ "type": "object",
2730
+ "properties": {
2731
+ "actualInstance": {
2732
+ "type": "object"
2733
+ },
2734
+ "isNullable": {
2735
+ "type": "boolean"
2736
+ },
2737
+ "schemaType": {
2738
+ "type": "string"
2739
+ }
2740
+ }
2741
+ },
2742
+ "sanityImage": {
2743
+ "type": "object",
2744
+ "properties": {
2745
+ "sanityType": {
2746
+ "enum": [
2747
+ "image"
2748
+ ],
2749
+ "type": "string",
2750
+ "default": "image"
2751
+ },
2752
+ "asset": {
2753
+ "$ref": "#/components/schemas/sanityImageAsset"
2754
+ },
2755
+ "sanityId": {
2756
+ "type": "string"
2757
+ },
2758
+ "sanityKey": {
2759
+ "type": "string"
2760
+ },
2761
+ "additionalProperties": {
2762
+ "type": "object",
2763
+ "additionalProperties": {
2764
+ "type": "object"
2765
+ }
2766
+ }
2767
+ }
2768
+ },
2769
+ "sanityImageAsset": {
2770
+ "type": "object",
2771
+ "properties": {
2772
+ "sanityType": {
2773
+ "enum": [
2774
+ "sanity.imageAsset"
2775
+ ],
2776
+ "type": "string",
2777
+ "default": "sanity.imageAsset"
2778
+ },
2779
+ "altText": {
2780
+ "type": "string"
2781
+ },
2782
+ "assetId": {
2783
+ "type": "string"
2784
+ },
2785
+ "description": {
2786
+ "type": "string"
2787
+ },
2788
+ "extension": {
2789
+ "type": "string"
2790
+ },
2791
+ "label": {
2792
+ "type": "string"
2793
+ },
2794
+ "metadata": {
2795
+ "$ref": "#/components/schemas/sanityImageMetadata"
2796
+ },
2797
+ "mimeType": {
2798
+ "type": "string"
2799
+ },
2800
+ "originalFilename": {
2801
+ "type": "string"
2802
+ },
2803
+ "path": {
2804
+ "type": "string"
2805
+ },
2806
+ "sanityCreatedAt": {
2807
+ "type": "string"
2808
+ },
2809
+ "sanityId": {
2810
+ "type": "string"
2811
+ },
2812
+ "sanityRev": {
2813
+ "type": "string"
2814
+ },
2815
+ "sanityUpdatedAt": {
2816
+ "type": "string"
2817
+ },
2818
+ "sha1hash": {
2819
+ "type": "string"
2820
+ },
2821
+ "size": {
2822
+ "type": "number",
2823
+ "format": "double"
2824
+ },
2825
+ "source": {
2826
+ "$ref": "#/components/schemas/sanityAssetSourceData"
2827
+ },
2828
+ "title": {
2829
+ "type": "string"
2830
+ },
2831
+ "uploadId": {
2832
+ "type": "string"
2833
+ },
2834
+ "url": {
2835
+ "type": "string"
2836
+ },
2837
+ "additionalProperties": {
2838
+ "type": "object",
2839
+ "additionalProperties": {
2840
+ "type": "object"
2841
+ }
2842
+ }
2843
+ }
2844
+ },
2845
+ "sanityImageAssetReference": {
2846
+ "type": "object",
2847
+ "properties": {
2848
+ "sanityType": {
2849
+ "enum": [
2850
+ "reference"
2851
+ ],
2852
+ "type": "string",
2853
+ "default": "reference"
2854
+ },
2855
+ "sanityRef": {
2856
+ "type": "string"
2857
+ },
2858
+ "sanityWeak": {
2859
+ "type": "boolean"
2860
+ }
2861
+ }
2862
+ },
2863
+ "sanityImageCrop": {
2864
+ "type": "object",
2865
+ "properties": {
2866
+ "sanityType": {
2867
+ "enum": [
2868
+ "sanity.imageCrop"
2869
+ ],
2870
+ "type": "string",
2871
+ "default": "sanity.imageCrop"
2872
+ },
2873
+ "bottom": {
2874
+ "type": "number",
2875
+ "format": "double"
2876
+ },
2877
+ "left": {
2878
+ "type": "number",
2879
+ "format": "double"
2880
+ },
2881
+ "right": {
2882
+ "type": "number",
2883
+ "format": "double"
2884
+ },
2885
+ "top": {
2886
+ "type": "number",
2887
+ "format": "double"
2888
+ }
2889
+ }
2890
+ },
2891
+ "sanityImageDimensions": {
2892
+ "type": "object",
2893
+ "properties": {
2894
+ "sanityType": {
2895
+ "enum": [
2896
+ "sanity.imageDimensions"
2897
+ ],
2898
+ "type": "string",
2899
+ "default": "sanity.imageDimensions"
2900
+ },
2901
+ "aspectRatio": {
2902
+ "type": "number",
2903
+ "format": "double"
2904
+ },
2905
+ "height": {
2906
+ "type": "number",
2907
+ "format": "double"
2908
+ },
2909
+ "width": {
2910
+ "type": "number",
2911
+ "format": "double"
2912
+ }
2913
+ }
2914
+ },
2915
+ "sanityImageHotspot": {
2916
+ "type": "object",
2917
+ "properties": {
2918
+ "sanityType": {
2919
+ "enum": [
2920
+ "sanity.imageHotspot"
2921
+ ],
2922
+ "type": "string",
2923
+ "default": "sanity.imageHotspot"
2924
+ },
2925
+ "height": {
2926
+ "type": "number",
2927
+ "format": "double"
2928
+ },
2929
+ "width": {
2930
+ "type": "number",
2931
+ "format": "double"
2932
+ },
2933
+ "x": {
2934
+ "type": "number",
2935
+ "format": "double"
2936
+ },
2937
+ "y": {
2938
+ "type": "number",
2939
+ "format": "double"
2940
+ }
2941
+ }
2942
+ },
2943
+ "sanityImageMetadata": {
2944
+ "type": "object",
2945
+ "properties": {
2946
+ "sanityType": {
2947
+ "enum": [
2948
+ "sanity.imageMetadata"
2949
+ ],
2950
+ "type": "string",
2951
+ "default": "sanity.imageMetadata"
2952
+ },
2953
+ "blurHash": {
2954
+ "type": "string"
2955
+ },
2956
+ "dimensions": {
2957
+ "$ref": "#/components/schemas/sanityImageDimensions"
2958
+ },
2959
+ "hasAlpha": {
2960
+ "type": "boolean"
2961
+ },
2962
+ "isOpaque": {
2963
+ "type": "boolean"
2964
+ },
2965
+ "location": {
2966
+ "$ref": "#/components/schemas/geopoint"
2967
+ },
2968
+ "lqip": {
2969
+ "type": "string"
2970
+ },
2971
+ "palette": {
2972
+ "$ref": "#/components/schemas/sanityImagePalette"
2973
+ },
2974
+ "thumbHash": {
2975
+ "type": "string"
2976
+ }
2977
+ }
2978
+ },
2979
+ "sanityImagePalette": {
2980
+ "type": "object",
2981
+ "properties": {
2982
+ "sanityType": {
2983
+ "enum": [
2984
+ "sanity.imagePalette"
2985
+ ],
2986
+ "type": "string",
2987
+ "default": "sanity.imagePalette"
2988
+ },
2989
+ "darkMuted": {
2990
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
2991
+ },
2992
+ "darkVibrant": {
2993
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
2994
+ },
2995
+ "dominant": {
2996
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
2997
+ },
2998
+ "lightMuted": {
2999
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3000
+ },
3001
+ "lightVibrant": {
3002
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3003
+ },
3004
+ "muted": {
3005
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3006
+ },
3007
+ "vibrant": {
3008
+ "$ref": "#/components/schemas/sanityImagePaletteSwatch"
3009
+ }
3010
+ }
3011
+ },
3012
+ "sanityImagePaletteSwatch": {
3013
+ "type": "object",
3014
+ "properties": {
3015
+ "sanityType": {
3016
+ "enum": [
3017
+ "sanity.imagePaletteSwatch"
3018
+ ],
3019
+ "type": "string",
3020
+ "default": "sanity.imagePaletteSwatch"
3021
+ },
3022
+ "background": {
3023
+ "type": "string"
3024
+ },
3025
+ "foreground": {
3026
+ "type": "string"
3027
+ },
3028
+ "population": {
3029
+ "type": "number",
3030
+ "format": "double"
3031
+ },
3032
+ "title": {
3033
+ "type": "string"
3034
+ }
3035
+ }
3036
+ },
3037
+ "sanityOrderEmployee": {
3038
+ "type": "object",
3039
+ "properties": {
3040
+ "sanityType": {
3041
+ "enum": [
3042
+ "employee"
3043
+ ],
3044
+ "type": "string",
3045
+ "default": "employee"
3046
+ },
3047
+ "email": {
3048
+ "type": "string"
3049
+ },
3050
+ "image": {
3051
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
3052
+ },
3053
+ "isBot": {
3054
+ "type": "boolean",
3055
+ "nullable": true
3056
+ },
3057
+ "isExternal": {
3058
+ "type": "boolean",
3059
+ "nullable": true
3060
+ },
3061
+ "name": {
3062
+ "type": "string"
3063
+ },
3064
+ "sanityId": {
3065
+ "type": "string"
3066
+ },
3067
+ "slug": {
3068
+ "$ref": "#/components/schemas/slug"
3069
+ },
3070
+ "tags": {
3071
+ "type": "array",
3072
+ "items": {
3073
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
3074
+ }
3075
+ },
3076
+ "telephone": {
3077
+ "type": "string"
3078
+ }
3079
+ }
3080
+ },
3081
+ "sanityPatchEmployeeSalaryConfig": {
3082
+ "type": "object",
3083
+ "properties": {
3084
+ "model": {
3085
+ "enum": [
3086
+ "snokam.ceo",
3087
+ "snokam.employee"
3088
+ ],
3089
+ "type": "string",
3090
+ "default": "snokam.ceo",
3091
+ "nullable": true
3092
+ }
3093
+ }
3094
+ },
3095
+ "sanityPatchEmployeeSettings": {
3096
+ "type": "object",
3097
+ "properties": {
3098
+ "colorScheme": {
3099
+ "enum": [
3100
+ "dark",
3101
+ "light",
3102
+ "system"
3103
+ ],
3104
+ "type": "string",
3105
+ "default": "dark",
3106
+ "nullable": true
3107
+ }
3108
+ }
3109
+ },
3110
+ "sanityPatchPageMetaImage": {
3111
+ "type": "object",
3112
+ "properties": {
3113
+ "sanityType": {
3114
+ "enum": [
3115
+ "image"
3116
+ ],
3117
+ "type": "string",
3118
+ "default": "image"
3119
+ },
3120
+ "asset": {
3121
+ "$ref": "#/components/schemas/sanityImageAssetReference"
3122
+ },
3123
+ "crop": {
3124
+ "$ref": "#/components/schemas/sanityImageCrop"
3125
+ },
3126
+ "hotspot": {
3127
+ "$ref": "#/components/schemas/sanityImageHotspot"
3128
+ },
3129
+ "media": {
3130
+ "type": "object"
3131
+ }
3132
+ }
3133
+ },
3134
+ "sanitySystemsInnerDescriptionInner": {
3135
+ "type": "object",
3136
+ "properties": {
3137
+ "listItem": {
3138
+ "enum": [
3139
+ "bullet",
3140
+ "number"
3141
+ ],
3142
+ "type": "string",
3143
+ "default": "bullet",
3144
+ "nullable": true
3145
+ },
3146
+ "sanityType": {
3147
+ "enum": [
3148
+ "block"
3149
+ ],
3150
+ "type": "string",
3151
+ "default": "block"
3152
+ },
3153
+ "style": {
3154
+ "enum": [
3155
+ "blockquote",
3156
+ "h1",
3157
+ "h2",
3158
+ "h3",
3159
+ "h4",
3160
+ "h5",
3161
+ "h6",
3162
+ "normal"
3163
+ ],
3164
+ "type": "string",
3165
+ "default": "blockquote",
3166
+ "nullable": true
3167
+ },
3168
+ "children": {
3169
+ "type": "array",
3170
+ "items": {
3171
+ "$ref": "#/components/schemas/componentBlocksInnerOneOfChildrenInner"
3172
+ }
3173
+ },
3174
+ "level": {
3175
+ "type": "number",
3176
+ "format": "double"
3177
+ },
3178
+ "markDefs": {
3179
+ "type": "array",
3180
+ "items": {
3181
+ "$ref": "#/components/schemas/componentBlocksInnerOneOfMarkDefsInner"
3182
+ }
3183
+ },
3184
+ "sanityKey": {
3185
+ "type": "string"
3186
+ }
3187
+ }
3188
+ },
3189
+ "sanityTechnologyWithRelationsArticlesInnerMediaOneOf": {
3190
+ "type": "object",
3191
+ "properties": {
3192
+ "sanityType": {
3193
+ "enum": [
3194
+ "image"
3195
+ ],
3196
+ "type": "string",
3197
+ "default": "image"
3198
+ },
3199
+ "asset": {
3200
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
3201
+ }
3202
+ }
3203
+ },
3204
+ "sanityTechnologyWithRelationsDescriptionInnerOneOf4MediaInner": {
3205
+ "type": "object",
3206
+ "properties": {
3207
+ "actualInstance": {
3208
+ "type": "object"
3209
+ },
3210
+ "isNullable": {
3211
+ "type": "boolean"
3212
+ },
3213
+ "schemaType": {
3214
+ "type": "string"
3215
+ }
3216
+ }
3217
+ },
3218
+ "sanityTechnologyWithRelationsEmployeesInnerTagsInner": {
3219
+ "type": "object",
3220
+ "properties": {
3221
+ "sanityType": {
3222
+ "enum": [
3223
+ "tag"
3224
+ ],
3225
+ "type": "string",
3226
+ "default": "tag"
3227
+ },
3228
+ "name": {
3229
+ "type": "string"
3230
+ },
3231
+ "sanityId": {
3232
+ "type": "string"
3233
+ },
3234
+ "slug": {
3235
+ "$ref": "#/components/schemas/slug"
3236
+ }
3237
+ }
3238
+ },
3239
+ "sanityTechnologyWithRelationsProjectsInnerTechnologiesInner": {
3240
+ "type": "object",
3241
+ "properties": {
3242
+ "sanityType": {
3243
+ "enum": [
3244
+ "technology"
3245
+ ],
3246
+ "type": "string",
3247
+ "default": "technology"
3248
+ },
3249
+ "parent": {
3250
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
3251
+ },
3252
+ "sanityId": {
3253
+ "type": "string"
3254
+ },
3255
+ "slug": {
3256
+ "$ref": "#/components/schemas/slug"
3257
+ },
3258
+ "title": {
3259
+ "type": "string"
3260
+ }
3261
+ }
3262
+ },
3263
+ "sanityTvCategoryDashboardsInnerBackgroundImage": {
3264
+ "type": "object",
3265
+ "properties": {
3266
+ "sanityType": {
3267
+ "enum": [
3268
+ "image"
3269
+ ],
3270
+ "type": "string",
3271
+ "default": "image"
3272
+ },
3273
+ "asset": {
3274
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
3275
+ }
3276
+ }
3277
+ },
3278
+ "sanityTvCategoryDashboardsInnerBackgroundImageAsset": {
3279
+ "type": "object",
3280
+ "properties": {
3281
+ "sanityType": {
3282
+ "enum": [
3283
+ "sanity.imageAsset"
3284
+ ],
3285
+ "type": "string",
3286
+ "default": "sanity.imageAsset"
3287
+ },
3288
+ "mimeType": {
3289
+ "type": "string"
3290
+ },
3291
+ "originalFilename": {
3292
+ "type": "string"
3293
+ },
3294
+ "sanityId": {
3295
+ "type": "string"
3296
+ },
3297
+ "url": {
3298
+ "type": "string"
3299
+ }
3300
+ }
3301
+ },
3302
+ "slug": {
3303
+ "type": "object",
3304
+ "properties": {
3305
+ "sanityType": {
3306
+ "enum": [
3307
+ "slug"
3308
+ ],
3309
+ "type": "string",
3310
+ "default": "slug"
3311
+ },
3312
+ "current": {
3313
+ "type": "string"
3314
+ },
3315
+ "source": {
3316
+ "type": "string"
3317
+ }
3318
+ }
3319
+ },
3320
+ "tag": {
3321
+ "type": "object",
3322
+ "properties": {
3323
+ "sanityId": {
3324
+ "type": "string"
3325
+ },
3326
+ "sanityType": {
3327
+ "type": "string"
3328
+ },
3329
+ "name": {
3330
+ "type": "string"
3331
+ },
3332
+ "slug": {
3333
+ "$ref": "#/components/schemas/slug"
3334
+ }
3335
+ }
3336
+ },
3337
+ "technology": {
3338
+ "type": "object",
3339
+ "properties": {
3340
+ "sanityId": {
3341
+ "type": "string"
3342
+ },
3343
+ "sanityType": {
3344
+ "type": "string"
3345
+ },
3346
+ "name": {
3347
+ "type": "string"
3348
+ },
3349
+ "slug": {
3350
+ "$ref": "#/components/schemas/slug"
3351
+ },
3352
+ "parent": {
3353
+ "$ref": "#/components/schemas/tag"
3354
+ }
3355
+ }
3356
+ },
3357
+ "updateProposalRequest": {
3358
+ "type": "object",
3359
+ "properties": {
3360
+ "name": {
3361
+ "type": "string",
3362
+ "nullable": true
3363
+ },
3364
+ "archived": {
3365
+ "type": "boolean",
3366
+ "nullable": true
3367
+ },
3368
+ "status": {
3369
+ "type": "string",
3370
+ "nullable": true
3371
+ }
3372
+ }
3373
+ }
3374
+ },
3375
+ "securitySchemes": {
3376
+ "Implicit": {
3377
+ "type": "oauth2",
3378
+ "flows": {
3379
+ "implicit": {
3380
+ "authorizationUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
3381
+ "tokenUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
3382
+ "refreshUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
3383
+ "scopes": {
3384
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default": "Default function scope"
3385
+ }
3386
+ }
3387
+ }
3388
+ },
3389
+ "ApiKey": {
3390
+ "type": "http",
3391
+ "scheme": "bearer",
3392
+ "bearerFormat": "JWT"
3393
+ }
3394
+ }
3395
+ }
3396
+ }