@snokam/mcp-api 0.56.0 → 0.57.0

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