e621 3.3.0 → 3.4.1

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.
Files changed (71) hide show
  1. package/dist/browser/e621.js +489 -220
  2. package/dist/browser/e621.js.map +4 -4
  3. package/dist/lib/generated/schemas.d.ts +72 -43
  4. package/dist/lib/generated/schemas.js +90 -60
  5. package/dist/lib/generated/sdk.d.ts +28 -5
  6. package/dist/lib/generated/sdk.js +216 -96
  7. package/dist/lib/generated/types.d.ts +511 -366
  8. package/dist/lib/models/Blip.d.ts +2 -3
  9. package/dist/lib/models/Blip.js +2 -2
  10. package/dist/lib/models/Comment.d.ts +2 -2
  11. package/dist/lib/models/Comment.js +2 -2
  12. package/dist/lib/models/ForumPost.d.ts +4 -5
  13. package/dist/lib/models/ForumPost.js +3 -3
  14. package/dist/lib/models/PostFlag.d.ts +2 -1
  15. package/dist/lib/models/PostFlag.js +1 -1
  16. package/dist/lib/models/UploadKarmaEvent.d.ts +9 -0
  17. package/dist/lib/models/UploadKarmaEvent.js +6 -0
  18. package/dist/lib/models/index.d.ts +1 -0
  19. package/dist/lib/models/index.js +2 -1
  20. package/dist/lib/modules/Appeals.js +2 -2
  21. package/dist/lib/modules/Artists.js +3 -3
  22. package/dist/lib/modules/AvoidPostings.d.ts +16 -2
  23. package/dist/lib/modules/AvoidPostings.js +22 -3
  24. package/dist/lib/modules/Blips.d.ts +1 -1
  25. package/dist/lib/modules/Blips.js +4 -4
  26. package/dist/lib/modules/BulkUpdateRequests.js +3 -3
  27. package/dist/lib/modules/Comments.d.ts +3 -3
  28. package/dist/lib/modules/Comments.js +4 -4
  29. package/dist/lib/modules/EmailBlacklists.js +2 -2
  30. package/dist/lib/modules/ForumPostVotes.d.ts +1 -1
  31. package/dist/lib/modules/ForumPostVotes.js +2 -2
  32. package/dist/lib/modules/ForumPosts.d.ts +3 -3
  33. package/dist/lib/modules/ForumPosts.js +4 -4
  34. package/dist/lib/modules/ForumTopics.d.ts +13 -2
  35. package/dist/lib/modules/ForumTopics.js +19 -3
  36. package/dist/lib/modules/HelpPages.js +4 -4
  37. package/dist/lib/modules/IpBans.js +2 -2
  38. package/dist/lib/modules/NewsUpdates.js +3 -3
  39. package/dist/lib/modules/Notes.js +3 -3
  40. package/dist/lib/modules/Pools.js +3 -3
  41. package/dist/lib/modules/PostDisapprovals.js +2 -2
  42. package/dist/lib/modules/PostFlags.d.ts +6 -3
  43. package/dist/lib/modules/PostFlags.js +3 -3
  44. package/dist/lib/modules/PostSets.js +6 -6
  45. package/dist/lib/modules/Posts.js +5 -2
  46. package/dist/lib/modules/SearchTrendBlacklists.js +4 -4
  47. package/dist/lib/modules/SearchTrends.js +3 -3
  48. package/dist/lib/modules/StaffNotes.js +3 -3
  49. package/dist/lib/modules/StaffUsers.js +4 -4
  50. package/dist/lib/modules/TagAliases.d.ts +11 -0
  51. package/dist/lib/modules/TagAliases.js +26 -4
  52. package/dist/lib/modules/TagImplications.d.ts +11 -0
  53. package/dist/lib/modules/TagImplications.js +26 -4
  54. package/dist/lib/modules/Tags.js +2 -2
  55. package/dist/lib/modules/Takedowns.js +2 -2
  56. package/dist/lib/modules/Tickets.js +2 -2
  57. package/dist/lib/modules/UploadKarmaEvents.d.ts +18 -0
  58. package/dist/lib/modules/UploadKarmaEvents.js +28 -0
  59. package/dist/lib/modules/UploadWhitelists.js +3 -3
  60. package/dist/lib/modules/UserFeedbacks.js +3 -3
  61. package/dist/lib/modules/UserNameChangeRequests.js +2 -2
  62. package/dist/lib/modules/Users.d.ts +17 -2
  63. package/dist/lib/modules/Users.js +26 -4
  64. package/dist/lib/modules/WikiPages.js +3 -3
  65. package/dist/lib/modules/index.d.ts +3 -0
  66. package/dist/lib/modules/index.js +3 -1
  67. package/dist/lib/util.d.ts +4 -2
  68. package/dist/lib/util.js +3 -2
  69. package/dist/lib/version.d.ts +1 -1
  70. package/dist/lib/version.js +1 -1
  71. package/package.json +1 -1
@@ -6,7 +6,7 @@ export type AppealType = 'flag';
6
6
  export type DBExportName = 'artists' | 'bulk_update_requests' | 'pools' | 'post_replacements' | 'posts' | 'post_versions' | 'tag_aliases' | 'tag_implications' | 'tags' | 'wiki_pages';
7
7
  export type EditHistoryVersionableType = 'Blip' | 'Comment' | 'ForumPost';
8
8
  export type JWKSAlgorithm = 'RS256';
9
- export type ModActionAction = 'admin_user_delete' | 'artist_delete' | 'artist_page_rename' | 'artist_page_lock' | 'artist_page_unlock' | 'artist_user_linked' | 'artist_user_unlinked' | 'avoid_posting_create' | 'avoid_posting_update' | 'avoid_posting_delete' | 'avoid_posting_undelete' | 'avoid_posting_destroy' | 'staff_note_create' | 'staff_note_update' | 'staff_note_delete' | 'staff_note_undelete' | 'blip_destroy' | 'blip_delete' | 'blip_undelete' | 'blip_update' | 'comment_delete' | 'comment_hide' | 'comment_unhide' | 'comment_update' | 'forum_category_create' | 'forum_category_delete' | 'forum_category_update' | 'forum_post_delete' | 'forum_post_hide' | 'forum_post_unhide' | 'forum_post_update' | 'forum_topic_delete' | 'forum_topic_hide' | 'forum_topic_unhide' | 'forum_topic_lock' | 'forum_topic_unlock' | 'forum_topic_stick' | 'forum_topic_unstick' | 'forum_topic_update' | 'help_create' | 'help_delete' | 'help_update' | 'ip_ban_create' | 'ip_ban_delete' | 'search_trend_blacklist_create' | 'search_trend_blacklist_update' | 'search_trend_blacklist_delete' | 'search_trend_blacklist_purge' | 'mascot_create' | 'mascot_update' | 'mascot_delete' | 'staff_file_create' | 'staff_file_update' | 'staff_file_delete' | 'pool_delete' | 'report_reason_create' | 'report_reason_delete' | 'report_reason_update' | 'set_update' | 'set_delete' | 'set_change_visibility' | 'tag_destroy' | 'tag_alias_create' | 'tag_alias_update' | 'tag_implication_create' | 'tag_implication_update' | 'ticket_claim' | 'ticket_unclaim' | 'ticket_update' | 'appeal_claim' | 'appeal_unclaim' | 'appeal_update' | 'upload_whitelist_create' | 'upload_whitelist_update' | 'upload_whitelist_delete' | 'user_avatar_clear' | 'user_profile_clear' | 'user_comments_hide' | 'user_forum_posts_hide' | 'user_blips_delete' | 'user_blacklist_changed' | 'totp_reset' | 'password_reset' | 'user_text_change' | 'user_custom_title_change' | 'user_upload_limit_change' | 'user_karma_change' | 'user_karma_free_toggle' | 'user_uploads_toggle' | 'user_flags_change' | 'user_level_change' | 'user_name_change' | 'user_delete' | 'user_ban' | 'user_ban_update' | 'user_unban' | 'user_feedback_create' | 'user_feedback_update' | 'user_feedback_delete' | 'user_feedback_undelete' | 'user_feedback_destroy' | 'user_flush_favorites' | 'wiki_page_rename' | 'wiki_page_delete' | 'wiki_page_lock' | 'wiki_page_unlock' | 'mass_update' | 'nuke_tag' | 'takedown_delete' | 'takedown_process' | 'post_version_hide' | 'post_version_unhide' | 'created_positive_record' | 'created_neutral_record' | 'created_negative_record' | 'created_flag_reason' | 'edited_flag_reason' | 'deleted_flag_reason' | 'post_move_favorites' | 'post_delete' | 'post_undelete' | 'post_destroy' | 'post_rating_lock' | 'post_unapprove' | 'post_replacement_accept' | 'post_replacement_reject' | 'post_replacement_delete';
9
+ export type ModActionAction = 'admin_user_delete' | 'artist_delete' | 'artist_page_rename' | 'artist_page_lock' | 'artist_page_unlock' | 'artist_user_linked' | 'artist_user_unlinked' | 'avoid_posting_create' | 'avoid_posting_update' | 'avoid_posting_delete' | 'avoid_posting_undelete' | 'avoid_posting_destroy' | 'staff_note_create' | 'staff_note_update' | 'staff_note_delete' | 'staff_note_undelete' | 'blip_destroy' | 'blip_delete' | 'blip_undelete' | 'blip_update' | 'comment_delete' | 'comment_hide' | 'comment_unhide' | 'comment_update' | 'forum_category_create' | 'forum_category_delete' | 'forum_category_update' | 'forum_post_delete' | 'forum_post_hide' | 'forum_post_unhide' | 'forum_post_update' | 'forum_topic_delete' | 'forum_topic_hide' | 'forum_topic_unhide' | 'forum_topic_lock' | 'forum_topic_unlock' | 'forum_topic_stick' | 'forum_topic_unstick' | 'forum_topic_update' | 'help_create' | 'help_delete' | 'help_update' | 'ip_ban_create' | 'ip_ban_delete' | 'search_trend_blacklist_create' | 'search_trend_blacklist_update' | 'search_trend_blacklist_delete' | 'search_trend_blacklist_purge' | 'mascot_create' | 'mascot_update' | 'mascot_delete' | 'staff_file_create' | 'staff_file_update' | 'staff_file_delete' | 'pool_delete' | 'report_reason_create' | 'report_reason_delete' | 'report_reason_update' | 'set_update' | 'set_delete' | 'set_change_visibility' | 'tag_destroy' | 'tag_alias_create' | 'tag_alias_update' | 'tag_alias_undo' | 'tag_implication_create' | 'tag_implication_update' | 'tag_implication_undo' | 'ticket_claim' | 'ticket_unclaim' | 'ticket_update' | 'appeal_claim' | 'appeal_unclaim' | 'appeal_update' | 'upload_whitelist_create' | 'upload_whitelist_update' | 'upload_whitelist_delete' | 'user_avatar_clear' | 'user_profile_clear' | 'user_comments_hide' | 'user_forum_posts_hide' | 'user_blips_delete' | 'user_blacklist_changed' | 'totp_reset' | 'password_reset' | 'user_text_change' | 'user_custom_title_change' | 'user_upload_limit_change' | 'user_karma_change' | 'user_karma_free_toggle' | 'user_uploads_toggle' | 'user_flags_change' | 'user_level_change' | 'user_name_change' | 'user_delete' | 'user_ban' | 'user_ban_update' | 'user_unban' | 'user_feedback_create' | 'user_feedback_update' | 'user_feedback_delete' | 'user_feedback_undelete' | 'user_feedback_destroy' | 'user_flush_favorites' | 'wiki_page_rename' | 'wiki_page_delete' | 'wiki_page_lock' | 'wiki_page_unlock' | 'mass_update' | 'nuke_tag' | 'takedown_delete' | 'takedown_process' | 'post_version_hide' | 'post_version_unhide' | 'created_positive_record' | 'created_neutral_record' | 'created_negative_record' | 'created_flag_reason' | 'edited_flag_reason' | 'deleted_flag_reason' | 'post_move_favorites' | 'post_delete' | 'post_undelete' | 'post_destroy' | 'post_rating_lock' | 'post_unapprove' | 'post_replacement_accept' | 'post_replacement_reject' | 'post_replacement_delete';
10
10
  export type OAuthClaim = 'iss' | 'sub' | 'aud' | 'exp' | 'iat' | 'preferred_username' | 'name' | 'picture' | 'updated_at' | 'e621_level' | 'e621_level_string' | 'e621_avatar_id' | 'e621_permissions' | 'email' | 'email_verified';
