@snokam/mcp-api 0.180.2 → 0.180.4

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,1646 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Blog API",
5
+ "description": "Blog management API",
6
+ "version": "v1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://blog.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/articles/drafts": {
38
+ "post": {
39
+ "tags": [
40
+ "Articles"
41
+ ],
42
+ "summary": "Create a new article as a draft",
43
+ "description": "Creates a new article in Sanity's `drafts.*` namespace. The article is not visible on the public site until PublishDraft is called.",
44
+ "operationId": "CreateDraft",
45
+ "requestBody": {
46
+ "description": "The article content to save as a draft",
47
+ "content": {
48
+ "application/json": {
49
+ "schema": {
50
+ "$ref": "#/components/schemas/sanityCreateArticle"
51
+ }
52
+ }
53
+ },
54
+ "required": true
55
+ },
56
+ "responses": {
57
+ "200": {
58
+ "description": "The newly created draft",
59
+ "content": {
60
+ "application/json": {
61
+ "schema": {
62
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
63
+ }
64
+ }
65
+ },
66
+ "x-ms-summary": "Success"
67
+ },
68
+ "400": {
69
+ "description": "Payload of Object",
70
+ "content": {
71
+ "application/json": {
72
+ "schema": {
73
+ "type": "object"
74
+ }
75
+ }
76
+ },
77
+ "x-ms-summary": "Bad Request"
78
+ },
79
+ "401": {
80
+ "description": "No description",
81
+ "x-ms-summary": "Unauthorized"
82
+ }
83
+ },
84
+ "security": [
85
+ {
86
+ "Implicit": [
87
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
88
+ ]
89
+ },
90
+ {
91
+ "ApiKey": []
92
+ }
93
+ ]
94
+ },
95
+ "get": {
96
+ "tags": [
97
+ "Articles"
98
+ ],
99
+ "summary": "List drafts without a published counterpart",
100
+ "description": "Used by the editor to surface unpublished articles authors might want to resume.",
101
+ "operationId": "GetDraftOnlyArticles",
102
+ "responses": {
103
+ "200": {
104
+ "description": "Draft article list",
105
+ "content": {
106
+ "application/json": {
107
+ "schema": {
108
+ "type": "array",
109
+ "items": {
110
+ "$ref": "#/components/schemas/getArticlesResultInner"
111
+ }
112
+ }
113
+ }
114
+ },
115
+ "x-ms-summary": "Success"
116
+ },
117
+ "401": {
118
+ "description": "No description",
119
+ "x-ms-summary": "Unauthorized"
120
+ }
121
+ },
122
+ "security": [
123
+ {
124
+ "Implicit": [
125
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
126
+ ]
127
+ },
128
+ {
129
+ "ApiKey": []
130
+ }
131
+ ]
132
+ }
133
+ },
134
+ "/v1.0/protected/articles/{slugOrId}/draft": {
135
+ "patch": {
136
+ "tags": [
137
+ "Articles"
138
+ ],
139
+ "summary": "Write an edit to the draft",
140
+ "description": "Patches the draft for the given article. Creates the draft from the published copy first if none exists. Only authors may call this.",
141
+ "operationId": "PatchDraft",
142
+ "parameters": [
143
+ {
144
+ "name": "slugOrId",
145
+ "in": "path",
146
+ "required": true,
147
+ "schema": {
148
+ "type": "string"
149
+ },
150
+ "x-ms-summary": "The slug or id of the article"
151
+ }
152
+ ],
153
+ "requestBody": {
154
+ "description": "Fields to merge into the draft",
155
+ "content": {
156
+ "application/json": {
157
+ "schema": {
158
+ "$ref": "#/components/schemas/sanityPatchArticle"
159
+ }
160
+ }
161
+ },
162
+ "required": true
163
+ },
164
+ "responses": {
165
+ "200": {
166
+ "description": "The updated draft",
167
+ "content": {
168
+ "application/json": {
169
+ "schema": {
170
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
171
+ }
172
+ }
173
+ },
174
+ "x-ms-summary": "Success"
175
+ },
176
+ "400": {
177
+ "description": "Payload of Object",
178
+ "content": {
179
+ "application/json": {
180
+ "schema": {
181
+ "type": "object"
182
+ }
183
+ }
184
+ },
185
+ "x-ms-summary": "Bad Request"
186
+ },
187
+ "401": {
188
+ "description": "No description",
189
+ "x-ms-summary": "Unauthorized"
190
+ },
191
+ "404": {
192
+ "description": "No description",
193
+ "x-ms-summary": "Not Found"
194
+ }
195
+ },
196
+ "security": [
197
+ {
198
+ "Implicit": [
199
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
200
+ ]
201
+ },
202
+ {
203
+ "ApiKey": []
204
+ }
205
+ ]
206
+ },
207
+ "delete": {
208
+ "tags": [
209
+ "Articles"
210
+ ],
211
+ "summary": "Delete the draft",
212
+ "description": "Removes the draft without touching the published article. Only authors may call this.",
213
+ "operationId": "DiscardDraft",
214
+ "parameters": [
215
+ {
216
+ "name": "slugOrId",
217
+ "in": "path",
218
+ "required": true,
219
+ "schema": {
220
+ "type": "string"
221
+ },
222
+ "x-ms-summary": "The slug or id of the article"
223
+ }
224
+ ],
225
+ "responses": {
226
+ "200": {
227
+ "description": "The discarded draft (pre-delete snapshot)",
228
+ "content": {
229
+ "application/json": {
230
+ "schema": {
231
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
232
+ }
233
+ }
234
+ },
235
+ "x-ms-summary": "Success"
236
+ },
237
+ "401": {
238
+ "description": "No description",
239
+ "x-ms-summary": "Unauthorized"
240
+ },
241
+ "404": {
242
+ "description": "No draft exists",
243
+ "x-ms-summary": "Not Found"
244
+ }
245
+ },
246
+ "security": [
247
+ {
248
+ "Implicit": [
249
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
250
+ ]
251
+ },
252
+ {
253
+ "ApiKey": []
254
+ }
255
+ ]
256
+ }
257
+ },
258
+ "/v1.0/protected/articles/{slugOrId}/publish": {
259
+ "post": {
260
+ "tags": [
261
+ "Articles"
262
+ ],
263
+ "summary": "Promote the draft to published",
264
+ "description": "Overwrites the published article with the current draft and removes the draft. Only authors may call this.",
265
+ "operationId": "PublishDraft",
266
+ "parameters": [
267
+ {
268
+ "name": "slugOrId",
269
+ "in": "path",
270
+ "required": true,
271
+ "schema": {
272
+ "type": "string"
273
+ },
274
+ "x-ms-summary": "The slug or id of the article"
275
+ }
276
+ ],
277
+ "responses": {
278
+ "200": {
279
+ "description": "The newly-published article",
280
+ "content": {
281
+ "application/json": {
282
+ "schema": {
283
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
284
+ }
285
+ }
286
+ },
287
+ "x-ms-summary": "Success"
288
+ },
289
+ "401": {
290
+ "description": "No description",
291
+ "x-ms-summary": "Unauthorized"
292
+ },
293
+ "404": {
294
+ "description": "No draft exists",
295
+ "x-ms-summary": "Not Found"
296
+ }
297
+ },
298
+ "security": [
299
+ {
300
+ "Implicit": [
301
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
302
+ ]
303
+ },
304
+ {
305
+ "ApiKey": []
306
+ }
307
+ ]
308
+ }
309
+ },
310
+ "/v1.0/protected/{slugOrId}/article-invitation-preview": {
311
+ "get": {
312
+ "tags": [
313
+ "Articles"
314
+ ],
315
+ "summary": "Preview invitation recipients",
316
+ "description": "Returns the list of subscriber emails for the given tag slugs. Does not send any email.",
317
+ "operationId": "GetArticleInvitationPreview",
318
+ "parameters": [
319
+ {
320
+ "name": "slugOrId",
321
+ "in": "path",
322
+ "required": true,
323
+ "schema": {
324
+ "type": "string"
325
+ },
326
+ "x-ms-summary": "The slug or id of the article"
327
+ },
328
+ {
329
+ "name": "tagSlugs",
330
+ "in": "query",
331
+ "required": true,
332
+ "schema": {
333
+ "type": "string"
334
+ },
335
+ "x-ms-summary": "Comma-separated tag slugs to preview subscribers for"
336
+ }
337
+ ],
338
+ "responses": {
339
+ "200": {
340
+ "description": "List of subscriber emails",
341
+ "content": {
342
+ "application/json": {
343
+ "schema": {
344
+ "$ref": "#/components/schemas/articleInvitationPreviewResponse"
345
+ }
346
+ }
347
+ },
348
+ "x-ms-summary": "Success"
349
+ },
350
+ "400": {
351
+ "description": "At least one tag slug is required",
352
+ "x-ms-summary": "Bad Request"
353
+ },
354
+ "401": {
355
+ "description": "No description",
356
+ "x-ms-summary": "Unauthorized"
357
+ }
358
+ },
359
+ "security": [
360
+ {
361
+ "Implicit": [
362
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
363
+ ]
364
+ },
365
+ {
366
+ "ApiKey": []
367
+ }
368
+ ]
369
+ }
370
+ },
371
+ "/v1.0/protected/{slugOrId}/send-article-invitations": {
372
+ "post": {
373
+ "tags": [
374
+ "Articles"
375
+ ],
376
+ "summary": "Send article invitation emails",
377
+ "description": "Sends invitation emails to subscribers of the given tags and marks invitationSent as true on the article. Only the article author may call this.",
378
+ "operationId": "SendArticleInvitations",
379
+ "parameters": [
380
+ {
381
+ "name": "slugOrId",
382
+ "in": "path",
383
+ "required": true,
384
+ "schema": {
385
+ "type": "string"
386
+ },
387
+ "x-ms-summary": "The slug or id of the article"
388
+ },
389
+ {
390
+ "name": "tagSlugs",
391
+ "in": "query",
392
+ "required": true,
393
+ "schema": {
394
+ "type": "string"
395
+ },
396
+ "x-ms-summary": "Comma-separated tag slugs to send invitations to"
397
+ }
398
+ ],
399
+ "responses": {
400
+ "200": {
401
+ "description": "Invitations sent successfully",
402
+ "x-ms-summary": "Success"
403
+ },
404
+ "400": {
405
+ "description": "Payload of Object",
406
+ "content": {
407
+ "application/json": {
408
+ "schema": {
409
+ "type": "object"
410
+ }
411
+ }
412
+ },
413
+ "x-ms-summary": "Bad Request"
414
+ },
415
+ "401": {
416
+ "description": "No description",
417
+ "x-ms-summary": "Unauthorized"
418
+ },
419
+ "404": {
420
+ "description": "Article not found",
421
+ "x-ms-summary": "Not Found"
422
+ }
423
+ },
424
+ "security": [
425
+ {
426
+ "Implicit": [
427
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
428
+ ]
429
+ },
430
+ {
431
+ "ApiKey": []
432
+ }
433
+ ]
434
+ }
435
+ },
436
+ "/v1.0/protected/articles": {
437
+ "get": {
438
+ "tags": [
439
+ "Articles"
440
+ ],
441
+ "summary": "List articles (admin)",
442
+ "description": "Returns the full published article list for the editor — live + offline articles when `includeInactive=true`. Public callers should hit sanity-function directly; this endpoint exists so my-page-web can read everything via blog-function without needing sanity-function admin perms.",
443
+ "operationId": "GetArticles",
444
+ "parameters": [
445
+ {
446
+ "name": "includeInactive",
447
+ "in": "query",
448
+ "schema": {
449
+ "type": "boolean"
450
+ },
451
+ "x-ms-summary": "Include `active=false` articles (admin view)"
452
+ }
453
+ ],
454
+ "responses": {
455
+ "200": {
456
+ "description": "Article list",
457
+ "content": {
458
+ "application/json": {
459
+ "schema": {
460
+ "type": "array",
461
+ "items": {
462
+ "$ref": "#/components/schemas/getArticlesResultInner"
463
+ }
464
+ }
465
+ }
466
+ },
467
+ "x-ms-summary": "Success"
468
+ },
469
+ "401": {
470
+ "description": "No description",
471
+ "x-ms-summary": "Unauthorized"
472
+ }
473
+ },
474
+ "security": [
475
+ {
476
+ "Implicit": [
477
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
478
+ ]
479
+ },
480
+ {
481
+ "ApiKey": []
482
+ }
483
+ ]
484
+ },
485
+ "post": {
486
+ "tags": [
487
+ "Articles"
488
+ ],
489
+ "summary": "Create a new blog article",
490
+ "description": "Creates a new blog article in Sanity. The caller is not automatically added as an author — include authors in the body.",
491
+ "operationId": "CreateArticle",
492
+ "requestBody": {
493
+ "description": "The article to create",
494
+ "content": {
495
+ "application/json": {
496
+ "schema": {
497
+ "$ref": "#/components/schemas/sanityCreateArticle"
498
+ }
499
+ }
500
+ },
501
+ "required": true
502
+ },
503
+ "responses": {
504
+ "200": {
505
+ "description": "The newly created article",
506
+ "content": {
507
+ "application/json": {
508
+ "schema": {
509
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
510
+ }
511
+ }
512
+ },
513
+ "x-ms-summary": "Success"
514
+ },
515
+ "400": {
516
+ "description": "Payload of Object",
517
+ "content": {
518
+ "application/json": {
519
+ "schema": {
520
+ "type": "object"
521
+ }
522
+ }
523
+ },
524
+ "x-ms-summary": "Bad Request"
525
+ },
526
+ "401": {
527
+ "description": "No description",
528
+ "x-ms-summary": "Unauthorized"
529
+ }
530
+ },
531
+ "security": [
532
+ {
533
+ "Implicit": [
534
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
535
+ ]
536
+ },
537
+ {
538
+ "ApiKey": []
539
+ }
540
+ ]
541
+ }
542
+ },
543
+ "/v1.0/protected/articles/{slugOrId}": {
544
+ "get": {
545
+ "tags": [
546
+ "Articles"
547
+ ],
548
+ "summary": "Get a single published article (admin)",
549
+ "description": "Returns the published article — `includeInactive=true` resolves \"Ikke live\" articles by slug too. Mirrors sanity-function's `/v1.0/articles/{slugOrId}` but routed through blog-function so my-page-web doesn't need direct sanity-function permissions.",
550
+ "operationId": "GetPublishedArticle",
551
+ "parameters": [
552
+ {
553
+ "name": "slugOrId",
554
+ "in": "path",
555
+ "required": true,
556
+ "schema": {
557
+ "type": "string"
558
+ }
559
+ },
560
+ {
561
+ "name": "includeInactive",
562
+ "in": "query",
563
+ "schema": {
564
+ "type": "boolean"
565
+ }
566
+ }
567
+ ],
568
+ "responses": {
569
+ "200": {
570
+ "description": "The article",
571
+ "content": {
572
+ "application/json": {
573
+ "schema": {
574
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
575
+ }
576
+ }
577
+ },
578
+ "x-ms-summary": "Success"
579
+ },
580
+ "401": {
581
+ "description": "No description",
582
+ "x-ms-summary": "Unauthorized"
583
+ },
584
+ "404": {
585
+ "description": "No description",
586
+ "x-ms-summary": "Not Found"
587
+ }
588
+ },
589
+ "security": [
590
+ {
591
+ "Implicit": [
592
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
593
+ ]
594
+ },
595
+ {
596
+ "ApiKey": []
597
+ }
598
+ ]
599
+ },
600
+ "patch": {
601
+ "tags": [
602
+ "Articles"
603
+ ],
604
+ "summary": "Update a blog article",
605
+ "description": "Partially updates a blog article. Only the article's authors may call this.",
606
+ "operationId": "PatchArticle",
607
+ "parameters": [
608
+ {
609
+ "name": "slugOrId",
610
+ "in": "path",
611
+ "required": true,
612
+ "schema": {
613
+ "type": "string"
614
+ },
615
+ "x-ms-summary": "The slug or id of the article"
616
+ }
617
+ ],
618
+ "requestBody": {
619
+ "description": "Partial article fields to update",
620
+ "content": {
621
+ "application/json": {
622
+ "schema": {
623
+ "$ref": "#/components/schemas/sanityPatchArticle"
624
+ }
625
+ }
626
+ },
627
+ "required": true
628
+ },
629
+ "responses": {
630
+ "200": {
631
+ "description": "The updated article",
632
+ "content": {
633
+ "application/json": {
634
+ "schema": {
635
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
636
+ }
637
+ }
638
+ },
639
+ "x-ms-summary": "Success"
640
+ },
641
+ "400": {
642
+ "description": "Payload of Object",
643
+ "content": {
644
+ "application/json": {
645
+ "schema": {
646
+ "type": "object"
647
+ }
648
+ }
649
+ },
650
+ "x-ms-summary": "Bad Request"
651
+ },
652
+ "401": {
653
+ "description": "No description",
654
+ "x-ms-summary": "Unauthorized"
655
+ },
656
+ "404": {
657
+ "description": "Article not found",
658
+ "x-ms-summary": "Not Found"
659
+ }
660
+ },
661
+ "security": [
662
+ {
663
+ "Implicit": [
664
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
665
+ ]
666
+ },
667
+ {
668
+ "ApiKey": []
669
+ }
670
+ ]
671
+ },
672
+ "delete": {
673
+ "tags": [
674
+ "Articles"
675
+ ],
676
+ "summary": "Delete a blog article",
677
+ "description": "Deletes a blog article. Only the article's authors may call this.",
678
+ "operationId": "DeleteArticle",
679
+ "parameters": [
680
+ {
681
+ "name": "slugOrId",
682
+ "in": "path",
683
+ "required": true,
684
+ "schema": {
685
+ "type": "string"
686
+ },
687
+ "x-ms-summary": "The slug or id of the article"
688
+ }
689
+ ],
690
+ "responses": {
691
+ "200": {
692
+ "description": "The deleted article",
693
+ "content": {
694
+ "application/json": {
695
+ "schema": {
696
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
697
+ }
698
+ }
699
+ },
700
+ "x-ms-summary": "Success"
701
+ },
702
+ "401": {
703
+ "description": "No description",
704
+ "x-ms-summary": "Unauthorized"
705
+ },
706
+ "404": {
707
+ "description": "Article not found",
708
+ "x-ms-summary": "Not Found"
709
+ }
710
+ },
711
+ "security": [
712
+ {
713
+ "Implicit": [
714
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
715
+ ]
716
+ },
717
+ {
718
+ "ApiKey": []
719
+ }
720
+ ]
721
+ }
722
+ },
723
+ "/v1.0/protected/articles/{slugOrId}/draft-status": {
724
+ "get": {
725
+ "tags": [
726
+ "Articles"
727
+ ],
728
+ "summary": "Get article with draft status",
729
+ "description": "Returns both the published article and any pending draft so authors can compare states. Only authors may call this.",
730
+ "operationId": "GetArticleWithDraft",
731
+ "parameters": [
732
+ {
733
+ "name": "slugOrId",
734
+ "in": "path",
735
+ "required": true,
736
+ "schema": {
737
+ "type": "string"
738
+ },
739
+ "x-ms-summary": "The slug or id of the article"
740
+ }
741
+ ],
742
+ "responses": {
743
+ "200": {
744
+ "description": "Snapshot with published + draft sides",
745
+ "content": {
746
+ "application/json": {
747
+ "schema": {
748
+ "$ref": "#/components/schemas/getArticleWithDraftResult"
749
+ }
750
+ }
751
+ },
752
+ "x-ms-summary": "Success"
753
+ },
754
+ "401": {
755
+ "description": "No description",
756
+ "x-ms-summary": "Unauthorized"
757
+ },
758
+ "404": {
759
+ "description": "No description",
760
+ "x-ms-summary": "Not Found"
761
+ }
762
+ },
763
+ "security": [
764
+ {
765
+ "Implicit": [
766
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default"
767
+ ]
768
+ },
769
+ {
770
+ "ApiKey": []
771
+ }
772
+ ]
773
+ }
774
+ }
775
+ },
776
+ "components": {
777
+ "schemas": {
778
+ "articleInvitationPreviewResponse": {
779
+ "type": "object",
780
+ "properties": {
781
+ "emails": {
782
+ "type": "array",
783
+ "items": {
784
+ "type": "string"
785
+ }
786
+ }
787
+ }
788
+ },
789
+ "articleSeriesReference": {
790
+ "type": "object",
791
+ "properties": {
792
+ "sanityType": {
793
+ "enum": [
794
+ "reference"
795
+ ],
796
+ "type": "string",
797
+ "default": "reference"
798
+ },
799
+ "sanityRef": {
800
+ "type": "string"
801
+ },
802
+ "sanityWeak": {
803
+ "type": "boolean"
804
+ }
805
+ }
806
+ },
807
+ "componentBlocksInner": {
808
+ "type": "object",
809
+ "properties": {
810
+ "actualInstance": {
811
+ "type": "object"
812
+ },
813
+ "isNullable": {
814
+ "type": "boolean"
815
+ },
816
+ "schemaType": {
817
+ "type": "string"
818
+ }
819
+ }
820
+ },
821
+ "componentMedia": {
822
+ "type": "object",
823
+ "properties": {
824
+ "sanityType": {
825
+ "enum": [
826
+ "component.media"
827
+ ],
828
+ "type": "string",
829
+ "default": "component.media"
830
+ },
831
+ "type": {
832
+ "enum": [
833
+ "image",
834
+ "video"
835
+ ],
836
+ "type": "string",
837
+ "default": "image"
838
+ },
839
+ "image": {
840
+ "$ref": "#/components/schemas/componentMediaImage"
841
+ },
842
+ "video": {
843
+ "$ref": "#/components/schemas/muxVideo"
844
+ }
845
+ }
846
+ },
847
+ "componentMediaImage": {
848
+ "type": "object",
849
+ "properties": {
850
+ "sanityType": {
851
+ "enum": [
852
+ "image"
853
+ ],
854
+ "type": "string",
855
+ "default": "image"
856
+ },
857
+ "asset": {
858
+ "$ref": "#/components/schemas/sanityImageAssetReference"
859
+ },
860
+ "crop": {
861
+ "$ref": "#/components/schemas/sanityImageCrop"
862
+ },
863
+ "hotspot": {
864
+ "$ref": "#/components/schemas/sanityImageHotspot"
865
+ },
866
+ "media": {
867
+ "type": "object"
868
+ }
869
+ }
870
+ },
871
+ "customerReference": {
872
+ "type": "object",
873
+ "properties": {
874
+ "sanityType": {
875
+ "enum": [
876
+ "reference"
877
+ ],
878
+ "type": "string",
879
+ "default": "reference"
880
+ },
881
+ "sanityRef": {
882
+ "type": "string"
883
+ },
884
+ "sanityWeak": {
885
+ "type": "boolean"
886
+ }
887
+ }
888
+ },
889
+ "getArticlesBySlugOrIdResult": {
890
+ "type": "object",
891
+ "properties": {
892
+ "sanityType": {
893
+ "enum": [
894
+ "article"
895
+ ],
896
+ "type": "string",
897
+ "default": "article"
898
+ },
899
+ "active": {
900
+ "type": "boolean"
901
+ },
902
+ "articleSeries": {
903
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultArticleSeries"
904
+ },
905
+ "authors": {
906
+ "type": "array",
907
+ "items": {
908
+ "$ref": "#/components/schemas/sanityOrderEmployee"
909
+ }
910
+ },
911
+ "content": {
912
+ "type": "array",
913
+ "items": {
914
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInner"
915
+ }
916
+ },
917
+ "customer": {
918
+ "$ref": "#/components/schemas/customerReference"
919
+ },
920
+ "live": {
921
+ "type": "string"
922
+ },
923
+ "media": {
924
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMedia"
925
+ },
926
+ "metaDescription": {
927
+ "type": "string"
928
+ },
929
+ "nextArticle": {
930
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultNextArticle"
931
+ },
932
+ "preview": {
933
+ "type": "string"
934
+ },
935
+ "previousArticle": {
936
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultNextArticle"
937
+ },
938
+ "publishedAt": {
939
+ "type": "string"
940
+ },
941
+ "sanityCreatedAt": {
942
+ "type": "string"
943
+ },
944
+ "sanityId": {
945
+ "type": "string"
946
+ },
947
+ "sanityRev": {
948
+ "type": "string"
949
+ },
950
+ "sanityUpdatedAt": {
951
+ "type": "string"
952
+ },
953
+ "slug": {
954
+ "$ref": "#/components/schemas/slug"
955
+ },
956
+ "subscribersNotified": {
957
+ "type": "boolean"
958
+ },
959
+ "technologies": {
960
+ "type": "array",
961
+ "items": {
962
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultTechnologiesInner"
963
+ }
964
+ },
965
+ "title": {
966
+ "type": "string"
967
+ }
968
+ }
969
+ },
970
+ "getArticlesBySlugOrIdResultArticleSeries": {
971
+ "type": "object",
972
+ "properties": {
973
+ "sanityType": {
974
+ "enum": [
975
+ "articleSeries"
976
+ ],
977
+ "type": "string",
978
+ "default": "articleSeries"
979
+ },
980
+ "sanityCreatedAt": {
981
+ "type": "string"
982
+ },
983
+ "sanityId": {
984
+ "type": "string"
985
+ },
986
+ "sanityRev": {
987
+ "type": "string"
988
+ },
989
+ "sanityUpdatedAt": {
990
+ "type": "string"
991
+ },
992
+ "slug": {
993
+ "$ref": "#/components/schemas/slug"
994
+ },
995
+ "title": {
996
+ "type": "string"
997
+ }
998
+ }
999
+ },
1000
+ "getArticlesBySlugOrIdResultNextArticle": {
1001
+ "type": "object",
1002
+ "properties": {
1003
+ "sanityType": {
1004
+ "enum": [
1005
+ "article"
1006
+ ],
1007
+ "type": "string",
1008
+ "default": "article"
1009
+ },
1010
+ "content": {
1011
+ "type": "array",
1012
+ "items": {
1013
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerContentInner"
1014
+ }
1015
+ },
1016
+ "media": {
1017
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMedia"
1018
+ },
1019
+ "sanityId": {
1020
+ "type": "string"
1021
+ },
1022
+ "slug": {
1023
+ "$ref": "#/components/schemas/slug"
1024
+ },
1025
+ "title": {
1026
+ "type": "string"
1027
+ }
1028
+ }
1029
+ },
1030
+ "getArticlesBySlugOrIdResultTechnologiesInner": {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "sanityType": {
1034
+ "enum": [
1035
+ "technology"
1036
+ ],
1037
+ "type": "string",
1038
+ "default": "technology"
1039
+ },
1040
+ "description": {
1041
+ "type": "array",
1042
+ "items": {
1043
+ "$ref": "#/components/schemas/componentBlocksInner"
1044
+ }
1045
+ },
1046
+ "parent": {
1047
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
1048
+ },
1049
+ "sanityCreatedAt": {
1050
+ "type": "string"
1051
+ },
1052
+ "sanityId": {
1053
+ "type": "string"
1054
+ },
1055
+ "sanityRev": {
1056
+ "type": "string"
1057
+ },
1058
+ "sanityUpdatedAt": {
1059
+ "type": "string"
1060
+ },
1061
+ "slug": {
1062
+ "$ref": "#/components/schemas/slug"
1063
+ },
1064
+ "title": {
1065
+ "type": "string"
1066
+ }
1067
+ }
1068
+ },
1069
+ "getArticlesResultInner": {
1070
+ "type": "object",
1071
+ "properties": {
1072
+ "sanityType": {
1073
+ "enum": [
1074
+ "article"
1075
+ ],
1076
+ "type": "string",
1077
+ "default": "article"
1078
+ },
1079
+ "active": {
1080
+ "type": "boolean"
1081
+ },
1082
+ "articleSeries": {
1083
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultArticleSeries"
1084
+ },
1085
+ "authors": {
1086
+ "type": "array",
1087
+ "items": {
1088
+ "$ref": "#/components/schemas/sanityOrderEmployee"
1089
+ }
1090
+ },
1091
+ "content": {
1092
+ "type": "array",
1093
+ "items": {
1094
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsDescriptionInner"
1095
+ }
1096
+ },
1097
+ "customer": {
1098
+ "$ref": "#/components/schemas/customerReference"
1099
+ },
1100
+ "live": {
1101
+ "type": "string"
1102
+ },
1103
+ "media": {
1104
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsArticlesInnerMedia"
1105
+ },
1106
+ "metaDescription": {
1107
+ "type": "string"
1108
+ },
1109
+ "preview": {
1110
+ "type": "string"
1111
+ },
1112
+ "publishedAt": {
1113
+ "type": "string"
1114
+ },
1115
+ "sanityCreatedAt": {
1116
+ "type": "string"
1117
+ },
1118
+ "sanityId": {
1119
+ "type": "string"
1120
+ },
1121
+ "sanityRev": {
1122
+ "type": "string"
1123
+ },
1124
+ "sanityUpdatedAt": {
1125
+ "type": "string"
1126
+ },
1127
+ "slug": {
1128
+ "$ref": "#/components/schemas/slug"
1129
+ },
1130
+ "subscribersNotified": {
1131
+ "type": "boolean"
1132
+ },
1133
+ "technologies": {
1134
+ "type": "array",
1135
+ "items": {
1136
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResultTechnologiesInner"
1137
+ }
1138
+ },
1139
+ "title": {
1140
+ "type": "string"
1141
+ }
1142
+ }
1143
+ },
1144
+ "getArticleWithDraftResult": {
1145
+ "type": "object",
1146
+ "properties": {
1147
+ "draft": {
1148
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
1149
+ },
1150
+ "hasDraft": {
1151
+ "type": "boolean"
1152
+ },
1153
+ "hasPublished": {
1154
+ "type": "boolean"
1155
+ },
1156
+ "published": {
1157
+ "$ref": "#/components/schemas/getArticlesBySlugOrIdResult"
1158
+ },
1159
+ "publishedId": {
1160
+ "type": "string"
1161
+ },
1162
+ "additionalProperties": {
1163
+ "type": "object",
1164
+ "additionalProperties": {
1165
+ "type": "object"
1166
+ }
1167
+ }
1168
+ }
1169
+ },
1170
+ "muxVideo": {
1171
+ "type": "object",
1172
+ "properties": {
1173
+ "sanityType": {
1174
+ "enum": [
1175
+ "mux.video"
1176
+ ],
1177
+ "type": "string",
1178
+ "default": "mux.video"
1179
+ },
1180
+ "asset": {
1181
+ "$ref": "#/components/schemas/muxVideoAssetReference"
1182
+ }
1183
+ }
1184
+ },
1185
+ "muxVideoAssetReference": {
1186
+ "type": "object",
1187
+ "properties": {
1188
+ "sanityType": {
1189
+ "enum": [
1190
+ "reference"
1191
+ ],
1192
+ "type": "string",
1193
+ "default": "reference"
1194
+ },
1195
+ "sanityRef": {
1196
+ "type": "string"
1197
+ },
1198
+ "sanityWeak": {
1199
+ "type": "boolean"
1200
+ }
1201
+ }
1202
+ },
1203
+ "pageEmployeeOrderInner": {
1204
+ "type": "object",
1205
+ "properties": {
1206
+ "sanityType": {
1207
+ "enum": [
1208
+ "reference"
1209
+ ],
1210
+ "type": "string",
1211
+ "default": "reference"
1212
+ },
1213
+ "sanityKey": {
1214
+ "type": "string"
1215
+ },
1216
+ "sanityRef": {
1217
+ "type": "string"
1218
+ },
1219
+ "sanityWeak": {
1220
+ "type": "boolean"
1221
+ }
1222
+ }
1223
+ },
1224
+ "sanityCreateArticle": {
1225
+ "type": "object",
1226
+ "properties": {
1227
+ "sanityType": {
1228
+ "enum": [
1229
+ "article"
1230
+ ],
1231
+ "type": "string",
1232
+ "default": "article"
1233
+ },
1234
+ "active": {
1235
+ "type": "boolean"
1236
+ },
1237
+ "articleSeries": {
1238
+ "$ref": "#/components/schemas/articleSeriesReference"
1239
+ },
1240
+ "authors": {
1241
+ "type": "array",
1242
+ "items": {
1243
+ "$ref": "#/components/schemas/pageEmployeeOrderInner"
1244
+ }
1245
+ },
1246
+ "content": {
1247
+ "type": "array",
1248
+ "items": {
1249
+ "$ref": "#/components/schemas/componentBlocksInner"
1250
+ }
1251
+ },
1252
+ "customer": {
1253
+ "$ref": "#/components/schemas/customerReference"
1254
+ },
1255
+ "live": {
1256
+ "type": "string"
1257
+ },
1258
+ "media": {
1259
+ "$ref": "#/components/schemas/componentMedia"
1260
+ },
1261
+ "metaDescription": {
1262
+ "type": "string"
1263
+ },
1264
+ "preview": {
1265
+ "type": "string"
1266
+ },
1267
+ "publishedAt": {
1268
+ "type": "string"
1269
+ },
1270
+ "slug": {
1271
+ "$ref": "#/components/schemas/slug"
1272
+ },
1273
+ "subscribersNotified": {
1274
+ "type": "boolean"
1275
+ },
1276
+ "technologies": {
1277
+ "type": "array",
1278
+ "items": {
1279
+ "$ref": "#/components/schemas/sanityCreateEmployeeTechnologiesInner"
1280
+ }
1281
+ },
1282
+ "title": {
1283
+ "type": "string"
1284
+ },
1285
+ "additionalProperties": {
1286
+ "type": "object",
1287
+ "additionalProperties": {
1288
+ "type": "object"
1289
+ }
1290
+ }
1291
+ }
1292
+ },
1293
+ "sanityCreateEmployeeTechnologiesInner": {
1294
+ "type": "object",
1295
+ "properties": {
1296
+ "sanityType": {
1297
+ "enum": [
1298
+ "reference"
1299
+ ],
1300
+ "type": "string",
1301
+ "default": "reference"
1302
+ },
1303
+ "sanityKey": {
1304
+ "type": "string"
1305
+ },
1306
+ "sanityRef": {
1307
+ "type": "string"
1308
+ },
1309
+ "sanityWeak": {
1310
+ "type": "boolean"
1311
+ }
1312
+ }
1313
+ },
1314
+ "sanityImageAssetReference": {
1315
+ "type": "object",
1316
+ "properties": {
1317
+ "sanityType": {
1318
+ "enum": [
1319
+ "reference"
1320
+ ],
1321
+ "type": "string",
1322
+ "default": "reference"
1323
+ },
1324
+ "sanityRef": {
1325
+ "type": "string"
1326
+ },
1327
+ "sanityWeak": {
1328
+ "type": "boolean"
1329
+ }
1330
+ }
1331
+ },
1332
+ "sanityImageCrop": {
1333
+ "type": "object",
1334
+ "properties": {
1335
+ "sanityType": {
1336
+ "enum": [
1337
+ "sanity.imageCrop"
1338
+ ],
1339
+ "type": "string",
1340
+ "default": "sanity.imageCrop"
1341
+ },
1342
+ "bottom": {
1343
+ "type": "number",
1344
+ "format": "double"
1345
+ },
1346
+ "left": {
1347
+ "type": "number",
1348
+ "format": "double"
1349
+ },
1350
+ "right": {
1351
+ "type": "number",
1352
+ "format": "double"
1353
+ },
1354
+ "top": {
1355
+ "type": "number",
1356
+ "format": "double"
1357
+ }
1358
+ }
1359
+ },
1360
+ "sanityImageHotspot": {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "sanityType": {
1364
+ "enum": [
1365
+ "sanity.imageHotspot"
1366
+ ],
1367
+ "type": "string",
1368
+ "default": "sanity.imageHotspot"
1369
+ },
1370
+ "height": {
1371
+ "type": "number",
1372
+ "format": "double"
1373
+ },
1374
+ "width": {
1375
+ "type": "number",
1376
+ "format": "double"
1377
+ },
1378
+ "x": {
1379
+ "type": "number",
1380
+ "format": "double"
1381
+ },
1382
+ "y": {
1383
+ "type": "number",
1384
+ "format": "double"
1385
+ }
1386
+ }
1387
+ },
1388
+ "sanityOrderEmployee": {
1389
+ "type": "object",
1390
+ "properties": {
1391
+ "sanityType": {
1392
+ "enum": [
1393
+ "employee"
1394
+ ],
1395
+ "type": "string",
1396
+ "default": "employee"
1397
+ },
1398
+ "email": {
1399
+ "type": "string"
1400
+ },
1401
+ "image": {
1402
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImage"
1403
+ },
1404
+ "isBot": {
1405
+ "type": "boolean",
1406
+ "nullable": true
1407
+ },
1408
+ "isExternal": {
1409
+ "type": "boolean",
1410
+ "nullable": true
1411
+ },
1412
+ "name": {
1413
+ "type": "string"
1414
+ },
1415
+ "sanityId": {
1416
+ "type": "string"
1417
+ },
1418
+ "slug": {
1419
+ "$ref": "#/components/schemas/slug"
1420
+ },
1421
+ "tags": {
1422
+ "type": "array",
1423
+ "items": {
1424
+ "$ref": "#/components/schemas/sanityTechnologyWithRelationsEmployeesInnerTagsInner"
1425
+ }
1426
+ },
1427
+ "telephone": {
1428
+ "type": "string"
1429
+ }
1430
+ }
1431
+ },
1432
+ "sanityPatchArticle": {
1433
+ "type": "object",
1434
+ "properties": {
1435
+ "sanityType": {
1436
+ "enum": [
1437
+ "article"
1438
+ ],
1439
+ "type": "string",
1440
+ "default": "article",
1441
+ "nullable": true
1442
+ },
1443
+ "active": {
1444
+ "type": "boolean",
1445
+ "nullable": true
1446
+ },
1447
+ "articleSeries": {
1448
+ "$ref": "#/components/schemas/articleSeriesReference"
1449
+ },
1450
+ "authors": {
1451
+ "type": "array",
1452
+ "items": {
1453
+ "$ref": "#/components/schemas/pageEmployeeOrderInner"
1454
+ }
1455
+ },
1456
+ "content": {
1457
+ "type": "array",
1458
+ "items": {
1459
+ "$ref": "#/components/schemas/componentBlocksInner"
1460
+ }
1461
+ },
1462
+ "customer": {
1463
+ "$ref": "#/components/schemas/customerReference"
1464
+ },
1465
+ "live": {
1466
+ "type": "string"
1467
+ },
1468
+ "media": {
1469
+ "$ref": "#/components/schemas/componentMedia"
1470
+ },
1471
+ "metaDescription": {
1472
+ "type": "string"
1473
+ },
1474
+ "preview": {
1475
+ "type": "string"
1476
+ },
1477
+ "publishedAt": {
1478
+ "type": "string"
1479
+ },
1480
+ "slug": {
1481
+ "$ref": "#/components/schemas/slug"
1482
+ },
1483
+ "subscribersNotified": {
1484
+ "type": "boolean",
1485
+ "nullable": true
1486
+ },
1487
+ "technologies": {
1488
+ "type": "array",
1489
+ "items": {
1490
+ "$ref": "#/components/schemas/sanityCreateEmployeeTechnologiesInner"
1491
+ }
1492
+ },
1493
+ "title": {
1494
+ "type": "string"
1495
+ },
1496
+ "additionalProperties": {
1497
+ "type": "object",
1498
+ "additionalProperties": {
1499
+ "type": "object"
1500
+ }
1501
+ }
1502
+ }
1503
+ },
1504
+ "sanityTechnologyWithRelationsArticlesInnerContentInner": {
1505
+ "type": "object",
1506
+ "properties": {
1507
+ "actualInstance": {
1508
+ "type": "object"
1509
+ },
1510
+ "isNullable": {
1511
+ "type": "boolean"
1512
+ },
1513
+ "schemaType": {
1514
+ "type": "string"
1515
+ }
1516
+ }
1517
+ },
1518
+ "sanityTechnologyWithRelationsArticlesInnerMedia": {
1519
+ "type": "object",
1520
+ "properties": {
1521
+ "actualInstance": {
1522
+ "type": "object"
1523
+ },
1524
+ "isNullable": {
1525
+ "type": "boolean"
1526
+ },
1527
+ "schemaType": {
1528
+ "type": "string"
1529
+ }
1530
+ }
1531
+ },
1532
+ "sanityTechnologyWithRelationsDescriptionInner": {
1533
+ "type": "object",
1534
+ "properties": {
1535
+ "actualInstance": {
1536
+ "type": "object"
1537
+ },
1538
+ "isNullable": {
1539
+ "type": "boolean"
1540
+ },
1541
+ "schemaType": {
1542
+ "type": "string"
1543
+ }
1544
+ }
1545
+ },
1546
+ "sanityTechnologyWithRelationsEmployeesInnerTagsInner": {
1547
+ "type": "object",
1548
+ "properties": {
1549
+ "sanityType": {
1550
+ "enum": [
1551
+ "tag"
1552
+ ],
1553
+ "type": "string",
1554
+ "default": "tag"
1555
+ },
1556
+ "name": {
1557
+ "type": "string"
1558
+ },
1559
+ "sanityId": {
1560
+ "type": "string"
1561
+ },
1562
+ "slug": {
1563
+ "$ref": "#/components/schemas/slug"
1564
+ }
1565
+ }
1566
+ },
1567
+ "sanityTvCategoryDashboardsInnerBackgroundImage": {
1568
+ "type": "object",
1569
+ "properties": {
1570
+ "sanityType": {
1571
+ "enum": [
1572
+ "image"
1573
+ ],
1574
+ "type": "string",
1575
+ "default": "image"
1576
+ },
1577
+ "asset": {
1578
+ "$ref": "#/components/schemas/sanityTvCategoryDashboardsInnerBackgroundImageAsset"
1579
+ }
1580
+ }
1581
+ },
1582
+ "sanityTvCategoryDashboardsInnerBackgroundImageAsset": {
1583
+ "type": "object",
1584
+ "properties": {
1585
+ "sanityType": {
1586
+ "enum": [
1587
+ "sanity.imageAsset"
1588
+ ],
1589
+ "type": "string",
1590
+ "default": "sanity.imageAsset"
1591
+ },
1592
+ "mimeType": {
1593
+ "type": "string"
1594
+ },
1595
+ "originalFilename": {
1596
+ "type": "string"
1597
+ },
1598
+ "sanityId": {
1599
+ "type": "string"
1600
+ },
1601
+ "url": {
1602
+ "type": "string"
1603
+ }
1604
+ }
1605
+ },
1606
+ "slug": {
1607
+ "type": "object",
1608
+ "properties": {
1609
+ "sanityType": {
1610
+ "enum": [
1611
+ "slug"
1612
+ ],
1613
+ "type": "string",
1614
+ "default": "slug"
1615
+ },
1616
+ "current": {
1617
+ "type": "string"
1618
+ },
1619
+ "source": {
1620
+ "type": "string"
1621
+ }
1622
+ }
1623
+ }
1624
+ },
1625
+ "securitySchemes": {
1626
+ "Implicit": {
1627
+ "type": "oauth2",
1628
+ "flows": {
1629
+ "implicit": {
1630
+ "authorizationUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
1631
+ "tokenUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
1632
+ "refreshUrl": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
1633
+ "scopes": {
1634
+ "api://b2c47b20-df4a-49b5-a7ee-87f3647ab227/.default": "Default function scope"
1635
+ }
1636
+ }
1637
+ }
1638
+ },
1639
+ "ApiKey": {
1640
+ "type": "http",
1641
+ "scheme": "bearer",
1642
+ "bearerFormat": "JWT"
1643
+ }
1644
+ }
1645
+ }
1646
+ }