@snokam/mcp-api 0.23.1 → 0.23.2

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