11
11
  export type OAuthClaimType = 'normal';
12
12
  export type OAuthCodeChallengeMethod = 'S256';
@@ -34,6 +34,7 @@ export type UpDownVote = 1 | -1;
34
34
  export type UserFeedbackCategory = 'negative' | 'neutral' | 'positive';
35
35
  export type UserLevel = 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80;
36
36
  export type UserLevelName = 'Anonymous' | 'Blocked' | 'Member' | 'Privileged' | 'Former Staff' | 'Staff' | 'Janitor' | 'Moderator' | 'Admin';
37
+ export type WarningRecordType = 'warning' | 'record' | 'ban' | 'unmark';
37
38
  export type WarningType = 'warning' | 'record' | 'ban';
38
39
  export type APIKey = {
39
40
  id: number;
@@ -147,9 +148,6 @@ export type Blip = {
147
148
  updater_id: number;
148
149
  creator_name: string;
149
150
  };
150
- export type BulkRelatedTag = RelatedTag & {
151
- count: number;
152
- };
153
151
  export type BulkUpdateRequest = {
154
152
  id: number;
155
153
  creator_id: number;
@@ -200,7 +198,6 @@ export type CurrentUser = User & {
200
198
  receive_email_notifications: boolean;
201
199
  enable_keyboard_navigation: boolean;
202
200
  enable_privacy_mode: boolean;
203
- style_usernames: boolean;
204
201
  enable_auto_complete: boolean;
205
202
  can_approve_posts?: boolean;
206
203
  disable_cropped_thumbnails: boolean;
@@ -489,12 +486,14 @@ export type LegacyPost = {
489
486
  width: number;
490
487
  height: number;
491
488
  url: string | null;
489
+ alt?: string | null;
492
490
  };
493
491
  sample: {
494
492
  has: boolean;
495
493
  height: number | null;
496
494
  width: number | null;
497
495
  url: string | null;
496
+ alt?: string | null;
498
497
  alternates: {
499
498
  has?: boolean;
500
499
  original?: PostSampleAlternate;
@@ -795,6 +794,18 @@ export type PostFiles = {
795
794
  original: PostFilesOriginal;
796
795
  preview: PostFilesPreview;
797
796
  sample: PostFilesSample;
797
+ video?: {
798
+ has: boolean;
799
+ original: PostSampleAlternate;
800
+ variants: {
801
+ webm?: PostSampleAlternate;
802
+ mp4?: PostSampleAlternate;
803
+ };
804
+ samples: {
805
+ '480p'?: PostSampleAlternate;
806
+ '720p'?: PostSampleAlternate;
807
+ };
808
+ };
798
809
  };
799
810
  export type PostFilesMeta = {
800
811
  md5: string;
@@ -882,11 +893,11 @@ export type PostReplacement = {
882
893
  };
883
894
  export type PostSampleAlternate = {
884
895
  fps: number;
885
- codec: string;
896
+ codec: string | null;
886
897
  size: number;
887
898
  width: number;
888
899
  height: number;
889
- url: string;
900
+ url: string | null;
890
901
  };
891
902
  export type PostSet = {
892
903
  id: number;
@@ -907,6 +918,7 @@ export type PostStats = {
907
918
  is_favorited: boolean;
908
919
  vote: UpDownMehVote;
909
920
  comment_count: number;
921
+ hotness: number;
910
922
  };
911
923
  export type PostStatsScore = {
912
924
  up: number;
@@ -1011,10 +1023,6 @@ export type RecommendedPosts = {
1011
1023
  model_version: string;
1012
1024
  results: Array<PostRecommendation>;
1013
1025
  };
1014
- export type RelatedTag = {
1015
- name: string;
1016
- category_id: TagCategory;
1017
- };
1018
1026
  export type RisingSearchTrend = {
1019
1027
  name: string;
1020
1028
  pretty_name: string;
@@ -1149,7 +1157,7 @@ export type Stats = {
1149
1157
  blocked_users: number;
1150
1158
  member_users: number;
1151
1159
  privileged_users: number;
1152
- 'former staff_users': number;
1160
+ former_staff_users: number;
1153
1161
  staff_users: number;
1154
1162
  janitor_users: number;
1155
1163
  moderator_users: number;
@@ -1252,6 +1260,11 @@ export type TagTypeVersion = {
1252
1260
  tag_id: number;
1253
1261
  creator_id: number;
1254
1262
  };
1263
+ export type TagWithCount = {
1264
+ name: string;
1265
+ category_id: TagCategory;
1266
+ count: number;
1267
+ };
1255
1268
  export type Takedown = {
1256
1269
  id: number;
1257
1270
  status: 'approved' | 'denied' | 'partial' | 'pending';
@@ -1447,9 +1460,6 @@ export type VoteTrendUploader = {
1447
1460
  uploader_id: number;
1448
1461
  uploader: User;
1449
1462
  };
1450
- export type WarningRecordType = {
1451
- record_type: 'unmark' | 'ban' | 'record' | 'warning';
1452
- };
1453
1463
  export type WikiPage = {
1454
1464
  id: number;
1455
1465
  created_at: string;
@@ -1560,7 +1570,9 @@ export type idPath = number;
1560
1570
  * An ID that can be either an integer or a name.
1561
1571
  */
1562
1572
  export type idOrNamePath = number | string;
1563
- export type warning = WarningRecordType;
1573
+ export type warning = {
1574
+ record_type: WarningRecordType;
1575
+ };
1564
1576
  export type ApiKeysIndexData = {
1565
1577
  body?: never;
1566
1578
  path?: never;
@@ -1798,12 +1810,12 @@ export type AppealsShowResponses = {
1798
1810
  export type AppealsShowResponse = AppealsShowResponses[keyof AppealsShowResponses];
1799
1811
  export type AppealsUpdateData = {
1800
1812
  body?: {
1801
- status?: 'partial' | 'approved';
1802
- response?: string;
1813
+ 'appeal[status]'?: 'partial' | 'approved';
1814
+ 'appeal[response]'?: string;
1803
1815
  /**
1804
1816
  * An update dmail will always be sent when the status is changed.
1805
1817
  */
1806
- send_update_dmail?: boolean;
1818
+ 'appeal[send_update_dmail]'?: boolean;
1807
1819
  };
1808
1820
  path: {
1809
1821
  /**
@@ -1933,20 +1945,20 @@ export type ArtistsIndexResponses = {
1933
1945
  export type ArtistsIndexResponse = ArtistsIndexResponses[keyof ArtistsIndexResponses];
1934
1946
  export type ArtistsCreateData = {
1935
1947
  body?: {
1936
- name: string;
1937
- other_names?: Array<string>;
1938
- other_names_string?: string;
1939
- url_string?: string;
1940
- notes?: string;
1941
- group_name?: string;
1948
+ 'artist[name]': string;
1949
+ 'artist[other_names][]'?: Array<string>;
1950
+ 'artist[other_names_string]'?: string;
1951
+ 'artist[url_string]'?: string;
1952
+ 'artist[notes]'?: string;
1953
+ 'artist[group_name]'?: string;
1942
1954
  /**
1943
1955
  * Only usable for Staff+
1944
1956
  */
1945
- linked_user_id?: number | null;
1957
+ 'artist[linked_user_id]'?: number | null;
1946
1958
  /**
1947
1959
  * Only usable for Staff+
1948
1960
  */
1949
- is_locked?: boolean;
1961
+ 'artist[is_locked]'?: boolean;
1950
1962
  };
1951
1963
  path?: never;
1952
1964
  query?: never;
@@ -2034,20 +2046,20 @@ export type ArtistsUpdateData = {
2034
2046
  /**
2035
2047
  * Only usable for Staff+
2036
2048
  */
2037
- name?: string;
2038
- other_names?: Array<string>;
2039
- other_names_string?: string;
2040
- url_string?: string;
2041
- notes?: string;
2042
- group_name?: string;
2049
+ 'artist[name]'?: string;
2050
+ 'artist[other_names][]'?: Array<string>;
2051
+ 'artist[other_names_string]'?: string;
2052
+ 'artist[url_string]'?: string;
2053
+ 'artist[notes]'?: string;
2054
+ 'artist[group_name]'?: string;
2043
2055
  /**
2044
2056
  * Only usable for Staff+
2045
2057
  */
2046
- linked_user_id?: number | null;
2058
+ 'artist[linked_user_id]'?: number | null;
2047
2059
  /**
2048
2060
  * Only usable for Staff+
2049
2061
  */
2050
- is_locked?: boolean;
2062
+ 'artist[is_locked]'?: boolean;
2051
2063
  };
2052
2064
  path: {
2053
2065
  /**
@@ -2308,19 +2320,17 @@ export type AvoidPostingsIndexResponses = {
2308
2320
  export type AvoidPostingsIndexResponse = AvoidPostingsIndexResponses[keyof AvoidPostingsIndexResponses];
2309
2321
  export type AvoidPostingsCreateData = {
2310
2322
  body?: {
2311
- details?: string;
2312
- staff_notes?: string;
2313
- is_active?: boolean;
2314
- artist_attributes: {
2315
- /**
2316
- * If provided and the artist does not exist, an artist will be created.
2317
- */
2318
- name: string;
2319
- other_names_string?: string;
2320
- other_names?: Array<string>;
2321
- group_name?: string;
2322
- linked_user_id?: number;
2323
- };
2323
+ 'avoid_posting[details]'?: string;
2324
+ 'avoid_posting[staff_notes]'?: string;
2325
+ 'avoid_posting[is_active]'?: boolean;
2326
+ /**
2327
+ * If provided and the artist does not exist, an artist will be created.
2328
+ */
2329
+ 'avoid_posting[artist_attributes][name]': string;
2330
+ 'avoid_posting[artist_attributes][other_names_string]'?: string;
2331
+ 'avoid_posting[artist_attributes][other_names][]'?: Array<string>;
2332
+ 'avoid_posting[artist_attributes][group_name]'?: string;
2333
+ 'avoid_posting[artist_attributes][linked_user_id]'?: number;
2324
2334
  };
2325
2335
  path?: never;
2326
2336
  query?: never;
@@ -2402,19 +2412,17 @@ export type AvoidPostingsShowResponses = {
2402
2412
  export type AvoidPostingsShowResponse = AvoidPostingsShowResponses[keyof AvoidPostingsShowResponses];
2403
2413
  export type AvoidPostingsUpdateData = {
2404
2414
  body?: {
2405
- details?: string;
2406
- staff_notes?: string;
2407
- is_active?: boolean;
2408
- artist_attributes?: {
2409
- /**
2410
- * If provided and the artist does not exist, an artist will be created.
2411
- */
2412
- name?: string;
2413
- other_names_string?: string;
2414
- other_names?: Array<string>;
2415
- group_name?: string;
2416
- linked_user_id?: number;
2417
- };
2415
+ 'avoid_posting[details]'?: string;
2416
+ 'avoid_posting[staff_notes]'?: string;
2417
+ 'avoid_posting[is_active]'?: boolean;
2418
+ /**
2419
+ * If provided and the artist does not exist, an artist will be created.
2420
+ */
2421
+ 'avoid_posting[artist_attributes][name]'?: string;
2422
+ 'avoid_posting[artist_attributes][other_names_string]'?: string;
2423
+ 'avoid_posting[artist_attributes][other_names][]'?: Array<string>;
2424
+ 'avoid_posting[artist_attributes][group_name]'?: string;
2425
+ 'avoid_posting[artist_attributes][linked_user_id]'?: number;
2418
2426
  };
2419
2427
  path: {
2420
2428
  /**
@@ -2689,8 +2697,8 @@ export type BlipsIndexResponses = {
2689
2697
  export type BlipsIndexResponse = BlipsIndexResponses[keyof BlipsIndexResponses];
2690
2698
  export type BlipsCreateData = {
2691
2699
  body?: {
2692
- body: string;
2693
- response_to?: number;
2700
+ 'blip[body]': string;
2701
+ 'blip[response_to]'?: number;
2694
2702
  };
2695
2703
  path?: never;
2696
2704
  query?: never;
@@ -2780,7 +2788,7 @@ export type BlipsShowResponses = {
2780
2788
  export type BlipsShowResponse = BlipsShowResponses[keyof BlipsShowResponses];
2781
2789
  export type BlipsUpdateData = {
2782
2790
  body?: {
2783
- body?: string;
2791
+ 'blip[body]'?: string;
2784
2792
  };
2785
2793
  path: {
2786
2794
  /**
@@ -2929,17 +2937,17 @@ export type BulkUpdateRequestsIndexResponses = {
2929
2937
  export type BulkUpdateRequestsIndexResponse = BulkUpdateRequestsIndexResponses[keyof BulkUpdateRequestsIndexResponses];
2930
2938
  export type BulkUpdateRequestsCreateData = {
2931
2939
  body?: {
2932
- script: string;
2933
- title: string;
2934
- reason: string;
2940
+ 'bulk_update_request[script]': string;
2941
+ 'bulk_update_request[title]': string;
2942
+ 'bulk_update_request[reason]': string;
2935
2943
  /**
2936
2944
  * You must be able to reply to the topic.
2937
2945
  */
2938
- forum_topic_id?: number;
2946
+ 'bulk_update_request[forum_topic_id]'?: number;
2939
2947
  /**
2940
2948
  * Only usable for Admin+
2941
2949
  */
2942
- skip_forum?: boolean;
2950
+ 'bulk_update_request[skip_forum]'?: boolean;
2943
2951
  };
2944
2952
  path?: never;
2945
2953
  query?: never;
@@ -3021,15 +3029,15 @@ export type BulkUpdateRequestsShowResponses = {
3021
3029
  export type BulkUpdateRequestsShowResponse = BulkUpdateRequestsShowResponses[keyof BulkUpdateRequestsShowResponses];
3022
3030
  export type BulkUpdateRequestsUpdateData = {
3023
3031
  body?: {
3024
- script?: string;
3032
+ 'bulk_update_request[script]'?: string;
3025
3033
  /**
3026
3034
  * You must be Admin+.
3027
3035
  */
3028
- forum_topic_id?: string;
3036
+ 'bulk_update_request[forum_topic_id]'?: string;
3029
3037
  /**
3030
3038
  * You must be Admin+.
3031
3039
  */
3032
- forum_post_id?: string;
3040
+ 'bulk_update_request[forum_post_id]'?: string;
3033
3041
  };
3034
3042
  path: {
3035
3043
  /**
@@ -3146,17 +3154,17 @@ export type CommentsIndexResponses = {
3146
3154
  export type CommentsIndexResponse = CommentsIndexResponses[keyof CommentsIndexResponses];
3147
3155
  export type CommentsCreateData = {
3148
3156
  body?: {
3149
- body: string;
3150
- post_id: number;
3151
- do_not_bump_post?: boolean;
3157
+ 'comment[body]': string;
3158
+ 'comment[post_id]': number;
3159
+ 'comment[do_not_bump_post]'?: boolean;
3152
3160
  /**
3153
3161
  * Only usable for Staff+
3154
3162
  */
3155
- is_sticky?: boolean;
3163
+ 'comment[is_sticky]'?: boolean;
3156
3164
  /**
3157
3165
  * Only usable for Moderator+
3158
3166
  */
3159
- is_hidden?: boolean;
3167
+ 'comment[is_hidden]'?: boolean;
3160
3168
  };
3161
3169
  path?: never;
3162
3170
  query?: never;
@@ -3242,15 +3250,15 @@ export type CommentsShowResponses = {
3242
3250
  export type CommentsShowResponse = CommentsShowResponses[keyof CommentsShowResponses];
3243
3251
  export type CommentsUpdateData = {
3244
3252
  body?: {
3245
- body?: string;
3253
+ 'comment[body]'?: string;
3246
3254
  /**
3247
3255
  * Only usable for Staff+
3248
3256
  */
3249
- is_sticky?: boolean;
3257
+ 'comment[is_sticky]'?: boolean;
3250
3258
  /**
3251
3259
  * Only usable for Moderator+
3252
3260
  */
3253
- is_hidden?: boolean;
3261
+ 'comment[is_hidden]'?: boolean;
3254
3262
  };
3255
3263
  path: {
3256
3264
  /**
@@ -3285,31 +3293,6 @@ export type CommentsUpdateResponses = {
3285
3293
  204: void;
3286
3294
  };
3287
3295
  export type CommentsUpdateResponse = CommentsUpdateResponses[keyof CommentsUpdateResponses];
3288
- export type CommentsForPostData = {
3289
- body?: never;
3290
- path: {
3291
- /**
3292
- * The ID of the item.
3293
- */
3294
- id: number;
3295
- };
3296
- query?: never;
3297
- url: '/comments/{id}/for_post.json';
3298
- };
3299
- export type CommentsForPostErrors = {
3300
- /**
3301
- * Not Found
3302
- */
3303
- 404: NotFoundResponse;
3304
- };
3305
- export type CommentsForPostError = CommentsForPostErrors[keyof CommentsForPostErrors];
3306
- export type CommentsForPostResponses = {
3307
- /**
3308
- * Success
3309
- */
3310
- 200: DTextResponse;
3311
- };
3312
- export type CommentsForPostResponse = CommentsForPostResponses[keyof CommentsForPostResponses];
3313
3296
  export type CommentsHideData = {
3314
3297
  body?: never;
3315
3298
  path: {
@@ -3493,7 +3476,7 @@ export type CommentVotesIndexData = {
3493
3476
  * The order of the results. You must be Admin+.
3494
3477
  */
3495
3478
  'search[order]'?: 'id_asc' | 'id_desc' | 'ip_addr';
3496
- 'search[post_id]'?: number;
3479
+ 'search[comment_id]'?: number;
3497
3480
  'search[user_name]'?: string;
3498
3481
  'search[user_id]'?: number;
3499
3482
  /**
@@ -3505,13 +3488,14 @@ export type CommentVotesIndexData = {
3505
3488
  */
3506
3489
  'search[comment_creator_id]'?: number;
3507
3490
  /**
3508
- * You must be Admin+. Only usable if one of `comment_id`, `user_name`, or `user_id` is also provided. See [the PostgreSQL documentation](https://www.postgresql.org/docs/9.3/functions-net.html) for information on how this is parsed. Specifically, "is contained within or equals" (`<<=`).
3491
+ * You must be Admin+. See [the PostgreSQL documentation](https://www.postgresql.org/docs/9.3/functions-net.html) for information on how this is parsed. Specifically, "is contained within or equals" (`<<=`).
3509
3492
  */
3510
3493
  'search[user_ip_addr]'?: string;
3494
+ 'search[score]'?: UpDownVote;
3511
3495
  /**
3512
- * Only usable if one of `comment_id`, `user_name`, or `user_id` is also provided.
3496
+ * Only return votes updated within the last N days.
3513
3497
  */
3514
- 'search[score]'?: UpDownVote;
3498
+ 'search[timeframe]'?: number;
3515
3499
  /**
3516
3500
  * You must be Admin+. Only usable if one of `comment_id`, `user_name`, or `user_id` is also provided.
3517
3501
  */
@@ -4112,8 +4096,8 @@ export type EmailBlacklistsIndexResponses = {
4112
4096
  export type EmailBlacklistsIndexResponse = EmailBlacklistsIndexResponses[keyof EmailBlacklistsIndexResponses];
4113
4097
  export type EmailBlacklistsCreateData = {
4114
4098
  body?: {
4115
- domain: string;
4116
- reason: string;
4099
+ 'email_blacklist[domain]': string;
4100
+ 'email_blacklist[reason]': string;
4117
4101
  };
4118
4102
  path?: never;
4119
4103
  query?: never;
@@ -4321,8 +4305,8 @@ export type ForumPostsIndexResponses = {
4321
4305
  export type ForumPostsIndexResponse = ForumPostsIndexResponses[keyof ForumPostsIndexResponses];
4322
4306
  export type ForumPostsCreateData = {
4323
4307
  body?: {
4324
- body: string;
4325
- topic_id: number;
4308
+ 'forum_post[body]': string;
4309
+ 'forum_post[topic_id]': number;
4326
4310
  };
4327
4311
  path?: never;
4328
4312
  query?: never;
@@ -4408,7 +4392,7 @@ export type ForumPostsShowResponses = {
4408
4392
  export type ForumPostsShowResponse = ForumPostsShowResponses[keyof ForumPostsShowResponses];
4409
4393
  export type ForumPostsUpdateData = {
4410
4394
  body?: {
4411
- body?: string;
4395
+ 'forum_post[body]'?: string;
4412
4396
  };
4413
4397
  path: {
4414
4398
  /**
@@ -4602,7 +4586,7 @@ export type ForumPostVotesShowResponses = {
4602
4586
  export type ForumPostVotesShowResponse = ForumPostVotesShowResponses[keyof ForumPostVotesShowResponses];
4603
4587
  export type ForumPostVotesCreateData = {
4604
4588
  body?: {
4605
- score: UpDownMehFlipVote;
4589
+ 'forum_post_vote[score]': UpDownMehFlipVote;
4606
4590
  };
4607
4591
  path: {
4608
4592
  /**
@@ -4671,27 +4655,25 @@ export type ForumTopicsIndexResponses = {
4671
4655
  };
4672
4656
  export type ForumTopicsIndexResponse = ForumTopicsIndexResponses[keyof ForumTopicsIndexResponses];
4673
4657
  export type ForumTopicsCreateData = {
4674
- body?: {
4675
- title: string;
4676
- category_id: number;
4658
+ body?: unknown & {
4659
+ 'forum_topic[title]': string;
4660
+ 'forum_topic[category_id]': number;
4677
4661
  /**
4678
4662
  * You must be Moderator+.
4679
4663
  */
4680
- is_sticky?: boolean;
4664
+ 'forum_topic[is_sticky]'?: boolean;
4681
4665
  /**
4682
4666
  * You must be Moderator+.
4683
4667
  */
4684
- is_locked?: boolean;
4685
- original_post_attributes: {
4686
- /**
4687
- * Forum post ID. Mutually exclusive with body, one must be provided.
4688
- */
4689
- id?: number;
4690
- /**
4691
- * First forum post body. Mutually exclusive with id, one must be provided.
4692
- */
4693
- body?: string;
4694
- };
4668
+ 'forum_topic[is_locked]'?: boolean;
4669
+ /**
4670
+ * Forum post ID. Mutually exclusive with body, one must be provided.
4671
+ */
4672
+ 'forum_topic[original_post_attributes][id]'?: number;
4673
+ /**
4674
+ * First forum post body. Mutually exclusive with id, one must be provided.
4675
+ */
4676
+ 'forum_topic[original_post_attributes][body]'?: string;
4695
4677
  };
4696
4678
  path?: never;
4697
4679
  query?: never;
@@ -4777,26 +4759,24 @@ export type ForumTopicsShowResponses = {
4777
4759
  export type ForumTopicsShowResponse = ForumTopicsShowResponses[keyof ForumTopicsShowResponses];
4778
4760
  export type ForumTopicsUpdateData = {
4779
4761
  body?: {
4780
- title?: string;
4781
- category_id?: number;
4762
+ 'forum_topic[title]'?: string;
4763
+ 'forum_topic[category_id]'?: number;
4782
4764
  /**
4783
4765
  * You must be Moderator+.
4784
4766
  */
4785
- is_sticky?: boolean;
4767
+ 'forum_topic[is_sticky]'?: boolean;
4786
4768
  /**
4787
4769
  * You must be Moderator+.
4788
4770
  */
4789
- is_locked?: boolean;
4790
- original_post_attributes?: {
4791
- /**
4792
- * Forum post ID. Silently ignored
4793
- */
4794
- id?: number;
4795
- /**
4796
- * First forum post body.
4797
- */
4798
- body?: string;
4799
- };
4771
+ 'forum_topic[is_locked]'?: boolean;
4772
+ /**
4773
+ * Forum post ID. Silently ignored
4774
+ */
4775
+ 'forum_topic[original_post_attributes][id]'?: number;
4776
+ /**
4777
+ * First forum post body.
4778
+ */
4779
+ 'forum_topic[original_post_attributes][body]'?: string;
4800
4780
  };
4801
4781
  path: {
4802
4782
  /**
@@ -4991,13 +4971,13 @@ export type HelpIndexResponses = {
4991
4971
  export type HelpIndexResponse = HelpIndexResponses[keyof HelpIndexResponses];
4992
4972
  export type HelpCreateData = {
4993
4973
  body?: {
4994
- name: string;
4995
- wiki_page: string;
4974
+ 'help_page[name]': string;
4975
+ 'help_page[wiki_page]': string;
4996
4976
  /**
4997
4977
  * Separate with a comma followed by a space.
4998
4978
  */
4999
- related?: string;
5000
- title?: string;
4979
+ 'help_page[related]'?: string;
4980
+ 'help_page[title]'?: string;
5001
4981
  };
5002
4982
  path?: never;
5003
4983
  query?: never;
@@ -5096,13 +5076,13 @@ export type HelpShowResponses = {
5096
5076
  export type HelpShowResponse = HelpShowResponses[keyof HelpShowResponses];
5097
5077
  export type HelpUpdateData = {
5098
5078
  body?: {
5099
- name?: string;
5100
- wiki_page?: string;
5079
+ 'help_page[name]'?: string;
5080
+ 'help_page[wiki_page]'?: string;
5101
5081
  /**
5102
5082
  * Separate with a comma followed by a space.
5103
5083
  */
5104
- related?: string;
5105
- title?: string;
5084
+ 'help_page[related]'?: string;
5085
+ 'help_page[title]'?: string;
5106
5086
  };
5107
5087
  path: {
5108
5088
  /**
@@ -5176,8 +5156,8 @@ export type IpBansIndexResponses = {
5176
5156
  export type IpBansIndexResponse = IpBansIndexResponses[keyof IpBansIndexResponses];
5177
5157
  export type IpBansCreateData = {
5178
5158
  body?: {
5179
- ip_addr: string;
5180
- reason: string;
5159
+ 'ip_ban[ip_addr]': string;
5160
+ 'ip_ban[reason]': string;
5181
5161
  };
5182
5162
  path?: never;
5183
5163
  query?: never;
@@ -5322,6 +5302,8 @@ export type MascotsCreateData = {
5322
5302
  'mascot[mascot_file]': Blob | File;
5323
5303
  'mascot[display_name]': string;
5324
5304
  'mascot[background_color]': string;
5305
+ 'mascot[foreground_color]'?: string;
5306
+ 'mascot[is_layered]'?: boolean;
5325
5307
  'mascot[artist_url]': string;
5326
5308
  'mascot[artist_name]': string;
5327
5309
  /**
@@ -5329,7 +5311,6 @@ export type MascotsCreateData = {
5329
5311
  */
5330
5312
  'mascot[available_on_string]'?: string;
5331
5313
  'mascot[active]'?: boolean;
5332
- 'mascot[hide_anonymous]'?: boolean;
5333
5314
  };
5334
5315
  path?: never;
5335
5316
  query?: never;
@@ -5389,6 +5370,8 @@ export type MascotsUpdateData = {
5389
5370
  'mascot[mascot_file]'?: Blob | File;
5390
5371
  'mascot[display_name]'?: string;
5391
5372
  'mascot[background_color]'?: string;
5373
+ 'mascot[foreground_color]'?: string;
5374
+ 'mascot[is_layered]'?: boolean;
5392
5375
  'mascot[artist_url]'?: string;
5393
5376
  'mascot[artist_name]'?: string;
5394
5377
  /**
@@ -5396,7 +5379,6 @@ export type MascotsUpdateData = {
5396
5379
  */
5397
5380
  'mascot[available_on_string]'?: string;
5398
5381
  'mascot[active]'?: boolean;
5399
- 'mascot[hide_anonymous]'?: boolean;
5400
5382
  };
5401
5383
  path: {
5402
5384
  /**
@@ -5514,7 +5496,7 @@ export type NewsUpdatesIndexResponses = {
5514
5496
  export type NewsUpdatesIndexResponse = NewsUpdatesIndexResponses[keyof NewsUpdatesIndexResponses];
5515
5497
  export type NewsUpdatesCreateData = {
5516
5498
  body?: {
5517
- message: string;
5499
+ 'news_update[message]': string;
5518
5500
  };
5519
5501
  path?: never;
5520
5502
  query?: never;
@@ -5571,7 +5553,7 @@ export type NewsUpdatesDestroyResponses = {
5571
5553
  export type NewsUpdatesDestroyResponse = NewsUpdatesDestroyResponses[keyof NewsUpdatesDestroyResponses];
5572
5554
  export type NewsUpdatesUpdateData = {
5573
5555
  body?: {
5574
- message: string;
5556
+ 'news_update[message]': string;
5575
5557
  };
5576
5558
  path: {
5577
5559
  /**
@@ -5649,16 +5631,16 @@ export type NotesIndexResponses = {
5649
5631
  export type NotesIndexResponse = NotesIndexResponses[keyof NotesIndexResponses];
5650
5632
  export type NotesCreateData = {
5651
5633
  body?: {
5652
- post_id: number;
5653
- x: number;
5654
- y: number;
5655
- width: number;
5656
- height: number;
5657
- body: string;
5634
+ 'note[post_id]': number;
5635
+ 'note[x]': number;
5636
+ 'note[y]': number;
5637
+ 'note[width]': number;
5638
+ 'note[height]': number;
5639
+ 'note[body]': string;
5658
5640
  /**
5659
5641
  * Passthrough, used in frontend.
5660
5642
  */
5661
- html_id?: string;
5643
+ 'note[html_id]'?: string;
5662
5644
  };
5663
5645
  path?: never;
5664
5646
  query?: never;
@@ -5745,11 +5727,11 @@ export type NotesShowResponses = {
5745
5727
  export type NotesShowResponse = NotesShowResponses[keyof NotesShowResponses];
5746
5728
  export type NotesUpdateData = {
5747
5729
  body?: {
5748
- x?: number;
5749
- y?: number;
5750
- width?: number;
5751
- height?: number;
5752
- body?: string;
5730
+ 'note[x]'?: number;
5731
+ 'note[y]'?: number;
5732
+ 'note[width]'?: number;
5733
+ 'note[height]'?: number;
5734
+ 'note[body]'?: string;
5753
5735
  };
5754
5736
  path: {
5755
5737
  /**
@@ -5899,18 +5881,18 @@ export type PoolsIndexResponses = {
5899
5881
  export type PoolsIndexResponse = PoolsIndexResponses[keyof PoolsIndexResponses];
5900
5882
  export type PoolsCreateData = {
5901
5883
  body?: {
5902
- name: string;
5903
- description?: string;
5904
- category?: PoolCategory;
5905
- is_active?: boolean;
5884
+ 'pool[name]': string;
5885
+ 'pool[description]'?: string;
5886
+ 'pool[category]'?: PoolCategory;
5887
+ 'pool[is_active]'?: boolean;
5906
5888
  /**
5907
5889
  * Space separated list of post IDs. Mutually exclusive with post_ids.
5908
5890
  */
5909
- post_ids_string?: string;
5891
+ 'pool[post_ids_string]'?: string;
5910
5892
  /**
5911
5893
  * Array of post IDs. Mutually exclusive with post_ids_string.
5912
5894
  */
5913
- post_ids?: Array<number>;
5895
+ 'pool[post_ids][]'?: Array<number>;
5914
5896
  };
5915
5897
  path?: never;
5916
5898
  query?: never;
@@ -5992,18 +5974,18 @@ export type PoolsShowResponses = {
5992
5974
  export type PoolsShowResponse = PoolsShowResponses[keyof PoolsShowResponses];
5993
5975
  export type PoolsUpdateData = {
5994
5976
  body?: {
5995
- name?: string;
5996
- description?: string;
5997
- is_active?: boolean;
5998
- category?: PoolCategory;
5977
+ 'pool[name]'?: string;
5978
+ 'pool[description]'?: string;
5979
+ 'pool[is_active]'?: boolean;
5980
+ 'pool[category]'?: PoolCategory;
5999
5981
  /**
6000
5982
  * Space separated list of post IDs. Mutually exclusive with post_ids.
6001
5983
  */
6002
- post_ids_string?: string;
5984
+ 'pool[post_ids_string]'?: string;
6003
5985
  /**
6004
5986
  * Array of post IDs. Mutually exclusive with post_ids_string.
6005
5987
  */
6006
- post_ids?: Array<number>;
5988
+ 'pool[post_ids][]'?: Array<number>;
6007
5989
  };
6008
5990
  path: {
6009
5991
  /**
@@ -6385,70 +6367,74 @@ export type PostsUpdateData = {
6385
6367
  /**
6386
6368
  * Replaces all tags on the post.
6387
6369
  */
6388
- tag_string?: string;
6370
+ 'post[tag_string]'?: string;
6389
6371
  /**
6390
6372
  * The tag string before your edits, used to reconcile conflicts.
6391
6373
  */
6392
- old_tag_string?: string;
6374
+ 'post[old_tag_string]'?: string;
6393
6375
  /**
6394
6376
  * Tags with a minus are removed, else they are added. Mutually exclusive with tag_string.
6395
6377
  */
6396
- tag_string_diff?: string;
6378
+ 'post[tag_string_diff]'?: string;
6397
6379
  /**
6398
6380
  * Sources with a minus are removed, else they are added. It is not possible to add inactive sources through this. Mutually exclusive with source.
6399
6381
  */
6400
- source_diff?: string;
6382
+ 'post[source_diff]'?: string;
6401
6383
  /**
6402
6384
  * Replaces all sources on the post.
6403
6385
  */
6404
- source?: string;
6386
+ 'post[source]'?: string;
6405
6387
  /**
6406
6388
  * The sources before your edits, used to reconcile conflicts.
6407
6389
  */
6408
- old_source?: string;
6409
- parent_id?: number;
6410
- old_parent_id?: number;
6411
- description?: string;
6412
- old_description?: string;
6413
- rating?: Rating;
6414
- old_rating?: Rating;
6415
- edit_reason?: string;
6390
+ 'post[old_source]'?: string;
6391
+ 'post[parent_id]'?: number;
6392
+ 'post[old_parent_id]'?: number;
6393
+ 'post[description]'?: string;
6394
+ 'post[old_description]'?: string;
6395
+ 'post[rating]'?: Rating;
6396
+ 'post[old_rating]'?: Rating;
6397
+ 'post[edit_reason]'?: string;
6416
6398
  /**
6417
6399
  * You must be Privileged+.
6418
6400
  */
6419
- is_rating_locked?: boolean;
6401
+ 'post[is_rating_locked]'?: boolean;
6420
6402
  /**
6421
6403
  * You must be Staff+.
6422
6404
  */
6423
- is_note_locked?: boolean;
6405
+ 'post[is_note_locked]'?: boolean;
6424
6406
  /**
6425
6407
  * You must be Staff+.
6426
6408
  */
6427
- bg_color?: string;
6409
+ 'post[bg_color]'?: string;
6428
6410
  /**
6429
6411
  * You must be Moderator+.
6430
6412
  */
6431
- is_comment_locked?: boolean;
6413
+ 'post[is_comment_locked]'?: boolean;
6414
+ /**
6415
+ * You must be Admin+.
6416
+ */
6417
+ 'post[is_comment_disabled]'?: boolean;
6432
6418
  /**
6433
6419
  * You must be Admin+.
6434
6420
  */
6435
- is_comment_disabled?: boolean;
6421
+ 'post[is_status_locked]'?: boolean;
6436
6422
  /**
6437
6423
  * You must be Admin+.
6438
6424
  */
6439
- is_status_locked?: boolean;
6425
+ 'post[locked_tags]'?: string;
6440
6426
  /**
6441
6427
  * You must be Admin+.
6442
6428
  */
6443
- locked_tags?: string;
6429
+ 'post[hide_from_anonymous]'?: boolean;
6444
6430
  /**
6445
6431
  * You must be Admin+.
6446
6432
  */
6447
- hide_from_anonymous?: boolean;
6433
+ 'post[hide_from_search_engines]'?: boolean;
6448
6434
  /**
6449
6435
  * You must be Admin+.
6450
6436
  */
6451
- hide_from_search_engines?: boolean;
6437
+ 'post[hide_favorites_list]'?: boolean;
6452
6438
  };
6453
6439
  path: {
6454
6440
  /**
@@ -6546,8 +6532,8 @@ export type PostsUpdateIqdbResponses = {
6546
6532
  export type PostsUpdateIqdbResponse = PostsUpdateIqdbResponses[keyof PostsUpdateIqdbResponses];
6547
6533
  export type PostsMarkAsTranslatedData = {
6548
6534
  body?: {
6549
- translation_check?: boolean;
6550
- partially_translated?: boolean;
6535
+ 'post[translation_check]'?: boolean;
6536
+ 'post[partially_translated]'?: boolean;
6551
6537
  };
6552
6538
  path: {
6553
6539
  /**
@@ -6753,7 +6739,7 @@ export type PostFlagsDestroyResponses = {
6753
6739
  /**
6754
6740
  * Success
6755
6741
  */
6756
- 204: void;
6742
+ 200: RawPost;
6757
6743
  };
6758
6744
  export type PostFlagsDestroyResponse = PostFlagsDestroyResponses[keyof PostFlagsDestroyResponses];
6759
6745
  export type PostFavoritesIndexData = {
@@ -6872,6 +6858,31 @@ export type PostVotesCreateResponses = {
6872
6858
  };
6873
6859
  };
6874
6860
  export type PostVotesCreateResponse = PostVotesCreateResponses[keyof PostVotesCreateResponses];
6861
+ export type CommentsForPostData = {
6862
+ body?: never;
6863
+ path: {
6864
+ /**
6865
+ * The ID of the item.
6866
+ */
6867
+ id: number;
6868
+ };
6869
+ query?: never;
6870
+ url: '/posts/{id}/comments.json';
6871
+ };
6872
+ export type CommentsForPostErrors = {
6873
+ /**
6874
+ * Not Found
6875
+ */
6876
+ 404: NotFoundResponse;
6877
+ };
6878
+ export type CommentsForPostError = CommentsForPostErrors[keyof CommentsForPostErrors];
6879
+ export type CommentsForPostResponses = {
6880
+ /**
6881
+ * Success
6882
+ */
6883
+ 200: DTextResponse;
6884
+ };
6885
+ export type CommentsForPostResponse = CommentsForPostResponses[keyof CommentsForPostResponses];
6875
6886
  export type PostRecommendationsArtistData = {
6876
6887
  body?: never;
6877
6888
  path: {
@@ -6979,11 +6990,11 @@ export type PostSetsIndexResponses = {
6979
6990
  export type PostSetsIndexResponse = PostSetsIndexResponses[keyof PostSetsIndexResponses];
6980
6991
  export type PostSetsCreateData = {
6981
6992
  body?: {
6982
- name: string;
6983
- shortname: string;
6984
- description?: string;
6985
- is_public?: boolean;
6986
- ransfer_on_delete?: boolean;
6993
+ 'post_set[name]': string;
6994
+ 'post_set[shortname]': string;
6995
+ 'post_set[description]'?: string;
6996
+ 'post_set[is_public]'?: boolean;
6997
+ 'post_set[transfer_on_delete]'?: boolean;
6987
6998
  };
6988
6999
  path?: never;
6989
7000
  query?: never;
@@ -7069,11 +7080,11 @@ export type PostSetsShowResponses = {
7069
7080
  export type PostSetsShowResponse = PostSetsShowResponses[keyof PostSetsShowResponses];
7070
7081
  export type PostSetsUpdateData = {
7071
7082
  body?: {
7072
- name?: string;
7073
- shortname?: string;
7074
- description?: string;
7075
- is_public?: boolean;
7076
- transfer_on_delete?: boolean;
7083
+ 'post_set[name]'?: string;
7084
+ 'post_set[shortname]'?: string;
7085
+ 'post_set[description]'?: string;
7086
+ 'post_set[is_public]'?: boolean;
7087
+ 'post_set[transfer_on_delete]'?: boolean;
7077
7088
  };
7078
7089
  path: {
7079
7090
  /**
@@ -7139,7 +7150,7 @@ export type PostSetsPostListResponses = {
7139
7150
  export type PostSetsPostListResponse = PostSetsPostListResponses[keyof PostSetsPostListResponses];
7140
7151
  export type PostSetsUpdatePostsData = {
7141
7152
  body?: {
7142
- post_ids_string: string;
7153
+ 'post_set[post_ids_string]': string;
7143
7154
  };
7144
7155
  path: {
7145
7156
  /**
@@ -7179,7 +7190,7 @@ export type PostSetsAddPostsData = {
7179
7190
  /**
7180
7191
  * post_ids[]=1&post_ids[]=2
7181
7192
  */
7182
- post_ids: Array<number>;
7193
+ 'post_ids[]': Array<number>;
7183
7194
  };
7184
7195
  path: {
7185
7196
  /**
@@ -7219,7 +7230,7 @@ export type PostSetsRemovePostsData = {
7219
7230
  /**
7220
7231
  * post_ids[]=1&post_ids[]=2
7221
7232
  */
7222
- post_ids: Array<number>;
7233
+ 'post_ids[]': Array<number>;
7223
7234
  };
7224
7235
  path: {
7225
7236
  /**
@@ -7406,10 +7417,10 @@ export type PostFlagsIndexResponses = {
7406
7417
  export type PostFlagsIndexResponse = PostFlagsIndexResponses[keyof PostFlagsIndexResponses];
7407
7418
  export type PostFlagsCreateData = {
7408
7419
  body?: {
7409
- post_id: number;
7410
- reason_name: 'uploading_guidelines' | 'young_human' | 'dnp_artist' | 'pay_content' | 'trace' | 'previously_deleted' | 'real_porn' | 'corrupt' | 'inferior';
7411
- parent_id?: number;
7412
- note?: string;
7420
+ 'post_flag[post_id]': number;
7421
+ 'post_flag[reason_name]': 'uploading_guidelines' | 'young_human' | 'dnp_artist' | 'pay_content' | 'trace' | 'previously_deleted' | 'real_porn' | 'corrupt' | 'inferior';
7422
+ 'post_flag[parent_id]'?: number;
7423
+ 'post_flag[note]'?: string;
7413
7424
  };
7414
7425
  path?: never;
7415
7426
  query?: never;
@@ -7937,13 +7948,14 @@ export type PostVotesIndexData = {
7937
7948
  */
7938
7949
  'search[post_creator_id]'?: number;
7939
7950
  /**
7940
- * You must be Admin+. Only usable if one of `post_id`, `user_name`, or `user_id` is also provided. See [the PostgreSQL documentation](https://www.postgresql.org/docs/9.3/functions-net.html) for information on how this is parsed. Specifically, "is contained within or equals" (`<<=`).
7951
+ * You must be Admin+. See [the PostgreSQL documentation](https://www.postgresql.org/docs/9.3/functions-net.html) for information on how this is parsed. Specifically, "is contained within or equals" (`<<=`).
7941
7952
  */
7942
7953
  'search[user_ip_addr]'?: string;
7954
+ 'search[score]'?: UpDownVote;
7943
7955
  /**
7944
- * Only usable if one of `post_id`, `user_name`, or `user_id` is also provided.
7956
+ * Only return votes updated within the last N days.
7945
7957
  */
7946
- 'search[score]'?: UpDownVote;
7958
+ 'search[timeframe]'?: number;
7947
7959
  /**
7948
7960
  * You must be Admin+. Only usable if one of `post_id`, `user_name`, or `user_id` is also provided.
7949
7961
  */
@@ -8108,11 +8120,11 @@ export type TagsShowResponses = {
8108
8120
  export type TagsShowResponse = TagsShowResponses[keyof TagsShowResponses];
8109
8121
  export type TagsUpdateData = {
8110
8122
  body?: {
8111
- category?: TagCategory;
8123
+ 'tag[category]'?: TagCategory;
8112
8124
  /**
8113
8125
  * Must be Admin+.
8114
8126
  */
8115
- is_locked?: boolean;
8127
+ 'tag[is_locked]'?: boolean;
8116
8128
  };
8117
8129
  path: {
8118
8130
  /**
@@ -8346,9 +8358,9 @@ export type TagAliasesShowResponses = {
8346
8358
  export type TagAliasesShowResponse = TagAliasesShowResponses[keyof TagAliasesShowResponses];
8347
8359
  export type TagAliasesUpdateData = {
8348
8360
  body?: {
8349
- antecedent_name?: string;
8350
- consequent_name?: string;
8351
- forum_topic_id?: string;
8361
+ 'tag_alias[antecedent_name]'?: string;
8362
+ 'tag_alias[consequent_name]'?: string;
8363
+ 'tag_alias[forum_topic_id]'?: string;
8352
8364
  };
8353
8365
  path: {
8354
8366
  /**
@@ -8418,15 +8430,50 @@ export type TagAliasesApproveResponses = {
8418
8430
  204: void;
8419
8431
  };
8420
8432
  export type TagAliasesApproveResponse = TagAliasesApproveResponses[keyof TagAliasesApproveResponses];
8433
+ export type TagAliasesUndoData = {
8434
+ body?: never;
8435
+ path: {
8436
+ /**
8437
+ * The ID of the item.
8438
+ */
8439
+ id: number;
8440
+ };
8441
+ query?: never;
8442
+ url: '/tag_aliases/{id}/undo.json';
8443
+ };
8444
+ export type TagAliasesUndoErrors = {
8445
+ /**
8446
+ * Access Denied
8447
+ */
8448
+ 403: AccessDeniedResponse;
8449
+ /**
8450
+ * Not Found
8451
+ */
8452
+ 404: NotFoundResponse;
8453
+ /**
8454
+ * Invalid Input Data
8455
+ */
8456
+ 422: {
8457
+ errors: Array<string>;
8458
+ };
8459
+ };
8460
+ export type TagAliasesUndoError = TagAliasesUndoErrors[keyof TagAliasesUndoErrors];
8461
+ export type TagAliasesUndoResponses = {
8462
+ /**
8463
+ * Success
8464
+ */
8465
+ 204: void;
8466
+ };
8467
+ export type TagAliasesUndoResponse = TagAliasesUndoResponses[keyof TagAliasesUndoResponses];
8421
8468
  export type TagAliasRequestsCreateData = {
8422
8469
  body?: {
8423
- antecedent_name: string;
8424
- consequent_name: string;
8425
- reason: string;
8470
+ 'tag_alias_request[antecedent_name]': string;
8471
+ 'tag_alias_request[consequent_name]': string;
8472
+ 'tag_alias_request[reason]': string;
8426
8473
  /**
8427
8474
  * Must be Admin+.
8428
8475
  */
8429
- skip_forum?: boolean;
8476
+ 'tag_alias_request[skip_forum]'?: boolean;
8430
8477
  };
8431
8478
  path?: never;
8432
8479
  query?: never;
@@ -8536,9 +8583,9 @@ export type TagImplicationsShowResponses = {
8536
8583
  export type TagImplicationsShowResponse = TagImplicationsShowResponses[keyof TagImplicationsShowResponses];
8537
8584
  export type TagImplicationsUpdateData = {
8538
8585
  body?: {
8539
- antecedent_name?: string;
8540
- consequent_name?: string;
8541
- forum_topic_id?: string;
8586
+ 'tag_implication[antecedent_name]'?: string;
8587
+ 'tag_implication[consequent_name]'?: string;
8588
+ 'tag_implication[forum_topic_id]'?: string;
8542
8589
  };
8543
8590
  path: {
8544
8591
  /**
@@ -8608,15 +8655,50 @@ export type TagImplicationsApproveResponses = {
8608
8655
  204: void;
8609
8656
  };
8610
8657
  export type TagImplicationsApproveResponse = TagImplicationsApproveResponses[keyof TagImplicationsApproveResponses];
8658
+ export type TagImplicationsUndoData = {
8659
+ body?: never;
8660
+ path: {
8661
+ /**
8662
+ * The ID of the item.
8663
+ */
8664
+ id: number;
8665
+ };
8666
+ query?: never;
8667
+ url: '/tag_implications/{id}/undo.json';
8668
+ };
8669
+ export type TagImplicationsUndoErrors = {
8670
+ /**
8671
+ * Access Denied
8672
+ */
8673
+ 403: AccessDeniedResponse;
8674
+ /**
8675
+ * Not Found
8676
+ */
8677
+ 404: NotFoundResponse;
8678
+ /**
8679
+ * Invalid Input Data
8680
+ */
8681
+ 422: {
8682
+ errors: Array<string>;
8683
+ };
8684
+ };
8685
+ export type TagImplicationsUndoError = TagImplicationsUndoErrors[keyof TagImplicationsUndoErrors];
8686
+ export type TagImplicationsUndoResponses = {
8687
+ /**
8688
+ * Success
8689
+ */
8690
+ 204: void;
8691
+ };
8692
+ export type TagImplicationsUndoResponse = TagImplicationsUndoResponses[keyof TagImplicationsUndoResponses];
8611
8693
  export type TagImplicationRequestsCreateData = {
8612
8694
  body?: {
8613
- antecedent_name: string;
8614
- consequent_name: string;
8615
- reason: string;
8695
+ 'tag_implication_request[antecedent_name]': string;
8696
+ 'tag_implication_request[consequent_name]': string;
8697
+ 'tag_implication_request[reason]': string;
8616
8698
  /**
8617
8699
  * Must be Admin+.
8618
8700
  */
8619
- skip_forum?: boolean;
8701
+ 'tag_implication_request[skip_forum]'?: boolean;
8620
8702
  };
8621
8703
  path?: never;
8622
8704
  query?: never;
@@ -8653,7 +8735,7 @@ export type RelatedTagsBulkResponses = {
8653
8735
  /**
8654
8736
  * Success
8655
8737
  */
8656
- 200: BulkRelatedTag;
8738
+ 200: TagWithCount;
8657
8739
  };
8658
8740
  export type RelatedTagsBulkResponse = RelatedTagsBulkResponses[keyof RelatedTagsBulkResponses];
8659
8741
  export type SearchTrendsIndexData = {
@@ -8734,15 +8816,15 @@ export type SearchTrendsClearCacheResponses = {
8734
8816
  export type SearchTrendsClearCacheResponse = SearchTrendsClearCacheResponses[keyof SearchTrendsClearCacheResponses];
8735
8817
  export type SearchTrendsUpdateSettingsData = {
8736
8818
  body?: {
8737
- trends_enabled?: boolean;
8738
- trends_displayed?: boolean;
8739
- trends_min_today?: number;
8740
- trends_min_dleta?: number;
8741
- trends_min_ratio?: number;
8742
- trends_ip_limit?: number;
8743
- trends_ip_window?: number;
8744
- trends_tag_limit?: number;
8745
- trends_tag_window?: number;
8819
+ 'search_trend_settings[trends_enabled]'?: boolean;
8820
+ 'search_trend_settings[trends_displayed]'?: boolean;
8821
+ 'search_trend_settings[trends_min_today]'?: number;
8822
+ 'search_trend_settings[trends_min_delta]'?: number;
8823
+ 'search_trend_settings[trends_min_ratio]'?: number;
8824
+ 'search_trend_settings[trends_ip_limit]'?: number;
8825
+ 'search_trend_settings[trends_ip_window]'?: number;
8826
+ 'search_trend_settings[trends_tag_limit]'?: number;
8827
+ 'search_trend_settings[trends_tag_window]'?: number;
8746
8828
  };
8747
8829
  path?: never;
8748
8830
  query?: never;
@@ -8830,8 +8912,8 @@ export type SearchTrendBlacklistsIndexResponses = {
8830
8912
  export type SearchTrendBlacklistsIndexResponse = SearchTrendBlacklistsIndexResponses[keyof SearchTrendBlacklistsIndexResponses];
8831
8913
  export type SearchTrendBlacklistsCreateData = {
8832
8914
  body?: {
8833
- tag: string;
8834
- reason: string;
8915
+ 'search_trend_blacklist[tag]': string;
8916
+ 'search_trend_blacklist[reason]': string;
8835
8917
  };
8836
8918
  path?: never;
8837
8919
  query?: never;
@@ -8888,8 +8970,8 @@ export type SearchTrendBlacklistsDestroyResponses = {
8888
8970
  export type SearchTrendBlacklistsDestroyResponse = SearchTrendBlacklistsDestroyResponses[keyof SearchTrendBlacklistsDestroyResponses];
8889
8971
  export type SearchTrendBlacklistsUpdateData = {
8890
8972
  body?: {
8891
- tag?: string;
8892
- reason?: string;
8973
+ 'search_trend_blacklist[tag]'?: string;
8974
+ 'search_trend_blacklist[reason]'?: string;
8893
8975
  };
8894
8976
  path: {
8895
8977
  /**
@@ -9105,7 +9187,7 @@ export type StaffNotesIndexResponses = {
9105
9187
  export type StaffNotesIndexResponse = StaffNotesIndexResponses[keyof StaffNotesIndexResponses];
9106
9188
  export type StaffNotesCreateData = {
9107
9189
  body?: {
9108
- body: string;
9190
+ 'staff_note[body]': string;
9109
9191
  };
9110
9192
  path?: never;
9111
9193
  query?: never;
@@ -9166,7 +9248,7 @@ export type StaffNotesShowResponses = {
9166
9248
  export type StaffNotesShowResponse = StaffNotesShowResponses[keyof StaffNotesShowResponses];
9167
9249
  export type StaffNotesUpdateData = {
9168
9250
  body?: {
9169
- body?: string;
9251
+ 'staff_note[body]'?: string;
9170
9252
  };
9171
9253
  path: {
9172
9254
  /**
@@ -9340,29 +9422,29 @@ export type TakedownsIndexResponses = {
9340
9422
  export type TakedownsIndexResponse = TakedownsIndexResponses[keyof TakedownsIndexResponses];
9341
9423
  export type TakedownsCreateData = {
9342
9424
  body?: {
9343
- email: string;
9344
- source?: string;
9345
- instructions?: string;
9346
- reason: string;
9425
+ 'takedown[email]': string;
9426
+ 'takedown[source]'?: string;
9427
+ 'takedown[instructions]'?: string;
9428
+ 'takedown[reason]': string;
9347
9429
  /**
9348
- * post_ids][]=1&takedown[post_ids][=2
9430
+ * takedown[post_ids][]=1&takedown[post_ids][]=2
9349
9431
  */
9350
- post_ids?: Array<number>;
9351
- reason_hidden?: boolean;
9432
+ 'takedown[post_ids][]'?: Array<number>;
9433
+ 'takedown[reason_hidden]'?: boolean;
9352
9434
  /**
9353
9435
  * Must have the bd staff user flag to use.
9354
9436
  */
9355
- notes?: string;
9437
+ 'takedown[notes]'?: string;
9356
9438
  /**
9357
9439
  * Must have the bd staff user flag to use.
9358
- * del_post_ids][]=1&takedown[del_post_ids][=2
9440
+ * takedown[del_post_ids][]=1&takedown[del_post_ids][]=2
9359
9441
  *
9360
9442
  */
9361
- del_post_ids?: Array<number>;
9443
+ 'takedown[del_post_ids][]'?: Array<number>;
9362
9444
  /**
9363
9445
  * Must have the bd staff user flag to use.
9364
9446
  */
9365
- status?: string;
9447
+ 'takedown[status]'?: string;
9366
9448
  };
9367
9449
  path?: never;
9368
9450
  query?: never;
@@ -9444,8 +9526,8 @@ export type TakedownsShowResponses = {
9444
9526
  export type TakedownsShowResponse = TakedownsShowResponses[keyof TakedownsShowResponses];
9445
9527
  export type TakedownsUpdateData = {
9446
9528
  body?: {
9447
- notes?: string;
9448
- reason_hidden?: boolean;
9529
+ 'takedown[notes]'?: string;
9530
+ 'takedown[reason_hidden]'?: boolean;
9449
9531
  takedown_posts?: string;
9450
9532
  /**
9451
9533
  * If not truthy, the takedown will be denied.
@@ -9716,13 +9798,13 @@ export type TicketsShowResponses = {
9716
9798
  export type TicketsShowResponse = TicketsShowResponses[keyof TicketsShowResponses];
9717
9799
  export type TicketsUpdateData = {
9718
9800
  body?: {
9719
- status?: 'partial' | 'approved';
9720
- response: string;
9721
- record_type?: WarningType;
9801
+ 'ticket[status]'?: 'partial' | 'approved';
9802
+ 'ticket[response]': string;
9803
+ 'ticket[record_type]'?: WarningRecordType;
9722
9804
  /**
9723
9805
  * An update dmail will always be sent when the status is changed.
9724
9806
  */
9725
- send_update_dmail?: boolean;
9807
+ 'ticket[send_update_dmail]'?: boolean;
9726
9808
  };
9727
9809
  path: {
9728
9810
  /**
@@ -9809,6 +9891,54 @@ export type TicketsUnclaimResponses = {
9809
9891
  201: Ticket;
9810
9892
  };
9811
9893
  export type TicketsUnclaimResponse = TicketsUnclaimResponses[keyof TicketsUnclaimResponses];
9894
+ export type UploadKarmaEventsIndexData = {
9895
+ body?: never;
9896
+ path?: never;
9897
+ query?: {
9898
+ /**
9899
+ * The maximum number of results to return. Between 0 and 320.
9900
+ */
9901
+ limit?: number;
9902
+ /**
9903
+ * The page number of results to get. Between 1 and 750.
9904
+ */
9905
+ page?: number;
9906
+ /**
9907
+ * Search for a specific id. Multiple can be separated by commas, up to 320.
9908
+ */
9909
+ 'search[id]'?: string | number;
9910
+ /**
9911
+ * The order of the results.
9912
+ */
9913
+ 'search[order]'?: 'id_asc' | 'id_desc';
9914
+ 'search[user_id]'?: number;
9915
+ 'search[user_name]'?: string;
9916
+ 'search[creator_id]'?: number;
9917
+ 'search[creator_name]'?: string;
9918
+ 'search[post_id]'?: number;
9919
+ 'search[reason]'?: 'approved' | 'unapproved' | 'deleted' | 'undeleted' | 'replacement_penalty' | 'replacement_penalty_reversed' | 'replacement_transfer' | 'owner_change' | 'staff_override' | 'queue_bypass';
9920
+ };
9921
+ url: '/upload_karma_events.json';
9922
+ };
9923
+ export type UploadKarmaEventsIndexResponses = {
9924
+ /**
9925
+ * Success
9926
+ */
9927
+ 200: Array<{
9928
+ id: number;
9929
+ user_id: number;
9930
+ creator_id: number;
9931
+ post_id: number | null;
9932
+ reason: 'approved' | 'unapproved' | 'deleted' | 'undeleted' | 'replacement_penalty' | 'replacement_penalty_reversed' | 'replacement_transfer' | 'owner_change' | 'staff_override' | 'queue_bypass';
9933
+ delta: number;
9934
+ balance: number;
9935
+ extra_data: {
9936
+ [key: string]: unknown;
9937
+ };
9938
+ created_at: string;
9939
+ }>;
9940
+ };
9941
+ export type UploadKarmaEventsIndexResponse = UploadKarmaEventsIndexResponses[keyof UploadKarmaEventsIndexResponses];
9812
9942
  export type UploadsIndexData = {
9813
9943
  body?: never;
9814
9944
  path?: never;
@@ -9971,12 +10101,12 @@ export type UploadWhitelistsIndexResponses = {
9971
10101
  export type UploadWhitelistsIndexResponse = UploadWhitelistsIndexResponses[keyof UploadWhitelistsIndexResponses];
9972
10102
  export type UploadWhitelistsCreateData = {
9973
10103
  body?: {
9974
- allowed: string;
9975
- domain: string;
9976
- path: string;
9977
- reason?: string;
9978
- note?: string;
9979
- hidden?: boolean;
10104
+ 'upload_whitelist[allowed]': string;
10105
+ 'upload_whitelist[domain]': string;
10106
+ 'upload_whitelist[path]': string;
10107
+ 'upload_whitelist[reason]'?: string;
10108
+ 'upload_whitelist[note]'?: string;
10109
+ 'upload_whitelist[hidden]'?: boolean;
9980
10110
  };
9981
10111
  path?: never;
9982
10112
  query?: never;
@@ -10033,11 +10163,11 @@ export type UploadWhitelistsDestroyResponses = {
10033
10163
  export type UploadWhitelistsDestroyResponse = UploadWhitelistsDestroyResponses[keyof UploadWhitelistsDestroyResponses];
10034
10164
  export type UploadWhitelistsUpdateData = {
10035
10165
  body?: {
10036
- allowed?: string;
10037
- pattern?: string;
10038
- reason?: string;
10039
- note?: string;
10040
- hidden?: boolean;
10166
+ 'upload_whitelist[allowed]'?: string;
10167
+ 'upload_whitelist[pattern]'?: string;
10168
+ 'upload_whitelist[reason]'?: string;
10169
+ 'upload_whitelist[note]'?: string;
10170
+ 'upload_whitelist[hidden]'?: boolean;
10041
10171
  };
10042
10172
  path: {
10043
10173
  /**
@@ -10191,6 +10321,29 @@ export type UsersAvatarMenuResponses = {
10191
10321
  200: UserAvatarMenu;
10192
10322
  };
10193
10323
  export type UsersAvatarMenuResponse = UsersAvatarMenuResponses[keyof UsersAvatarMenuResponses];
10324
+ export type UsersUploadTagsData = {
10325
+ body?: never;
10326
+ path?: never;
10327
+ query?: never;
10328
+ url: '/users/upload_tags.json';
10329
+ };
10330
+ export type UsersUploadTagsErrors = {
10331
+ /**
10332
+ * Access Denied
10333
+ */
10334
+ 403: AccessDeniedResponse;
10335
+ };
10336
+ export type UsersUploadTagsError = UsersUploadTagsErrors[keyof UsersUploadTagsErrors];
10337
+ export type UsersUploadTagsResponses = {
10338
+ /**
10339
+ * Success
10340
+ */
10341
+ 200: {
10342
+ upload_tags: Array<TagWithCount>;
10343
+ recent_tags: Array<TagWithCount>;
10344
+ };
10345
+ };
10346
+ export type UsersUploadTagsResponse = UsersUploadTagsResponses[keyof UsersUploadTagsResponses];
10194
10347
  export type UsersCustomStyleData = {
10195
10348
  body?: never;
10196
10349
  path?: never;
@@ -10236,40 +10389,39 @@ export type UsersShowResponses = {
10236
10389
  export type UsersShowResponse = UsersShowResponses[keyof UsersShowResponses];
10237
10390
  export type UsersUpdateData = {
10238
10391
  body?: {
10239
- comment_threshold?: number;
10240
- default_image_size?: 'large' | 'fit' | 'fitv' | 'original';
10241
- favorite_tags?: string;
10242
- blacklisted_tags?: string;
10392
+ 'user[comment_threshold]'?: number;
10393
+ 'user[default_image_size]'?: 'large' | 'fit' | 'fitv' | 'original';
10394
+ 'user[favorite_tags]'?: string;
10395
+ 'user[blacklisted_tags]'?: string;
10243
10396
  /**
10244
10397
  * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
10245
10398
  */
10246
- time_zone?: string;
10247
- per_page?: number;
10248
- custom_style?: string;
10249
- description_collapsed_initially?: boolean;
10250
- hide_comments?: boolean;
10251
- receive_email_notifications?: boolean;
10252
- enable_keyboard_navigation?: boolean;
10253
- enable_privacy_mode?: boolean;
10254
- disable_user_dmails?: boolean;
10255
- blacklist_users?: boolean;
10256
- show_post_statistics?: boolean;
10257
- style_usernames?: boolean;
10258
- show_hidden_comments?: boolean;
10259
- enable_autocomplete?: boolean;
10260
- disable_cropped_thumbnails?: boolean;
10261
- enable_safe_mode?: boolean;
10262
- disable_responsive_mode?: boolean;
10263
- 'dmail_filter_attributes][id'?: number;
10264
- 'dmail_filter_attributes][words'?: string;
10265
- profile_about?: string;
10266
- profile_artinfo?: string;
10267
- avatar_id?: number;
10399
+ 'user[time_zone]'?: string;
10400
+ 'user[per_page]'?: number;
10401
+ 'user[custom_style]'?: string;
10402
+ 'user[description_collapsed_initially]'?: boolean;
10403
+ 'user[hide_comments]'?: boolean;
10404
+ 'user[receive_email_notifications]'?: boolean;
10405
+ 'user[enable_keyboard_navigation]'?: boolean;
10406
+ 'user[enable_privacy_mode]'?: boolean;
10407
+ 'user[disable_user_dmails]'?: boolean;
10408
+ 'user[blacklist_users]'?: boolean;
10409
+ 'user[show_post_statistics]'?: boolean;
10410
+ 'user[show_hidden_comments]'?: boolean;
10411
+ 'user[enable_autocomplete]'?: boolean;
10412
+ 'user[disable_cropped_thumbnails]'?: boolean;
10413
+ 'user[enable_safe_mode]'?: boolean;
10414
+ 'user[disable_responsive_mode]'?: boolean;
10415
+ 'user[dmail_filter_attributes][id]'?: number;
10416
+ 'user[dmail_filter_attributes][words]'?: string;
10417
+ 'user[profile_about]'?: string;
10418
+ 'user[profile_artinfo]'?: string;
10419
+ 'user[avatar_id]'?: number;
10268
10420
  /**
10269
10421
  * You must have uploaded at least 10 posts.
10270
10422
  */
10271
- enable_compact_uploader?: boolean;
10272
- forum_notification_dot?: boolean;
10423
+ 'user[enable_compact_uploader]'?: boolean;
10424
+ 'user[forum_notification_dot]'?: boolean;
10273
10425
  };
10274
10426
  path: {
10275
10427
  /**
@@ -10495,7 +10647,7 @@ export type MaintenanceUserCountFixesCreateErrors = {
10495
10647
  export type MaintenanceUserCountFixesCreateError = MaintenanceUserCountFixesCreateErrors[keyof MaintenanceUserCountFixesCreateErrors];
10496
10648
  export type MaintenanceUserDmailFiltersUpdateData = {
10497
10649
  body?: {
10498
- words: string;
10650
+ 'dmail_filter[words]': string;
10499
10651
  };
10500
10652
  path?: never;
10501
10653
  query: {
@@ -10588,10 +10740,10 @@ export type UserFeedbacksIndexResponses = {
10588
10740
  export type UserFeedbacksIndexResponse = UserFeedbacksIndexResponses[keyof UserFeedbacksIndexResponses];
10589
10741
  export type UserFeedbacksCreateData = {
10590
10742
  body?: {
10591
- user_id?: number;
10592
- user_name?: string;
10593
- body: string;
10594
- category: UserFeedbackCategory;
10743
+ 'user_feedback[user_id]'?: number;
10744
+ 'user_feedback[user_name]'?: string;
10745
+ 'user_feedback[body]': string;
10746
+ 'user_feedback[category]': UserFeedbackCategory;
10595
10747
  };
10596
10748
  path?: never;
10597
10749
  query?: never;
@@ -10677,8 +10829,8 @@ export type UserFeedbacksShowResponses = {
10677
10829
  export type UserFeedbacksShowResponse = UserFeedbacksShowResponses[keyof UserFeedbacksShowResponses];
10678
10830
  export type UserFeedbacksUpdateData = {
10679
10831
  body?: {
10680
- body?: string;
10681
- category?: UserFeedbackCategory;
10832
+ 'user_feedback[body]'?: string;
10833
+ 'user_feedback[category]'?: UserFeedbackCategory;
10682
10834
  };
10683
10835
  path: {
10684
10836
  /**
@@ -10807,8 +10959,8 @@ export type UserNameChangeRequestsIndexResponses = {
10807
10959
  export type UserNameChangeRequestsIndexResponse = UserNameChangeRequestsIndexResponses[keyof UserNameChangeRequestsIndexResponses];
10808
10960
  export type UserNameChangeRequestsCreateData = {
10809
10961
  body?: {
10810
- desired_name: string;
10811
- change_reason?: string;
10962
+ 'user_name_change_request[desired_name]': string;
10963
+ 'user_name_change_request[change_reason]'?: string;
10812
10964
  };
10813
10965
  path?: never;
10814
10966
  query?: never;
@@ -10913,29 +11065,29 @@ export type WikiPagesIndexResponses = {
10913
11065
  export type WikiPagesIndexResponse = WikiPagesIndexResponses[keyof WikiPagesIndexResponses];
10914
11066
  export type WikiPagesCreateData = {
10915
11067
  body?: {
10916
- title: string;
10917
- body: string;
10918
- edit_reason?: string;
11068
+ 'wiki_page[title]': string;
11069
+ 'wiki_page[body]': string;
11070
+ 'wiki_page[edit_reason]'?: string;
10919
11071
  /**
10920
11072
  * Must be Privileged+ to use.
10921
11073
  */
10922
- parent?: string;
11074
+ 'wiki_page[parent]'?: string;
10923
11075
  /**
10924
11076
  * Must be Staff+ to use.
10925
11077
  */
10926
- is_locked?: boolean;
11078
+ 'wiki_page[is_locked]'?: boolean;
10927
11079
  /**
10928
11080
  * Must be Staff+ to use.
10929
11081
  */
10930
- is_deleted?: boolean;
11082
+ 'wiki_page[is_deleted]'?: boolean;
10931
11083
  /**
10932
11084
  * Must be Staff+ to use.
10933
11085
  */
10934
- skip_secondary_validations?: boolean;
11086
+ 'wiki_page[skip_secondary_validations]'?: boolean;
10935
11087
  /**
10936
11088
  * Space separated
10937
11089
  */
10938
- featured_posts_string?: string;
11090
+ 'wiki_page[featured_posts_string]'?: string;
10939
11091
  };
10940
11092
  path?: never;
10941
11093
  query?: never;
@@ -11017,37 +11169,32 @@ export type WikiPagesShowResponses = {
11017
11169
  export type WikiPagesShowResponse = WikiPagesShowResponses[keyof WikiPagesShowResponses];
11018
11170
  export type WikiPagesUpdateData = {
11019
11171
  body?: {
11020
- body?: string;
11021
- edit_reason?: string;
11172
+ 'wiki_page[body]'?: string;
11173
+ 'wiki_page[edit_reason]'?: string;
11022
11174
  /**
11023
11175
  * Must be Privileged+ to use.
11024
11176
  */
11025
- parent?: string;
11177
+ 'wiki_page[parent]'?: string;
11026
11178
  /**
11027
11179
  * Must be Staff+ to use.
11028
11180
  */
11029
- title?: string;
11181
+ 'wiki_page[title]'?: string;
11030
11182
  /**
11031
11183
  * Must be Staff+ to use.
11032
11184
  */
11033
- is_locked?: boolean;
11185
+ 'wiki_page[is_locked]'?: boolean;
11034
11186
  /**
11035
11187
  * Must be Staff+ to use.
11036
11188
  */
11037
- is_deleted?: boolean;
11189
+ 'wiki_page[is_deleted]'?: boolean;
11038
11190
  /**
11039
11191
  * Must be Staff+ to use.
11040
11192
  */
11041
- skip_secondary_validations?: boolean;
11042
- category_id?: TagCategory;
11043
- /**
11044
- * Must be Admin+ to use.
11045
- */
11046
- category_is_locked?: boolean;
11193
+ 'wiki_page[skip_secondary_validations]'?: boolean;
11047
11194
  /**
11048
11195
  * Space separated
11049
11196
  */
11050
- featured_posts_string?: string;
11197
+ 'wiki_page[featured_posts_string]'?: string;
11051
11198
  };
11052
11199
  path: {
11053
11200
  /**
@@ -11211,24 +11358,24 @@ export type StaffUsersUpdateData = {
11211
11358
  /**
11212
11359
  * Must have the bd staff user flag to use.
11213
11360
  */
11214
- verified?: boolean;
11215
- level?: UserLevel;
11216
- name?: string;
11217
- profile_about?: string;
11218
- profile_artinfo?: string;
11219
- base_upload_limit?: number;
11220
- enable_privacy_mode?: boolean;
11361
+ 'user[verified]'?: boolean;
11362
+ 'user[level]'?: UserLevel;
11363
+ 'user[name]'?: string;
11364
+ 'user[profile_about]'?: string;
11365
+ 'user[profile_artinfo]'?: string;
11366
+ 'user[base_upload_limit]'?: number;
11367
+ 'user[enable_privacy_mode]'?: boolean;
11221
11368
  /**
11222
11369
  * Must have the bd staff user flag to use.
11223
11370
  */
11224
- email?: string;
11225
- can_approve_posts?: boolean;
11226
- can_upload_free?: boolean;
11227
- no_flagging?: boolean;
11228
- replacements_beta?: boolean;
11229
- custom_title?: string;
11230
- tag_warden?: boolean;
11231
- raised_favorite_limit?: boolean;
11371
+ 'user[email]'?: string;
11372
+ 'user[can_approve_posts]'?: boolean;
11373
+ 'user[can_upload_free]'?: boolean;
11374
+ 'user[no_flagging]'?: boolean;
11375
+ 'user[replacements_beta]'?: boolean;
11376
+ 'user[custom_title]'?: string;
11377
+ 'user[tag_warden]'?: boolean;
11378
+ 'user[raised_favorite_limit]'?: boolean;
11232
11379
  };
11233
11380
  path: {
11234
11381
  /**
@@ -11304,9 +11451,7 @@ export type StaffUsersTotpResetErrors = {
11304
11451
  export type StaffUsersTotpResetError = StaffUsersTotpResetErrors[keyof StaffUsersTotpResetErrors];
11305
11452
  export type StaffUsersUpdateBlacklistData = {
11306
11453
  body?: {
11307
- user: {
11308
- blacklisted_tags: string;
11309
- };
11454
+ 'user[blacklisted_tags]': string;
11310
11455
  };
11311
11456
  path: {
11312
11457
  /**
@@ -12161,9 +12306,9 @@ export type StaffPostDisapprovalsIndexResponses = {
12161
12306
  export type StaffPostDisapprovalsIndexResponse = StaffPostDisapprovalsIndexResponses[keyof StaffPostDisapprovalsIndexResponses];
12162
12307
  export type StaffPostDisapprovalsCreateData = {
12163
12308
  body?: {
12164
- post_id: number;
12165
- reason: 'borderline_quality' | 'borderline_relevancy' | 'other';
12166
- message?: string;
12309
+ 'post_disapproval[post_id]': number;
12310
+ 'post_disapproval[reason]': 'borderline_quality' | 'borderline_relevancy' | 'other';
12311
+ 'post_disapproval[message]'?: string;
12167
12312
  };
12168
12313
  path?: never;
12169
12314
  query?: never;