@brigadasos/nadeshiko-sdk 1.5.0-dev.f8e069f → 1.5.1-dev.2b4f333

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.
@@ -6,9 +6,9 @@ export type ClientOptions = {
6
6
  */
7
7
  export type MediaFilterItem = {
8
8
  /**
9
- * Media ID to filter
9
+ * Media identifier (publicId or AniList external ID)
10
10
  */
11
- mediaId: number;
11
+ mediaId: string;
12
12
  /**
13
13
  * Specific episodes (omit for all episodes)
14
14
  */
@@ -132,6 +132,51 @@ export type SearchRequest = {
132
132
  */
133
133
  include?: Array<IncludeExpansion>;
134
134
  };
135
+ /**
136
+ * Morphological token from Japanese text analysis
137
+ */
138
+ export type Token = {
139
+ /**
140
+ * Surface form (the text as it appears in the sentence)
141
+ */
142
+ s: string;
143
+ /**
144
+ * Dictionary form (base/lemma form for search)
145
+ */
146
+ d: string;
147
+ /**
148
+ * Reading in katakana
149
+ */
150
+ r: string;
151
+ /**
152
+ * Begin character offset in textJa.content
153
+ */
154
+ b: number;
155
+ /**
156
+ * End character offset in textJa.content
157
+ */
158
+ e: number;
159
+ /**
160
+ * Primary part-of-speech tag
161
+ */
162
+ p: string;
163
+ /**
164
+ * POS subtype 1 (UniDic pos[1])
165
+ */
166
+ p1?: string;
167
+ /**
168
+ * POS subtype 2 (UniDic pos[2])
169
+ */
170
+ p2?: string;
171
+ /**
172
+ * Conjugation type (UniDic pos[4])
173
+ */
174
+ p4?: string;
175
+ /**
176
+ * Conjugation form (UniDic pos[5])
177
+ */
178
+ cf?: string;
179
+ };
135
180
  /**
136
181
  * Segment with content, optional highlights, and media URLs
137
182
  */
@@ -144,6 +189,10 @@ export type Segment = {
144
189
  * Unique identifier for the segment
145
190
  */
146
191
  uuid: string;
192
+ /**
193
+ * Public identifier for the segment (use this instead of uuid in public URLs)
194
+ */
195
+ publicId: string;
147
196
  /**
148
197
  * Position of the segment within the episode
149
198
  */
@@ -169,6 +218,10 @@ export type Segment = {
169
218
  * Media ID this segment belongs to
170
219
  */
171
220
  mediaId: number;
221
+ /**
222
+ * Public ID of the media this segment belongs to
223
+ */
224
+ mediaPublicId: string;
172
225
  textJa: {
173
226
  /**
174
227
  * Original Japanese content
@@ -178,6 +231,10 @@ export type Segment = {
178
231
  * Japanese content with search terms highlighted
179
232
  */
180
233
  highlight?: string;
234
+ /**
235
+ * Morphological tokens for interactive display (Labs feature)
236
+ */
237
+ tokens?: Array<Token>;
181
238
  };
182
239
  textEn: {
183
240
  /**
@@ -241,6 +298,10 @@ export type ExternalId = {
241
298
  * TVDB ID
242
299
  */
243
300
  tvdb?: string;
301
+ /**
302
+ * TMDB ID
303
+ */
304
+ tmdb?: string;
244
305
  };
245
306
  /**
246
307
  * Japanese voice actor (seiyuu)
@@ -250,6 +311,10 @@ export type Seiyuu = {
250
311
  * Internal seiyuu ID
251
312
  */
252
313
  id: number;
314
+ /**
315
+ * Public identifier for the seiyuu (use this in public URLs)
316
+ */
317
+ publicId: string;
253
318
  externalIds: ExternalId;
254
319
  /**
255
320
  * Japanese name of the voice actor
@@ -295,9 +360,13 @@ export type MediaCharacter = {
295
360
  */
296
361
  export type Media = {
297
362
  /**
298
- * Unique identifier for the media
363
+ * Internal unique identifier for the media
299
364
  */
300
365
  id: number;
366
+ /**
367
+ * Public identifier for the media (use this in public URLs)
368
+ */
369
+ publicId: string;
301
370
  externalIds: ExternalId;
302
371
  /**
303
372
  * Original Japanese name of the media
@@ -351,7 +420,7 @@ export type Media = {
351
420
  /**
352
421
  * Animation studio that produced the media
353
422
  */
354
- studio: string;
423
+ studio?: string;
355
424
  /**
356
425
  * Airing season label for the media
357
426
  */
@@ -390,7 +459,7 @@ export type SearchResponse = {
390
459
  segments: Array<Segment>;
391
460
  includes: {
392
461
  /**
393
- * Media objects keyed by mediaId
462
+ * Media objects keyed by media publicId
394
463
  */
395
464
  media: {
396
465
  [key: string]: Media;
@@ -601,6 +670,10 @@ export type MediaSearchStats = {
601
670
  * Media identifier (look up full details in includes.media)
602
671
  */
603
672
  mediaId: number;
673
+ /**
674
+ * Public identifier for use in URLs and filters
675
+ */
676
+ publicId: string;
604
677
  /**
605
678
  * Number of matching segments found in this media
606
679
  */
@@ -627,7 +700,7 @@ export type SearchStatsResponse = {
627
700
  categories: Array<CategoryCount>;
628
701
  includes: {
629
702
  /**
630
- * Media objects keyed by mediaId
703
+ * Media objects keyed by media publicId
631
704
  */
632
705
  media: {
633
706
  [key: string]: Media;
@@ -719,6 +792,20 @@ export type OpaqueCursorPagination = {
719
792
  export type MediaListResponse = {
720
793
  media: Array<Media>;
721
794
  pagination: OpaqueCursorPagination;
795
+ stats: {
796
+ /**
797
+ * Total number of media across all pages
798
+ */
799
+ totalMedia: number;
800
+ /**
801
+ * Total number of non-deleted segments
802
+ */
803
+ totalSegments: number;
804
+ /**
805
+ * Total number of episodes
806
+ */
807
+ totalEpisodes: number;
808
+ };
722
809
  };
723
810
  /**
724
811
  * Character data for creating/updating media
@@ -813,7 +900,7 @@ export type MediaCreateRequest = {
813
900
  /**
814
901
  * Animation studio that produced the media
815
902
  */
816
- studio: string;
903
+ studio?: string;
817
904
  /**
818
905
  * Airing season label for the media
819
906
  */
@@ -866,8 +953,65 @@ export type Error409 = {
866
953
  [key: string]: string;
867
954
  };
868
955
  };
956
+ /**
957
+ * Slim media item returned by autocomplete (names + cover only)
958
+ */
959
+ export type MediaAutocompleteItem = {
960
+ /**
961
+ * Unique identifier for the media
962
+ */
963
+ id: number;
964
+ /**
965
+ * Original Japanese name of the media
966
+ */
967
+ nameJa: string;
968
+ /**
969
+ * Romaji transliteration of the media name
970
+ */
971
+ nameRomaji: string;
972
+ /**
973
+ * English name of the media
974
+ */
975
+ nameEn: string;
976
+ /**
977
+ * Full URL to the cover image
978
+ */
979
+ coverUrl: string;
980
+ category: Category;
981
+ };
869
982
  export type MediaAutocompleteResponse = {
870
- media: Array<Media>;
983
+ media: Array<MediaAutocompleteItem>;
984
+ };
985
+ /**
986
+ * Segment with internal fields. For write operations (create, update) all fields are always populated.
987
+ * For GET, optional fields are only populated when requested via include[].
988
+ *
989
+ */
990
+ export type SegmentInternal = Segment & {
991
+ /**
992
+ * Storage backend for segment assets
993
+ */
994
+ storage?: 'LOCAL' | 'R2';
995
+ /**
996
+ * Hash identifier for the segment
997
+ */
998
+ hashedId?: string;
999
+ /**
1000
+ * Base path in the storage backend
1001
+ */
1002
+ storageBasePath?: string;
1003
+ /**
1004
+ * Raw WD Tagger v3 classifier output used to derive content rating
1005
+ */
1006
+ ratingAnalysis?: {
1007
+ [key: string]: unknown;
1008
+ };
1009
+ /**
1010
+ * POS tokenization results keyed by engine (sudachi, unidic)
1011
+ */
1012
+ posAnalysis?: {
1013
+ [key: string]: unknown;
1014
+ };
871
1015
  };
872
1016
  /**
873
1017
  * Not Found error response
@@ -972,35 +1116,6 @@ export type SegmentUpdateRequest = {
972
1116
  */
973
1117
  hashedId?: string;
974
1118
  };
975
- /**
976
- * Segment with internal fields (for internal API responses)
977
- */
978
- export type SegmentInternal = Segment & {
979
- /**
980
- * Storage backend for segment assets
981
- */
982
- storage: 'LOCAL' | 'R2';
983
- /**
984
- * Hash identifier for the segment
985
- */
986
- hashedId: string;
987
- /**
988
- * Base path in the storage backend
989
- */
990
- storageBasePath: string;
991
- /**
992
- * Raw WD Tagger v3 classifier output used to derive content rating
993
- */
994
- ratingAnalysis: {
995
- [key: string]: unknown;
996
- };
997
- /**
998
- * POS tokenization results keyed by engine (sudachi, unidic)
999
- */
1000
- posAnalysis: {
1001
- [key: string]: unknown;
1002
- };
1003
- };
1004
1119
  export type SegmentContextResponse = {
1005
1120
  segments: Array<Segment>;
1006
1121
  includes: {
@@ -1012,6 +1127,30 @@ export type SegmentContextResponse = {
1012
1127
  };
1013
1128
  };
1014
1129
  };
1130
+ export type SegmentRevision = {
1131
+ /**
1132
+ * Revision ID
1133
+ */
1134
+ id: number;
1135
+ /**
1136
+ * Sequential revision number per segment
1137
+ */
1138
+ revisionNumber: number;
1139
+ /**
1140
+ * Snapshot of editable fields at the time of the revision
1141
+ */
1142
+ snapshot: {
1143
+ [key: string]: unknown;
1144
+ };
1145
+ /**
1146
+ * Name of the user who made the change
1147
+ */
1148
+ userName?: string;
1149
+ /**
1150
+ * When the revision was created
1151
+ */
1152
+ createdAt: string;
1153
+ };
1015
1154
  /**
1016
1155
  * Ordered media series grouping
1017
1156
  */
@@ -1020,6 +1159,10 @@ export type Series = {
1020
1159
  * Series ID
1021
1160
  */
1022
1161
  id: number;
1162
+ /**
1163
+ * Public identifier for the series
1164
+ */
1165
+ publicId: string;
1023
1166
  /**
1024
1167
  * Japanese name of the series
1025
1168
  */
@@ -1076,6 +1219,10 @@ export type Character = {
1076
1219
  * Internal character ID
1077
1220
  */
1078
1221
  id: number;
1222
+ /**
1223
+ * Public identifier for the character (use this in public URLs)
1224
+ */
1225
+ publicId: string;
1079
1226
  externalIds: ExternalId;
1080
1227
  /**
1081
1228
  * Japanese name of the character
@@ -1397,6 +1544,9 @@ export type SegmentCreateRequest = {
1397
1544
  */
1398
1545
  hashedId: string;
1399
1546
  };
1547
+ export type SegmentBatchCreateRequest = {
1548
+ segments: Array<SegmentCreateRequest>;
1549
+ };
1400
1550
  export type UserQuotaResponse = {
1401
1551
  /**
1402
1552
  * Number of API requests used in the current billing period.
@@ -1429,39 +1579,39 @@ export type ReportTargetMedia = {
1429
1579
  */
1430
1580
  type: 'MEDIA';
1431
1581
  /**
1432
- * Media ID this report targets
1582
+ * Public ID of the media this report targets
1433
1583
  */
1434
- mediaId: number;
1584
+ mediaId: string;
1435
1585
  };
1436
- export type ReportTargetSegment = {
1586
+ export type ReportTargetSegmentInput = {
1437
1587
  /**
1438
1588
  * Report target type
1439
1589
  */
1440
1590
  type: 'SEGMENT';
1441
1591
  /**
1442
- * Media ID this report targets
1592
+ * Public ID of the media this report targets
1443
1593
  */
1444
- mediaId: number;
1594
+ mediaId: string;
1445
1595
  /**
1446
1596
  * Episode number containing the segment
1447
1597
  */
1448
1598
  episodeNumber?: number;
1449
1599
  /**
1450
- * Segment UUID this report targets
1600
+ * Segment public ID or UUID
1451
1601
  */
1452
- segmentUuid: string;
1602
+ segmentId: string;
1453
1603
  };
1454
1604
  export type UserReportTarget = ({
1455
1605
  type: 'MEDIA';
1456
1606
  } & ReportTargetMedia) | ({
1457
1607
  type: 'SEGMENT';
1458
- } & ReportTargetSegment);
1608
+ } & ReportTargetSegmentInput);
1459
1609
  export type CreateReportRequest = {
1460
1610
  target: UserReportTarget;
1461
1611
  /**
1462
1612
  * Reason for the report
1463
1613
  */
1464
- reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_METADATA' | 'MISSING_EPISODES' | 'WRONG_COVER_IMAGE' | 'INAPPROPRIATE_CONTENT' | 'OTHER';
1614
+ reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'WRONG_JAPANESE_TEXT' | 'LOW_QUALITY_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_TITLE' | 'DUPLICATE_MEDIA' | 'WRONG_EPISODE_NUMBER' | 'IMAGE_ISSUE' | 'MISSING_EPISODES' | 'INAPPROPRIATE_CONTENT' | 'OTHER';
1465
1615
  /**
1466
1616
  * Optional description with additional details
1467
1617
  */
@@ -1473,14 +1623,32 @@ export type ReportTargetEpisode = {
1473
1623
  */
1474
1624
  type: 'EPISODE';
1475
1625
  /**
1476
- * Media ID this report targets
1626
+ * Public ID of the media this report targets
1477
1627
  */
1478
- mediaId: number;
1628
+ mediaId: string;
1479
1629
  /**
1480
1630
  * Episode number this report targets
1481
1631
  */
1482
1632
  episodeNumber: number;
1483
1633
  };
1634
+ export type ReportTargetSegment = {
1635
+ /**
1636
+ * Report target type
1637
+ */
1638
+ type: 'SEGMENT';
1639
+ /**
1640
+ * Public ID of the media this report targets
1641
+ */
1642
+ mediaId: string;
1643
+ /**
1644
+ * Episode number containing the segment
1645
+ */
1646
+ episodeNumber?: number;
1647
+ /**
1648
+ * Segment public ID or UUID
1649
+ */
1650
+ segmentId: string;
1651
+ };
1484
1652
  export type ReportTarget = ({
1485
1653
  type: 'MEDIA';
1486
1654
  } & ReportTargetMedia) | ({
@@ -1505,7 +1673,7 @@ export type Report = {
1505
1673
  /**
1506
1674
  * Reason for the report
1507
1675
  */
1508
- reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_METADATA' | 'MISSING_EPISODES' | 'WRONG_COVER_IMAGE' | 'INAPPROPRIATE_CONTENT' | 'OTHER' | 'LOW_SEGMENT_MEDIA' | 'EMPTY_EPISODES' | 'MISSING_EPISODES_AUTO' | 'BAD_SEGMENT_RATIO' | 'MEDIA_WITH_NO_EPISODES' | 'MISSING_TRANSLATIONS' | 'DB_ES_SYNC_ISSUES' | 'HIGH_REPORT_DENSITY';
1676
+ reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'WRONG_JAPANESE_TEXT' | 'LOW_QUALITY_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_METADATA' | 'MISSING_EPISODES' | 'WRONG_COVER_IMAGE' | 'WRONG_TITLE' | 'DUPLICATE_MEDIA' | 'WRONG_EPISODE_NUMBER' | 'IMAGE_ISSUE' | 'INAPPROPRIATE_CONTENT' | 'OTHER' | 'LOW_SEGMENT_MEDIA' | 'EMPTY_EPISODES' | 'MISSING_EPISODES_AUTO' | 'BAD_SEGMENT_RATIO' | 'MEDIA_WITH_NO_EPISODES' | 'MISSING_TRANSLATIONS' | 'DB_ES_SYNC_ISSUES' | 'HIGH_REPORT_DENSITY';
1509
1677
  /**
1510
1678
  * Optional description with additional details
1511
1679
  */
@@ -1584,17 +1752,26 @@ export type UserPreferences = {
1584
1752
  /**
1585
1753
  * Type of user activity
1586
1754
  */
1587
- export type ActivityType = 'SEARCH' | 'ANKI_EXPORT' | 'SEGMENT_PLAY' | 'LIST_ADD_SEGMENT';
1755
+ export type ActivityType = 'SEARCH' | 'ANKI_EXPORT' | 'SEGMENT_PLAY' | 'SHARE';
1588
1756
  export type UserActivity = {
1589
1757
  id: number;
1590
1758
  activityType: ActivityType;
1591
- segmentUuid: string;
1759
+ segmentId: string;
1592
1760
  mediaId: number;
1593
1761
  searchQuery: string;
1594
1762
  mediaName: string;
1595
1763
  japaneseText: string;
1596
1764
  createdAt: string;
1597
1765
  };
1766
+ /**
1767
+ * Activity counts for a single day, broken down by type. Only types with at least 1 event are present.
1768
+ */
1769
+ export type HeatmapDayCounts = {
1770
+ SEARCH?: number;
1771
+ SEGMENT_PLAY?: number;
1772
+ ANKI_EXPORT?: number;
1773
+ SHARE?: number;
1774
+ };
1598
1775
  /**
1599
1776
  * User segment collection
1600
1777
  */
@@ -1603,10 +1780,18 @@ export type Collection = {
1603
1780
  * Collection ID
1604
1781
  */
1605
1782
  id: number;
1783
+ /**
1784
+ * Public identifier for the collection
1785
+ */
1786
+ publicId: string;
1606
1787
  /**
1607
1788
  * Name of the collection
1608
1789
  */
1609
1790
  name: string;
1791
+ /**
1792
+ * Type of the collection
1793
+ */
1794
+ type: 'USER' | 'ANKI_EXPORT';
1610
1795
  /**
1611
1796
  * Visibility of the collection
1612
1797
  */
@@ -1626,9 +1811,9 @@ export type Collection = {
1626
1811
  };
1627
1812
  export type UserExportCollection = Collection & {
1628
1813
  /**
1629
- * Segment UUIDs in saved order
1814
+ * Segment IDs in saved order
1630
1815
  */
1631
- segmentUuids: Array<string>;
1816
+ segmentIds: Array<number>;
1632
1817
  };
1633
1818
  /**
1634
1819
  * User data export payload (identifier-oriented references)
@@ -1651,21 +1836,17 @@ export type UserLabFeature = {
1651
1836
  */
1652
1837
  key: string;
1653
1838
  /**
1654
- * Human-readable feature name (only present for labs)
1839
+ * Human-readable feature name
1655
1840
  */
1656
1841
  name?: string;
1657
1842
  /**
1658
- * Description of what the feature does (only present for labs)
1843
+ * Description of what the feature does
1659
1844
  */
1660
1845
  description?: string;
1661
1846
  /**
1662
1847
  * Whether this feature is currently active for the user
1663
1848
  */
1664
1849
  active: boolean;
1665
- /**
1666
- * Whether the user can toggle this feature (lab=true, flag=false)
1667
- */
1668
- userControllable: boolean;
1669
1850
  };
1670
1851
  /**
1671
1852
  * Paginated collection list response
@@ -1825,6 +2006,20 @@ export type AdminReportListResponse = {
1825
2006
  reports: Array<AdminReport>;
1826
2007
  pagination: OpaqueCursorPagination;
1827
2008
  };
2009
+ export type BatchUpdateReportsRequest = {
2010
+ /**
2011
+ * Report IDs to update
2012
+ */
2013
+ ids: Array<number>;
2014
+ /**
2015
+ * New status for all selected reports
2016
+ */
2017
+ status: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
2018
+ /**
2019
+ * Optional admin notes to set on all selected reports
2020
+ */
2021
+ adminNotes?: string;
2022
+ };
1828
2023
  export type UpdateReportRequest = {
1829
2024
  /**
1830
2025
  * New status for the report
@@ -2202,11 +2397,16 @@ export type GetSegmentByUuidData = {
2202
2397
  body?: never;
2203
2398
  path: {
2204
2399
  /**
2205
- * Segment UUID
2400
+ * Segment UUID or publicId
2206
2401
  */
2207
2402
  uuid: string;
2208
2403
  };
2209
- query?: never;
2404
+ query?: {
2405
+ /**
2406
+ * Additional internal fields to include in the response
2407
+ */
2408
+ include?: Array<'ratingAnalysis' | 'posAnalysis' | 'hashedId' | 'storageBasePath' | 'storage'>;
2409
+ };
2210
2410
  url: '/v1/media/segments/{uuid}';
2211
2411
  };
2212
2412
  export type GetSegmentByUuidErrors = {
@@ -2215,7 +2415,7 @@ export type GetSegmentByUuidErrors = {
2215
2415
  */
2216
2416
  400: Error400;
2217
2417
  /**
2218
- * Unauthorized (API key)
2418
+ * Unauthorized (API key or session)
2219
2419
  */
2220
2420
  401: Error401;
2221
2421
  /**
@@ -2238,16 +2438,16 @@ export type GetSegmentByUuidErrors = {
2238
2438
  export type GetSegmentByUuidError = GetSegmentByUuidErrors[keyof GetSegmentByUuidErrors];
2239
2439
  export type GetSegmentByUuidResponses = {
2240
2440
  /**
2241
- * OK
2441
+ * Single segment response with internal fields
2242
2442
  */
2243
- 200: Segment;
2443
+ 200: SegmentInternal;
2244
2444
  };
2245
2445
  export type GetSegmentByUuidResponse = GetSegmentByUuidResponses[keyof GetSegmentByUuidResponses];
2246
2446
  export type UpdateSegmentByUuidData = {
2247
2447
  body: SegmentUpdateRequest;
2248
2448
  path: {
2249
2449
  /**
2250
- * Segment UUID
2450
+ * Segment UUID or publicId
2251
2451
  */
2252
2452
  uuid: string;
2253
2453
  };
@@ -2292,7 +2492,7 @@ export type GetSegmentContextData = {
2292
2492
  body?: never;
2293
2493
  path: {
2294
2494
  /**
2295
- * Segment UUID
2495
+ * Segment UUID or publicId
2296
2496
  */
2297
2497
  uuid: string;
2298
2498
  };
@@ -2314,7 +2514,7 @@ export type GetSegmentContextErrors = {
2314
2514
  */
2315
2515
  400: Error400;
2316
2516
  /**
2317
- * Unauthorized (API key)
2517
+ * Unauthorized (API key or session)
2318
2518
  */
2319
2519
  401: Error401;
2320
2520
  /**
@@ -2342,6 +2542,53 @@ export type GetSegmentContextResponses = {
2342
2542
  200: SegmentContextResponse;
2343
2543
  };
2344
2544
  export type GetSegmentContextResponse = GetSegmentContextResponses[keyof GetSegmentContextResponses];
2545
+ export type ListSegmentRevisionsData = {
2546
+ body?: never;
2547
+ path: {
2548
+ /**
2549
+ * Segment UUID or publicId
2550
+ */
2551
+ uuid: string;
2552
+ };
2553
+ query?: never;
2554
+ url: '/v1/media/segments/{uuid}/revisions';
2555
+ };
2556
+ export type ListSegmentRevisionsErrors = {
2557
+ /**
2558
+ * Bad Request
2559
+ */
2560
+ 400: Error400;
2561
+ /**
2562
+ * Unauthorized (API key or session)
2563
+ */
2564
+ 401: Error401;
2565
+ /**
2566
+ * Forbidden
2567
+ */
2568
+ 403: Error403;
2569
+ /**
2570
+ * Not Found
2571
+ */
2572
+ 404: Error404;
2573
+ /**
2574
+ * Too Many Requests
2575
+ */
2576
+ 429: Error429;
2577
+ /**
2578
+ * Internal Server Error
2579
+ */
2580
+ 500: Error500;
2581
+ };
2582
+ export type ListSegmentRevisionsError = ListSegmentRevisionsErrors[keyof ListSegmentRevisionsErrors];
2583
+ export type ListSegmentRevisionsResponses = {
2584
+ /**
2585
+ * List of segment revisions
2586
+ */
2587
+ 200: {
2588
+ revisions: Array<SegmentRevision>;
2589
+ };
2590
+ };
2591
+ export type ListSegmentRevisionsResponse = ListSegmentRevisionsResponses[keyof ListSegmentRevisionsResponses];
2345
2592
  export type ListSeriesData = {
2346
2593
  body?: never;
2347
2594
  path?: never;
@@ -2444,9 +2691,9 @@ export type DeleteSeriesData = {
2444
2691
  body?: never;
2445
2692
  path: {
2446
2693
  /**
2447
- * Series ID
2694
+ * Series public ID
2448
2695
  */
2449
- id: number;
2696
+ id: string;
2450
2697
  };
2451
2698
  query?: never;
2452
2699
  url: '/v1/media/series/{id}';
@@ -2489,9 +2736,9 @@ export type GetSeriesData = {
2489
2736
  body?: never;
2490
2737
  path: {
2491
2738
  /**
2492
- * Series ID
2739
+ * Series public ID
2493
2740
  */
2494
- id: number;
2741
+ id: string;
2495
2742
  };
2496
2743
  query?: {
2497
2744
  /**
@@ -2552,9 +2799,9 @@ export type UpdateSeriesData = {
2552
2799
  };
2553
2800
  path: {
2554
2801
  /**
2555
- * Series ID
2802
+ * Series public ID
2556
2803
  */
2557
- id: number;
2804
+ id: string;
2558
2805
  };
2559
2806
  query?: never;
2560
2807
  url: '/v1/media/series/{id}';
@@ -2596,9 +2843,9 @@ export type UpdateSeriesResponse = UpdateSeriesResponses[keyof UpdateSeriesRespo
2596
2843
  export type AddMediaToSeriesData = {
2597
2844
  body: {
2598
2845
  /**
2599
- * Media ID to add
2846
+ * Media public ID to add
2600
2847
  */
2601
- mediaId: number;
2848
+ mediaId: string;
2602
2849
  /**
2603
2850
  * Position in the series (1-indexed)
2604
2851
  */
@@ -2606,9 +2853,9 @@ export type AddMediaToSeriesData = {
2606
2853
  };
2607
2854
  path: {
2608
2855
  /**
2609
- * Series ID
2856
+ * Series public ID
2610
2857
  */
2611
- id: number;
2858
+ id: string;
2612
2859
  };
2613
2860
  query?: never;
2614
2861
  url: '/v1/media/series/{id}/media';
@@ -2651,13 +2898,13 @@ export type RemoveMediaFromSeriesData = {
2651
2898
  body?: never;
2652
2899
  path: {
2653
2900
  /**
2654
- * Series ID
2901
+ * Series public ID
2655
2902
  */
2656
- id: number;
2903
+ id: string;
2657
2904
  /**
2658
- * Media ID
2905
+ * Media public ID
2659
2906
  */
2660
- mediaId: number;
2907
+ mediaId: string;
2661
2908
  };
2662
2909
  query?: never;
2663
2910
  url: '/v1/media/series/{id}/media/{mediaId}';
@@ -2705,13 +2952,13 @@ export type UpdateSeriesMediaData = {
2705
2952
  };
2706
2953
  path: {
2707
2954
  /**
2708
- * Series ID
2955
+ * Series public ID
2709
2956
  */
2710
- id: number;
2957
+ id: string;
2711
2958
  /**
2712
- * Media ID
2959
+ * Media public ID
2713
2960
  */
2714
- mediaId: number;
2961
+ mediaId: string;
2715
2962
  };
2716
2963
  query?: never;
2717
2964
  url: '/v1/media/series/{id}/media/{mediaId}';
@@ -2754,7 +3001,7 @@ export type GetCharacterData = {
2754
3001
  body?: never;
2755
3002
  path: {
2756
3003
  /**
2757
- * Internal character ID
3004
+ * Character ID
2758
3005
  */
2759
3006
  id: number;
2760
3007
  };
@@ -2844,9 +3091,9 @@ export type DeleteMediaData = {
2844
3091
  body?: never;
2845
3092
  path: {
2846
3093
  /**
2847
- * Media ID
3094
+ * Media public ID
2848
3095
  */
2849
- id: number;
3096
+ id: string;
2850
3097
  };
2851
3098
  query?: never;
2852
3099
  url: '/v1/media/{id}';
@@ -2889,9 +3136,9 @@ export type GetMediaData = {
2889
3136
  body?: never;
2890
3137
  path: {
2891
3138
  /**
2892
- * Media ID
3139
+ * Media public ID
2893
3140
  */
2894
- id: number;
3141
+ id: string;
2895
3142
  };
2896
3143
  query?: {
2897
3144
  /**
@@ -2939,9 +3186,9 @@ export type UpdateMediaData = {
2939
3186
  body: MediaUpdateRequest;
2940
3187
  path: {
2941
3188
  /**
2942
- * Media ID
3189
+ * Media public ID
2943
3190
  */
2944
- id: number;
3191
+ id: string;
2945
3192
  };
2946
3193
  query?: never;
2947
3194
  url: '/v1/media/{id}';
@@ -2984,9 +3231,9 @@ export type ListEpisodesData = {
2984
3231
  body?: never;
2985
3232
  path: {
2986
3233
  /**
2987
- * ID of the media
3234
+ * Public ID of the media
2988
3235
  */
2989
- mediaId: number;
3236
+ mediaId: string;
2990
3237
  };
2991
3238
  query?: {
2992
3239
  /**
@@ -3038,9 +3285,9 @@ export type CreateEpisodeData = {
3038
3285
  body: EpisodeCreateRequest;
3039
3286
  path: {
3040
3287
  /**
3041
- * ID of the media
3288
+ * Public ID of the media
3042
3289
  */
3043
- mediaId: number;
3290
+ mediaId: string;
3044
3291
  };
3045
3292
  query?: never;
3046
3293
  url: '/v1/media/{mediaId}/episodes';
@@ -3087,9 +3334,9 @@ export type DeleteEpisodeData = {
3087
3334
  body?: never;
3088
3335
  path: {
3089
3336
  /**
3090
- * ID of the media
3337
+ * Public ID of the media
3091
3338
  */
3092
- mediaId: number;
3339
+ mediaId: string;
3093
3340
  /**
3094
3341
  * Episode number
3095
3342
  */
@@ -3136,9 +3383,9 @@ export type GetEpisodeData = {
3136
3383
  body?: never;
3137
3384
  path: {
3138
3385
  /**
3139
- * ID of the media
3386
+ * Public ID of the media
3140
3387
  */
3141
- mediaId: number;
3388
+ mediaId: string;
3142
3389
  /**
3143
3390
  * Episode number
3144
3391
  */
@@ -3185,9 +3432,9 @@ export type UpdateEpisodeData = {
3185
3432
  body: EpisodeUpdateRequest;
3186
3433
  path: {
3187
3434
  /**
3188
- * ID of the media
3435
+ * Public ID of the media
3189
3436
  */
3190
- mediaId: number;
3437
+ mediaId: string;
3191
3438
  /**
3192
3439
  * Episode number
3193
3440
  */
@@ -3234,9 +3481,9 @@ export type ListSegmentsData = {
3234
3481
  body?: never;
3235
3482
  path: {
3236
3483
  /**
3237
- * ID of the media
3484
+ * Public ID of the media
3238
3485
  */
3239
- mediaId: number;
3486
+ mediaId: string;
3240
3487
  /**
3241
3488
  * Episode number
3242
3489
  */
@@ -3298,9 +3545,9 @@ export type CreateSegmentData = {
3298
3545
  body: SegmentCreateRequest;
3299
3546
  path: {
3300
3547
  /**
3301
- * ID of the media
3548
+ * Public ID of the media
3302
3549
  */
3303
- mediaId: number;
3550
+ mediaId: string;
3304
3551
  /**
3305
3552
  * Episode number
3306
3553
  */
@@ -3347,13 +3594,71 @@ export type CreateSegmentResponses = {
3347
3594
  201: SegmentInternal;
3348
3595
  };
3349
3596
  export type CreateSegmentResponse = CreateSegmentResponses[keyof CreateSegmentResponses];
3597
+ export type CreateSegmentsBatchData = {
3598
+ body: SegmentBatchCreateRequest;
3599
+ path: {
3600
+ /**
3601
+ * Public ID of the media
3602
+ */
3603
+ mediaId: string;
3604
+ /**
3605
+ * Episode number
3606
+ */
3607
+ episodeNumber: number;
3608
+ };
3609
+ query?: never;
3610
+ url: '/v1/media/{mediaId}/episodes/{episodeNumber}/segments/batch';
3611
+ };
3612
+ export type CreateSegmentsBatchErrors = {
3613
+ /**
3614
+ * Bad Request
3615
+ */
3616
+ 400: Error400;
3617
+ /**
3618
+ * Unauthorized (API key)
3619
+ */
3620
+ 401: Error401;
3621
+ /**
3622
+ * Forbidden
3623
+ */
3624
+ 403: Error403;
3625
+ /**
3626
+ * Not Found
3627
+ */
3628
+ 404: Error404;
3629
+ /**
3630
+ * Too Many Requests
3631
+ */
3632
+ 429: Error429;
3633
+ /**
3634
+ * Internal Server Error
3635
+ */
3636
+ 500: Error500;
3637
+ };
3638
+ export type CreateSegmentsBatchError = CreateSegmentsBatchErrors[keyof CreateSegmentsBatchErrors];
3639
+ export type CreateSegmentsBatchResponses = {
3640
+ /**
3641
+ * Batch segment creation result
3642
+ */
3643
+ 201: {
3644
+ /**
3645
+ * Number of segments successfully created
3646
+ */
3647
+ created: number;
3648
+ /**
3649
+ * Number of segments skipped due to duplicate UUIDs
3650
+ */
3651
+ skipped: number;
3652
+ };
3653
+ };
3654
+ export type CreateSegmentsBatchResponse = CreateSegmentsBatchResponses[keyof CreateSegmentsBatchResponses];
3350
3655
  export type DeleteSegmentData = {
3351
3656
  body?: never;
3352
3657
  path: {
3353
3658
  /**
3354
- * ID of the media
3659
+ * Public ID of the media
3355
3660
  */
3356
- mediaId: number;
3661
+ mediaId: string;
3357
3662
  /**
3358
3663
  * Episode number
3359
3664
  */
@@ -3404,9 +3709,9 @@ export type GetSegmentData = {
3404
3709
  body?: never;
3405
3710
  path: {
3406
3711
  /**
3407
- * ID of the media
3712
+ * Public ID of the media
3408
3713
  */
3409
- mediaId: number;
3714
+ mediaId: string;
3410
3715
  /**
3411
3716
  * Episode number
3412
3717
  */
@@ -3457,9 +3762,9 @@ export type UpdateSegmentData = {
3457
3762
  body: SegmentUpdateRequest;
3458
3763
  path: {
3459
3764
  /**
3460
- * ID of the media
3765
+ * Public ID of the media
3461
3766
  */
3462
- mediaId: number;
3767
+ mediaId: string;
3463
3768
  /**
3464
3769
  * Episode number
3465
3770
  */
@@ -3695,11 +4000,12 @@ export type ListUserActivityResponses = {
3695
4000
  export type ListUserActivityResponse = ListUserActivityResponses[keyof ListUserActivityResponses];
3696
4001
  export type TrackUserActivityData = {
3697
4002
  body: {
3698
- activityType: 'SEGMENT_PLAY';
3699
- segmentUuid?: string;
4003
+ activityType: 'SEARCH' | 'SEGMENT_PLAY' | 'SHARE';
4004
+ segmentId?: string;
3700
4005
  mediaId?: number;
3701
4006
  mediaName?: string;
3702
4007
  japaneseText?: string;
4008
+ searchQuery?: string;
3703
4009
  };
3704
4010
  path?: never;
3705
4011
  query?: never;
@@ -3735,10 +4041,6 @@ export type GetUserActivityHeatmapData = {
3735
4041
  * Number of days to include in the heatmap
3736
4042
  */
3737
4043
  days?: number;
3738
- /**
3739
- * Filter by activity type
3740
- */
3741
- activityType?: ActivityType;
3742
4044
  };
3743
4045
  url: '/v1/user/activity/heatmap';
3744
4046
  };
@@ -3759,10 +4061,10 @@ export type GetUserActivityHeatmapResponses = {
3759
4061
  */
3760
4062
  200: {
3761
4063
  /**
3762
- * Map of YYYY-MM-DD date strings to activity activityByDay
4064
+ * Map of YYYY-MM-DD date strings to per-type activity counts
3763
4065
  */
3764
4066
  activityByDay: {
3765
- [key: string]: number;
4067
+ [key: string]: HeatmapDayCounts;
3766
4068
  };
3767
4069
  };
3768
4070
  };
@@ -3798,6 +4100,7 @@ export type GetUserActivityStatsResponses = {
3798
4100
  totalExports: number;
3799
4101
  totalPlays: number;
3800
4102
  totalListAdds: number;
4103
+ totalShares: number;
3801
4104
  topMedia: Array<{
3802
4105
  mediaId: number;
3803
4106
  count: number;
@@ -4072,9 +4375,9 @@ export type DeleteCollectionData = {
4072
4375
  body?: never;
4073
4376
  path: {
4074
4377
  /**
4075
- * Collection ID
4378
+ * Collection public ID
4076
4379
  */
4077
- id: number;
4380
+ id: string;
4078
4381
  };
4079
4382
  query?: never;
4080
4383
  url: '/v1/collections/{id}';
@@ -4117,9 +4420,9 @@ export type GetCollectionData = {
4117
4420
  body?: never;
4118
4421
  path: {
4119
4422
  /**
4120
- * Collection ID
4423
+ * Collection public ID
4121
4424
  */
4122
- id: number;
4425
+ id: string;
4123
4426
  };
4124
4427
  query?: {
4125
4428
  /**
@@ -4174,9 +4477,9 @@ export type UpdateCollectionData = {
4174
4477
  };
4175
4478
  path: {
4176
4479
  /**
4177
- * Collection ID
4480
+ * Collection public ID
4178
4481
  */
4179
- id: number;
4482
+ id: string;
4180
4483
  };
4181
4484
  query?: never;
4182
4485
  url: '/v1/collections/{id}';
@@ -4218,9 +4521,9 @@ export type UpdateCollectionResponse = UpdateCollectionResponses[keyof UpdateCol
4218
4521
  export type AddSegmentToCollectionData = {
4219
4522
  body: {
4220
4523
  /**
4221
- * UUID of the segment to add
4524
+ * Public ID or UUID of the segment to add
4222
4525
  */
4223
- segmentUuid: string;
4526
+ segmentId: string;
4224
4527
  /**
4225
4528
  * Optional annotation
4226
4529
  */
@@ -4228,9 +4531,9 @@ export type AddSegmentToCollectionData = {
4228
4531
  };
4229
4532
  path: {
4230
4533
  /**
4231
- * Collection ID
4534
+ * Collection public ID
4232
4535
  */
4233
- id: number;
4536
+ id: string;
4234
4537
  };
4235
4538
  query?: never;
4236
4539
  url: '/v1/collections/{id}/segments';
@@ -4273,16 +4576,16 @@ export type RemoveSegmentFromCollectionData = {
4273
4576
  body?: never;
4274
4577
  path: {
4275
4578
  /**
4276
- * Collection ID
4579
+ * Collection public ID
4277
4580
  */
4278
- id: number;
4581
+ id: string;
4279
4582
  /**
4280
- * Segment UUID
4583
+ * Segment ID
4281
4584
  */
4282
- uuid: string;
4585
+ segmentId: number;
4283
4586
  };
4284
4587
  query?: never;
4285
- url: '/v1/collections/{id}/segments/{uuid}';
4588
+ url: '/v1/collections/{id}/segments/{segmentId}';
4286
4589
  };
4287
4590
  export type RemoveSegmentFromCollectionErrors = {
4288
4591
  /**
@@ -4331,16 +4634,16 @@ export type UpdateCollectionSegmentData = {
4331
4634
  };
4332
4635
  path: {
4333
4636
  /**
4334
- * Collection ID
4637
+ * Collection public ID
4335
4638
  */
4336
- id: number;
4639
+ id: string;
4337
4640
  /**
4338
- * Segment UUID
4641
+ * Segment ID
4339
4642
  */
4340
- uuid: string;
4643
+ segmentId: number;
4341
4644
  };
4342
4645
  query?: never;
4343
- url: '/v1/collections/{id}/segments/{uuid}';
4646
+ url: '/v1/collections/{id}/segments/{segmentId}';
4344
4647
  };
4345
4648
  export type UpdateCollectionSegmentErrors = {
4346
4649
  /**
@@ -4380,9 +4683,9 @@ export type SearchCollectionSegmentsData = {
4380
4683
  body?: never;
4381
4684
  path: {
4382
4685
  /**
4383
- * Collection ID
4686
+ * Collection public ID
4384
4687
  */
4385
- id: number;
4688
+ id: string;
4386
4689
  };
4387
4690
  query?: {
4388
4691
  /**
@@ -4434,9 +4737,9 @@ export type GetCollectionStatsData = {
4434
4737
  body?: never;
4435
4738
  path: {
4436
4739
  /**
4437
- * Collection ID
4740
+ * Collection public ID
4438
4741
  */
4439
- id: number;
4742
+ id: string;
4440
4743
  };
4441
4744
  query?: never;
4442
4745
  url: '/v1/collections/{id}/stats';
@@ -4483,7 +4786,7 @@ export type GetAdminDashboardData = {
4483
4786
  };
4484
4787
  export type GetAdminDashboardErrors = {
4485
4788
  /**
4486
- * Unauthorized (API key)
4789
+ * Unauthorized (session)
4487
4790
  */
4488
4791
  401: Error401;
4489
4792
  /**
@@ -4575,7 +4878,7 @@ export type GetAdminHealthData = {
4575
4878
  };
4576
4879
  export type GetAdminHealthErrors = {
4577
4880
  /**
4578
- * Unauthorized (API key)
4881
+ * Unauthorized (session)
4579
4882
  */
4580
4883
  401: Error401;
4581
4884
  /**
@@ -4637,7 +4940,7 @@ export type TriggerReindexErrors = {
4637
4940
  */
4638
4941
  400: Error400;
4639
4942
  /**
4640
- * Unauthorized (API key)
4943
+ * Unauthorized (session)
4641
4944
  */
4642
4945
  401: Error401;
4643
4946
  /**
@@ -4673,7 +4976,7 @@ export type ListAdminQueueStatsErrors = {
4673
4976
  */
4674
4977
  400: Error400;
4675
4978
  /**
4676
- * Unauthorized (API key)
4979
+ * Unauthorized (session)
4677
4980
  */
4678
4981
  401: Error401;
4679
4982
  /**
@@ -4724,7 +5027,7 @@ export type GetAdminQueueErrors = {
4724
5027
  */
4725
5028
  400: Error400;
4726
5029
  /**
4727
- * Unauthorized (API key)
5030
+ * Unauthorized (session)
4728
5031
  */
4729
5032
  401: Error401;
4730
5033
  /**
@@ -4809,7 +5112,7 @@ export type ListAdminQueueFailedErrors = {
4809
5112
  */
4810
5113
  400: Error400;
4811
5114
  /**
4812
- * Unauthorized (API key)
5115
+ * Unauthorized (session)
4813
5116
  */
4814
5117
  401: Error401;
4815
5118
  /**
@@ -4867,7 +5170,7 @@ export type RetryAdminQueueFailedErrors = {
4867
5170
  */
4868
5171
  400: Error400;
4869
5172
  /**
4870
- * Unauthorized (API key)
5173
+ * Unauthorized (session)
4871
5174
  */
4872
5175
  401: Error401;
4873
5176
  /**
@@ -4915,7 +5218,7 @@ export type PurgeAdminQueueFailedErrors = {
4915
5218
  */
4916
5219
  400: Error400;
4917
5220
  /**
4918
- * Unauthorized (API key)
5221
+ * Unauthorized (session)
4919
5222
  */
4920
5223
  401: Error401;
4921
5224
  /**
@@ -4953,10 +5256,6 @@ export type ClearAdminImpersonationData = {
4953
5256
  url: '/v1/admin/impersonation';
4954
5257
  };
4955
5258
  export type ClearAdminImpersonationErrors = {
4956
- /**
4957
- * Unauthorized (session)
4958
- */
4959
- 401: Error401;
4960
5259
  /**
4961
5260
  * Forbidden
4962
5261
  */
@@ -4996,10 +5295,6 @@ export type ImpersonateAdminUserErrors = {
4996
5295
  * Bad Request
4997
5296
  */
4998
5297
  400: Error400;
4999
- /**
5000
- * Unauthorized (session)
5001
- */
5002
- 401: Error401;
5003
5298
  /**
5004
5299
  * Forbidden
5005
5300
  */
@@ -5045,9 +5340,10 @@ export type ListAdminReportsData = {
5045
5340
  */
5046
5341
  take?: number;
5047
5342
  /**
5048
- * Filter by report status
5343
+ * Filter by report status. Accepts a single value or comma-separated list (e.g. "PENDING,ACCEPTED"). Valid values: PENDING, CONCERN, ACCEPTED, REJECTED, RESOLVED, IGNORED.
5344
+ *
5049
5345
  */
5050
- status?: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
5346
+ status?: string;
5051
5347
  /**
5052
5348
  * Filter by report source
5053
5349
  */
@@ -5065,9 +5361,9 @@ export type ListAdminReportsData = {
5065
5361
  */
5066
5362
  'target.episodeNumber'?: number;
5067
5363
  /**
5068
- * Filter by target segment UUID
5364
+ * Filter by target segment ID
5069
5365
  */
5070
- 'target.segmentUuid'?: string;
5366
+ 'target.segmentId'?: number;
5071
5367
  /**
5072
5368
  * Filter by audit run ID
5073
5369
  */
@@ -5077,7 +5373,7 @@ export type ListAdminReportsData = {
5077
5373
  };
5078
5374
  export type ListAdminReportsErrors = {
5079
5375
  /**
5080
- * Unauthorized (API key)
5376
+ * Unauthorized (session)
5081
5377
  */
5082
5378
  401: Error401;
5083
5379
  /**
@@ -5101,6 +5397,47 @@ export type ListAdminReportsResponses = {
5101
5397
  200: AdminReportListResponse;
5102
5398
  };
5103
5399
  export type ListAdminReportsResponse = ListAdminReportsResponses[keyof ListAdminReportsResponses];
5400
+ export type BatchUpdateAdminReportsData = {
5401
+ body: BatchUpdateReportsRequest;
5402
+ path?: never;
5403
+ query?: never;
5404
+ url: '/v1/admin/reports/batch';
5405
+ };
5406
+ export type BatchUpdateAdminReportsErrors = {
5407
+ /**
5408
+ * Bad Request
5409
+ */
5410
+ 400: Error400;
5411
+ /**
5412
+ * Unauthorized (session)
5413
+ */
5414
+ 401: Error401;
5415
+ /**
5416
+ * Forbidden
5417
+ */
5418
+ 403: Error403;
5419
+ /**
5420
+ * Too Many Requests
5421
+ */
5422
+ 429: Error429;
5423
+ /**
5424
+ * Internal Server Error
5425
+ */
5426
+ 500: Error500;
5427
+ };
5428
+ export type BatchUpdateAdminReportsError = BatchUpdateAdminReportsErrors[keyof BatchUpdateAdminReportsErrors];
5429
+ export type BatchUpdateAdminReportsResponses = {
5430
+ /**
5431
+ * Reports updated successfully
5432
+ */
5433
+ 200: {
5434
+ /**
5435
+ * Number of reports updated
5436
+ */
5437
+ updated: number;
5438
+ };
5439
+ };
5440
+ export type BatchUpdateAdminReportsResponse = BatchUpdateAdminReportsResponses[keyof BatchUpdateAdminReportsResponses];
5104
5441
  export type UpdateAdminReportData = {
5105
5442
  body: UpdateReportRequest;
5106
5443
  path: {
@@ -5118,7 +5455,7 @@ export type UpdateAdminReportErrors = {
5118
5455
  */
5119
5456
  400: Error400;
5120
5457
  /**
5121
- * Unauthorized (API key)
5458
+ * Unauthorized (session)
5122
5459
  */
5123
5460
  401: Error401;
5124
5461
  /**
@@ -5154,7 +5491,7 @@ export type ListAdminMediaAuditsData = {
5154
5491
  };
5155
5492
  export type ListAdminMediaAuditsErrors = {
5156
5493
  /**
5157
- * Unauthorized (API key)
5494
+ * Unauthorized (session)
5158
5495
  */
5159
5496
  401: Error401;
5160
5497
  /**
@@ -5206,7 +5543,7 @@ export type UpdateAdminMediaAuditErrors = {
5206
5543
  */
5207
5544
  400: Error400;
5208
5545
  /**
5209
- * Unauthorized (API key)
5546
+ * Unauthorized (session)
5210
5547
  */
5211
5548
  401: Error401;
5212
5549
  /**
@@ -5252,7 +5589,7 @@ export type RunAdminMediaAuditData = {
5252
5589
  };
5253
5590
  export type RunAdminMediaAuditErrors = {
5254
5591
  /**
5255
- * Unauthorized (API key)
5592
+ * Unauthorized (session)
5256
5593
  */
5257
5594
  401: Error401;
5258
5595
  /**
@@ -5301,7 +5638,7 @@ export type ListAdminMediaAuditRunsData = {
5301
5638
  };
5302
5639
  export type ListAdminMediaAuditRunsErrors = {
5303
5640
  /**
5304
- * Unauthorized (API key)
5641
+ * Unauthorized (session)
5305
5642
  */
5306
5643
  401: Error401;
5307
5644
  /**
@@ -5341,7 +5678,7 @@ export type GetAdminMediaAuditRunData = {
5341
5678
  };
5342
5679
  export type GetAdminMediaAuditRunErrors = {
5343
5680
  /**
5344
- * Unauthorized (API key)
5681
+ * Unauthorized (session)
5345
5682
  */
5346
5683
  401: Error401;
5347
5684
  /**
@@ -5372,4 +5709,80 @@ export type GetAdminMediaAuditRunResponses = {
5372
5709
  };
5373
5710
  };
5374
5711
  export type GetAdminMediaAuditRunResponse = GetAdminMediaAuditRunResponses[keyof GetAdminMediaAuditRunResponses];
5712
+ export type GetAnnouncementData = {
5713
+ body?: never;
5714
+ path?: never;
5715
+ query?: never;
5716
+ url: '/v1/admin/announcement';
5717
+ };
5718
+ export type GetAnnouncementErrors = {
5719
+ /**
5720
+ * Too Many Requests
5721
+ */
5722
+ 429: Error429;
5723
+ /**
5724
+ * Internal Server Error
5725
+ */
5726
+ 500: Error500;
5727
+ };
5728
+ export type GetAnnouncementError = GetAnnouncementErrors[keyof GetAnnouncementErrors];
5729
+ export type GetAnnouncementResponses = {
5730
+ /**
5731
+ * OK
5732
+ */
5733
+ 200: {
5734
+ message: string;
5735
+ type: 'info' | 'warning' | 'maintenance';
5736
+ active: boolean;
5737
+ };
5738
+ /**
5739
+ * No announcement set
5740
+ */
5741
+ 204: void;
5742
+ };
5743
+ export type GetAnnouncementResponse = GetAnnouncementResponses[keyof GetAnnouncementResponses];
5744
+ export type UpdateAnnouncementData = {
5745
+ body: {
5746
+ message: string;
5747
+ type: 'info' | 'warning' | 'maintenance';
5748
+ active: boolean;
5749
+ };
5750
+ path?: never;
5751
+ query?: never;
5752
+ url: '/v1/admin/announcement';
5753
+ };
5754
+ export type UpdateAnnouncementErrors = {
5755
+ /**
5756
+ * Bad Request
5757
+ */
5758
+ 400: Error400;
5759
+ /**
5760
+ * Unauthorized (session)
5761
+ */
5762
+ 401: Error401;
5763
+ /**
5764
+ * Forbidden
5765
+ */
5766
+ 403: Error403;
5767
+ /**
5768
+ * Too Many Requests
5769
+ */
5770
+ 429: Error429;
5771
+ /**
5772
+ * Internal Server Error
5773
+ */
5774
+ 500: Error500;
5775
+ };
5776
+ export type UpdateAnnouncementError = UpdateAnnouncementErrors[keyof UpdateAnnouncementErrors];
5777
+ export type UpdateAnnouncementResponses = {
5778
+ /**
5779
+ * Announcement updated
5780
+ */
5781
+ 200: {
5782
+ message: string;
5783
+ type: 'info' | 'warning' | 'maintenance';
5784
+ active: boolean;
5785
+ };
5786
+ };
5787
+ export type UpdateAnnouncementResponse = UpdateAnnouncementResponses[keyof UpdateAnnouncementResponses];
5375
5788
  //# sourceMappingURL=types.gen.d.ts.map