@productcraft/social 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +1691 -183
- package/dist/index.d.ts +1691 -183
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ interface paths {
|
|
|
13
13
|
path?: never;
|
|
14
14
|
cookie?: never;
|
|
15
15
|
};
|
|
16
|
-
/** List actors in a community. 50 per page by default (max 200) — paginate with the cursor returned in `pagination.next_cursor` while `pagination.has_more` is true. */
|
|
16
|
+
/** List actors in a community. 50 per page by default (max 200) — paginate with the cursor returned in `pagination.next_cursor` while `pagination.has_more` is true. Pass `?ids=<uuid,uuid,…>` (max 100) to batch-fetch specific actors instead — one hydration call for a screenful of ids; unknown ids are silently omitted and `pagination` is the exhausted shape (`next_cursor: null`). */
|
|
17
17
|
get: operations["ActorController_list"];
|
|
18
18
|
put?: never;
|
|
19
19
|
/** Upsert an actor by external_id. Creates on first call, updates on subsequent calls with the same external_id. Idempotent on `(community, external_id)`. Note: omitted fields on a follow-up call are overwritten with the new body — pass every field you want to keep on each call. */
|
|
@@ -24,6 +24,40 @@ interface paths {
|
|
|
24
24
|
patch?: never;
|
|
25
25
|
trace?: never;
|
|
26
26
|
};
|
|
27
|
+
"/v1/communities/{communityId}/actors/batch": {
|
|
28
|
+
parameters: {
|
|
29
|
+
query?: never;
|
|
30
|
+
header?: never;
|
|
31
|
+
path?: never;
|
|
32
|
+
cookie?: never;
|
|
33
|
+
};
|
|
34
|
+
get?: never;
|
|
35
|
+
put?: never;
|
|
36
|
+
/** Bulk actor upsert (max 200 per call) — the import lane. Each item runs the exact single-upsert path; results come back per item with partial success (`201` even when some items fail — inspect `success` / `error` per entry). No wrapping transaction. */
|
|
37
|
+
post: operations["ActorController_batchUpsert"];
|
|
38
|
+
delete?: never;
|
|
39
|
+
options?: never;
|
|
40
|
+
head?: never;
|
|
41
|
+
patch?: never;
|
|
42
|
+
trace?: never;
|
|
43
|
+
};
|
|
44
|
+
"/v1/communities/{communityId}/actors/by-external/batch": {
|
|
45
|
+
parameters: {
|
|
46
|
+
query?: never;
|
|
47
|
+
header?: never;
|
|
48
|
+
path?: never;
|
|
49
|
+
cookie?: never;
|
|
50
|
+
};
|
|
51
|
+
get?: never;
|
|
52
|
+
put?: never;
|
|
53
|
+
/** Batch-resolve external_ids to actors (max 200 per call). POST-only — external_ids are up to 256 chars and can't ride a querystring. Unknown ids come back in `missing[]` instead of failing the call. */
|
|
54
|
+
post: operations["ActorController_batchGetByExternal"];
|
|
55
|
+
delete?: never;
|
|
56
|
+
options?: never;
|
|
57
|
+
head?: never;
|
|
58
|
+
patch?: never;
|
|
59
|
+
trace?: never;
|
|
60
|
+
};
|
|
27
61
|
"/v1/communities/{communityId}/actors/by-external/{externalId}": {
|
|
28
62
|
parameters: {
|
|
29
63
|
query?: never;
|
|
@@ -67,7 +101,7 @@ interface paths {
|
|
|
67
101
|
path?: never;
|
|
68
102
|
cookie?: never;
|
|
69
103
|
};
|
|
70
|
-
/** List actors this actor has blocked. */
|
|
104
|
+
/** List actors this actor has blocked. Pass `?expand=dst_actor` to nest each blocked actor's full row on the edge. */
|
|
71
105
|
get: operations["EdgeController_listBlocks"];
|
|
72
106
|
put?: never;
|
|
73
107
|
post?: never;
|
|
@@ -178,7 +212,7 @@ interface paths {
|
|
|
178
212
|
path?: never;
|
|
179
213
|
cookie?: never;
|
|
180
214
|
};
|
|
181
|
-
/** List the actors who follow this actor. */
|
|
215
|
+
/** List the actors who follow this actor. Pass `?expand=src_actor` to nest each follower's full actor row on the edge — a followers screen renders from this one call. */
|
|
182
216
|
get: operations["EdgeController_listFollowers"];
|
|
183
217
|
put?: never;
|
|
184
218
|
post?: never;
|
|
@@ -195,7 +229,7 @@ interface paths {
|
|
|
195
229
|
path?: never;
|
|
196
230
|
cookie?: never;
|
|
197
231
|
};
|
|
198
|
-
/** List the actors this actor follows. */
|
|
232
|
+
/** List the actors this actor follows. Pass `?expand=dst_actor` to nest each followee's full actor row on the edge (no N+1 hydration). */
|
|
199
233
|
get: operations["EdgeController_listFollowing"];
|
|
200
234
|
put?: never;
|
|
201
235
|
post?: never;
|
|
@@ -287,7 +321,7 @@ interface paths {
|
|
|
287
321
|
path?: never;
|
|
288
322
|
cookie?: never;
|
|
289
323
|
};
|
|
290
|
-
/** List the actor's currently-active muted terms. */
|
|
324
|
+
/** List the actor's currently-active muted terms, newest-first. Cursor-paginated (task 008 / G13 — previously an unbounded bare array). */
|
|
291
325
|
get: operations["MutedTermController_list"];
|
|
292
326
|
put?: never;
|
|
293
327
|
/** Add (or refresh) a muted term for the actor. Re-posting the same `term` updates the scope + expires_at. */
|
|
@@ -322,7 +356,7 @@ interface paths {
|
|
|
322
356
|
path?: never;
|
|
323
357
|
cookie?: never;
|
|
324
358
|
};
|
|
325
|
-
/** List actors this actor has muted. */
|
|
359
|
+
/** List actors this actor has muted. Pass `?expand=dst_actor` to nest each muted actor's full row on the edge. */
|
|
326
360
|
get: operations["EdgeController_listMutes"];
|
|
327
361
|
put?: never;
|
|
328
362
|
post?: never;
|
|
@@ -452,6 +486,26 @@ interface paths {
|
|
|
452
486
|
patch: operations["NotificationController_markRead"];
|
|
453
487
|
trace?: never;
|
|
454
488
|
};
|
|
489
|
+
"/v1/communities/{communityId}/actors/{actorId}/post-state": {
|
|
490
|
+
parameters: {
|
|
491
|
+
query?: never;
|
|
492
|
+
header?: never;
|
|
493
|
+
path?: never;
|
|
494
|
+
cookie?: never;
|
|
495
|
+
};
|
|
496
|
+
get?: never;
|
|
497
|
+
put?: never;
|
|
498
|
+
/**
|
|
499
|
+
* Batch viewer-state hydration: the actor's reactions, bookmark, repost, and poll-vote state for up to 200 posts in one call.
|
|
500
|
+
* @description Read-over-POST (the id list is too large for a query string) — no side effects, no Idempotency-Key needed. Renders a whole feed page's "liked by you" / saved / reposted / voted state with one request on top of the feed call.
|
|
501
|
+
*/
|
|
502
|
+
post: operations["ViewerStateController_postState"];
|
|
503
|
+
delete?: never;
|
|
504
|
+
options?: never;
|
|
505
|
+
head?: never;
|
|
506
|
+
patch?: never;
|
|
507
|
+
trace?: never;
|
|
508
|
+
};
|
|
455
509
|
"/v1/communities/{communityId}/actors/{actorId}/restricts": {
|
|
456
510
|
parameters: {
|
|
457
511
|
query?: never;
|
|
@@ -459,7 +513,7 @@ interface paths {
|
|
|
459
513
|
path?: never;
|
|
460
514
|
cookie?: never;
|
|
461
515
|
};
|
|
462
|
-
/** List actors this actor has restricted. */
|
|
516
|
+
/** List actors this actor has restricted. Pass `?expand=dst_actor` to nest each restricted actor's full row on the edge. */
|
|
463
517
|
get: operations["EdgeController_listRestricts"];
|
|
464
518
|
put?: never;
|
|
465
519
|
post?: never;
|
|
@@ -529,6 +583,26 @@ interface paths {
|
|
|
529
583
|
patch?: never;
|
|
530
584
|
trace?: never;
|
|
531
585
|
};
|
|
586
|
+
"/v1/communities/{communityId}/actors/{srcActorId}/relationships": {
|
|
587
|
+
parameters: {
|
|
588
|
+
query?: never;
|
|
589
|
+
header?: never;
|
|
590
|
+
path?: never;
|
|
591
|
+
cookie?: never;
|
|
592
|
+
};
|
|
593
|
+
/**
|
|
594
|
+
* Batched pairwise relationship lookup: does this actor follow / mute / block / restrict each of up to 100 others (and is it followed / blocked back)?
|
|
595
|
+
* @description One query resolves the seven pairwise flags for a whole profile header or member list — no paging of full edge lists, and `blocked_by` is visible without attempting a write and handling the 409. Unknown or cross-community ids resolve to all-false flags; the id list is de-duplicated preserving request order. Bounded input (max 100 ids), so the response has no pagination envelope.
|
|
596
|
+
*/
|
|
597
|
+
get: operations["EdgeController_relationships"];
|
|
598
|
+
put?: never;
|
|
599
|
+
post?: never;
|
|
600
|
+
delete?: never;
|
|
601
|
+
options?: never;
|
|
602
|
+
head?: never;
|
|
603
|
+
patch?: never;
|
|
604
|
+
trace?: never;
|
|
605
|
+
};
|
|
532
606
|
"/v1/communities/{communityId}/blocks": {
|
|
533
607
|
parameters: {
|
|
534
608
|
query?: never;
|
|
@@ -613,7 +687,7 @@ interface paths {
|
|
|
613
687
|
/** List the caller's conversations in this community, most-recent-activity first. */
|
|
614
688
|
get: operations["ConversationController_list"];
|
|
615
689
|
put?: never;
|
|
616
|
-
/** Open a conversation. Default `kind="direct"` is the idempotent 1-on-1 path. Pass `kind="group"` with `actor_ids` for a multi-participant chat
|
|
690
|
+
/** Open a conversation. Default `kind="direct"` is the naturally-idempotent 1-on-1 path (get-or-create by participant pair). Pass `kind="group"` with `actor_ids` for a multi-participant chat — group creates always insert a new row, so pass an `Idempotency-Key` header to make group-create retries safe. */
|
|
617
691
|
post: operations["ConversationController_create"];
|
|
618
692
|
delete?: never;
|
|
619
693
|
options?: never;
|
|
@@ -649,7 +723,7 @@ interface paths {
|
|
|
649
723
|
get: operations["ConversationController_getById"];
|
|
650
724
|
put?: never;
|
|
651
725
|
post?: never;
|
|
652
|
-
/** Leave the conversation. Drops the caller's participant row; the conversation is hard-deleted when the last participant leaves. */
|
|
726
|
+
/** Leave the conversation. Drops the caller's participant row; the conversation is hard-deleted when the last participant leaves. Pass the actor via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
653
727
|
delete: operations["ConversationController_leave"];
|
|
654
728
|
options?: never;
|
|
655
729
|
head?: never;
|
|
@@ -702,7 +776,7 @@ interface paths {
|
|
|
702
776
|
/** List messages in the conversation. Default newest-first cursor. Pass `since` (encoded cursor of the last-seen message) to poll for newer messages instead. */
|
|
703
777
|
get: operations["ConversationController_listMessages"];
|
|
704
778
|
put?: never;
|
|
705
|
-
/** Send a message in the conversation. */
|
|
779
|
+
/** Send a message in the conversation. Pass an `Idempotency-Key` header to make retries safe — a retried send never delivers the message twice. */
|
|
706
780
|
post: operations["ConversationController_send"];
|
|
707
781
|
delete?: never;
|
|
708
782
|
options?: never;
|
|
@@ -720,7 +794,7 @@ interface paths {
|
|
|
720
794
|
get?: never;
|
|
721
795
|
put?: never;
|
|
722
796
|
post?: never;
|
|
723
|
-
/** Soft-delete a message. Reserved to the sender; the row stays so the conversation timeline doesn't orphan replies. Reads return body `"(deleted)"`. */
|
|
797
|
+
/** Soft-delete a message. Reserved to the sender; the row stays so the conversation timeline doesn't orphan replies. Reads return body `"(deleted)"`. Pass the sender via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
724
798
|
delete: operations["ConversationController_deleteMessage"];
|
|
725
799
|
options?: never;
|
|
726
800
|
head?: never;
|
|
@@ -797,6 +871,23 @@ interface paths {
|
|
|
797
871
|
patch?: never;
|
|
798
872
|
trace?: never;
|
|
799
873
|
};
|
|
874
|
+
"/v1/communities/{communityId}/counters": {
|
|
875
|
+
parameters: {
|
|
876
|
+
query?: never;
|
|
877
|
+
header?: never;
|
|
878
|
+
path?: never;
|
|
879
|
+
cookie?: never;
|
|
880
|
+
};
|
|
881
|
+
/** Batch counters (max 100 actors per call) — render a member list with follower badges from ONE call instead of one per actor. Unknown actor_ids come back in `missing[]` instead of failing the read. */
|
|
882
|
+
get: operations["CounterController_getBatchCounters"];
|
|
883
|
+
put?: never;
|
|
884
|
+
post?: never;
|
|
885
|
+
delete?: never;
|
|
886
|
+
options?: never;
|
|
887
|
+
head?: never;
|
|
888
|
+
patch?: never;
|
|
889
|
+
trace?: never;
|
|
890
|
+
};
|
|
800
891
|
"/v1/communities/{communityId}/discover-feed": {
|
|
801
892
|
parameters: {
|
|
802
893
|
query?: never;
|
|
@@ -848,6 +939,23 @@ interface paths {
|
|
|
848
939
|
patch?: never;
|
|
849
940
|
trace?: never;
|
|
850
941
|
};
|
|
942
|
+
"/v1/communities/{communityId}/follows/batch": {
|
|
943
|
+
parameters: {
|
|
944
|
+
query?: never;
|
|
945
|
+
header?: never;
|
|
946
|
+
path?: never;
|
|
947
|
+
cookie?: never;
|
|
948
|
+
};
|
|
949
|
+
get?: never;
|
|
950
|
+
put?: never;
|
|
951
|
+
/** Bulk follow creation (max 200 per call) — the graph-import lane. Each item runs the exact single-follow path (block checks, counters, idempotency), so a blocked pair fails ITS item with a 409 in `error` while the rest of the batch proceeds. `201` even with failures — inspect per-item results. Set `suppress_notifications: true` when importing an existing graph. */
|
|
952
|
+
post: operations["EdgeController_batchFollows"];
|
|
953
|
+
delete?: never;
|
|
954
|
+
options?: never;
|
|
955
|
+
head?: never;
|
|
956
|
+
patch?: never;
|
|
957
|
+
trace?: never;
|
|
958
|
+
};
|
|
851
959
|
"/v1/communities/{communityId}/follows/{srcActorId}/{dstActorId}": {
|
|
852
960
|
parameters: {
|
|
853
961
|
query?: never;
|
|
@@ -926,7 +1034,7 @@ interface paths {
|
|
|
926
1034
|
/** List discoverable lists in this community. Public lists are visible to anyone; private lists surface only when `viewer_actor_id` is their owner. */
|
|
927
1035
|
get: operations["ActorListController_list"];
|
|
928
1036
|
put?: never;
|
|
929
|
-
/** Create a new list. Default visibility `private`. */
|
|
1037
|
+
/** Create a new list. Default visibility `private`. List creation has no natural key (an owner can hold many same-named lists), so pass an `Idempotency-Key` header to make retries safe. */
|
|
930
1038
|
post: operations["ActorListController_create"];
|
|
931
1039
|
delete?: never;
|
|
932
1040
|
options?: never;
|
|
@@ -945,7 +1053,7 @@ interface paths {
|
|
|
945
1053
|
get: operations["ActorListController_getById"];
|
|
946
1054
|
put?: never;
|
|
947
1055
|
post?: never;
|
|
948
|
-
/** Delete a list. Owner-only. */
|
|
1056
|
+
/** Delete a list. Owner-only. Pass the caller via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
949
1057
|
delete: operations["ActorListController_delete"];
|
|
950
1058
|
options?: never;
|
|
951
1059
|
head?: never;
|
|
@@ -998,7 +1106,7 @@ interface paths {
|
|
|
998
1106
|
get?: never;
|
|
999
1107
|
put?: never;
|
|
1000
1108
|
post?: never;
|
|
1001
|
-
/** Remove a member from a list. Owner-only. Idempotent — 204 either way. */
|
|
1109
|
+
/** Remove a member from a list. Owner-only. Idempotent — 204 either way. Pass the caller via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
1002
1110
|
delete: operations["ActorListController_removeMember"];
|
|
1003
1111
|
options?: never;
|
|
1004
1112
|
head?: never;
|
|
@@ -1049,7 +1157,7 @@ interface paths {
|
|
|
1049
1157
|
/** List posts. Pass `author_id` to filter to a single author. 50/page (max 200), cursor-paginated. */
|
|
1050
1158
|
get: operations["PostController_list"];
|
|
1051
1159
|
put?: never;
|
|
1052
|
-
/** Create a post on behalf of an actor. */
|
|
1160
|
+
/** Create a post on behalf of an actor. Pass an `Idempotency-Key` header to make retries safe — replays return the original response with `Idempotent-Replay: true` for 24h. */
|
|
1053
1161
|
post: operations["PostController_create"];
|
|
1054
1162
|
delete?: never;
|
|
1055
1163
|
options?: never;
|
|
@@ -1057,6 +1165,23 @@ interface paths {
|
|
|
1057
1165
|
patch?: never;
|
|
1058
1166
|
trace?: never;
|
|
1059
1167
|
};
|
|
1168
|
+
"/v1/communities/{communityId}/posts/impressions": {
|
|
1169
|
+
parameters: {
|
|
1170
|
+
query?: never;
|
|
1171
|
+
header?: never;
|
|
1172
|
+
path?: never;
|
|
1173
|
+
cookie?: never;
|
|
1174
|
+
};
|
|
1175
|
+
get?: never;
|
|
1176
|
+
put?: never;
|
|
1177
|
+
/** Batch-increment impression (`view_count`) counters on a list of posts. Client-side debounced; missing post ids are silently skipped (so a deleted post mid-batch doesn’t fail the rest). Renamed from `POST /posts/views` (task 008 / G14) to disambiguate from the story-side per-post `/posts/:postId/views` route. */
|
|
1178
|
+
post: operations["PostController_recordImpressions"];
|
|
1179
|
+
delete?: never;
|
|
1180
|
+
options?: never;
|
|
1181
|
+
head?: never;
|
|
1182
|
+
patch?: never;
|
|
1183
|
+
trace?: never;
|
|
1184
|
+
};
|
|
1060
1185
|
"/v1/communities/{communityId}/posts/views": {
|
|
1061
1186
|
parameters: {
|
|
1062
1187
|
query?: never;
|
|
@@ -1066,8 +1191,11 @@ interface paths {
|
|
|
1066
1191
|
};
|
|
1067
1192
|
get?: never;
|
|
1068
1193
|
put?: never;
|
|
1069
|
-
/**
|
|
1070
|
-
|
|
1194
|
+
/**
|
|
1195
|
+
* DEPRECATED — use `POST /posts/impressions`. Batch-increment impression counters. This alias will be removed in a future version.
|
|
1196
|
+
* @deprecated
|
|
1197
|
+
*/
|
|
1198
|
+
post: operations["PostController_recordViewsDeprecated"];
|
|
1071
1199
|
delete?: never;
|
|
1072
1200
|
options?: never;
|
|
1073
1201
|
head?: never;
|
|
@@ -1110,7 +1238,7 @@ interface paths {
|
|
|
1110
1238
|
* @description Visibility-aware: the actor must be allowed to read the post. If they can't, returns 404 (opaque), matching the read-path opacity rule used everywhere else in Social.
|
|
1111
1239
|
*/
|
|
1112
1240
|
post: operations["BookmarkController_create"];
|
|
1113
|
-
/** Remove a bookmark on behalf of an actor. Idempotent — 204 either way. */
|
|
1241
|
+
/** Remove a bookmark on behalf of an actor. Idempotent — 204 either way. Pass the actor via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
1114
1242
|
delete: operations["BookmarkController_delete"];
|
|
1115
1243
|
options?: never;
|
|
1116
1244
|
head?: never;
|
|
@@ -1127,7 +1255,7 @@ interface paths {
|
|
|
1127
1255
|
/** List comments on a post. Default returns top-level comments newest-first; pass `parent_id` to expand a thread (oldest-first). Pass `requester_id` so DM-style `author_only` replies surface only to the post-author and the comment-author pair. */
|
|
1128
1256
|
get: operations["CommentController_list"];
|
|
1129
1257
|
put?: never;
|
|
1130
|
-
/** Add a comment on a post. Pass `parent_id` to reply; the depth is computed and capped by the community config. */
|
|
1258
|
+
/** Add a comment on a post. Pass `parent_id` to reply; the depth is computed and capped by the community config. Pass an `Idempotency-Key` header to make retries safe. */
|
|
1131
1259
|
post: operations["CommentController_create"];
|
|
1132
1260
|
delete?: never;
|
|
1133
1261
|
options?: never;
|
|
@@ -1253,7 +1381,8 @@ interface paths {
|
|
|
1253
1381
|
path?: never;
|
|
1254
1382
|
cookie?: never;
|
|
1255
1383
|
};
|
|
1256
|
-
|
|
1384
|
+
/** List reactions on a post, newest-first. Cursor encodes `(created_at, actor_id, type)` so multi-reaction-from-same-actor stays stable. Pass `type` to narrow to one reaction type. */
|
|
1385
|
+
get: operations["PostReactionController_list"];
|
|
1257
1386
|
put?: never;
|
|
1258
1387
|
/** React to a post. Idempotent: re-posting the same (actor, type) returns the existing edge with `created: false`. */
|
|
1259
1388
|
post: operations["PostReactionController_react"];
|
|
@@ -1294,7 +1423,7 @@ interface paths {
|
|
|
1294
1423
|
* @description Visibility is inherited from the source. The reposter must be allowed to read the source (else 404). Self-repost 422; private-source repost 422. Bumps `source.repost_count` and the reposter's `post_count`. Fires a `repost` notification to the source author (subject to per-kind preferences from task 021).
|
|
1295
1424
|
*/
|
|
1296
1425
|
post: operations["RepostController_create"];
|
|
1297
|
-
/** Undo my repost of a source post. Idempotent — 204 either way. */
|
|
1426
|
+
/** Undo my repost of a source post. Idempotent — 204 either way. Pass the actor via `?actor_id=` (task 008 / G12 — the request body is deprecated). */
|
|
1298
1427
|
delete: operations["RepostController_delete"];
|
|
1299
1428
|
options?: never;
|
|
1300
1429
|
head?: never;
|
|
@@ -1499,10 +1628,10 @@ interface paths {
|
|
|
1499
1628
|
path?: never;
|
|
1500
1629
|
cookie?: never;
|
|
1501
1630
|
};
|
|
1502
|
-
/**
|
|
1503
|
-
get: operations["
|
|
1631
|
+
/** List the community's webhooks — disabled rows included, so an auto-disabled subscriber stays discoverable. */
|
|
1632
|
+
get: operations["WebhookController_list"];
|
|
1504
1633
|
put?: never;
|
|
1505
|
-
/** Create
|
|
1634
|
+
/** Create a community webhook. Multiple subscribers per community are supported (cap 10). Returns the signing secret ONCE — store it. Pass an `Idempotency-Key` header so a retried create replays the SAME secret instead of minting a duplicate subscriber. */
|
|
1506
1635
|
post: operations["WebhookController_create"];
|
|
1507
1636
|
delete?: never;
|
|
1508
1637
|
options?: never;
|
|
@@ -1525,7 +1654,7 @@ interface paths {
|
|
|
1525
1654
|
delete: operations["WebhookController_delete"];
|
|
1526
1655
|
options?: never;
|
|
1527
1656
|
head?: never;
|
|
1528
|
-
/** Update webhook url
|
|
1657
|
+
/** Update webhook url, subscribed event types, or disabled state. `{ "disabled": false }` is the re-enable path after an auto-disable — no secret rotation required. */
|
|
1529
1658
|
patch: operations["WebhookController_update"];
|
|
1530
1659
|
trace?: never;
|
|
1531
1660
|
};
|
|
@@ -1546,6 +1675,23 @@ interface paths {
|
|
|
1546
1675
|
patch?: never;
|
|
1547
1676
|
trace?: never;
|
|
1548
1677
|
};
|
|
1678
|
+
"/v1/communities/{communityId}/webhooks/{webhookId}/deliveries/{deliveryId}/redeliver": {
|
|
1679
|
+
parameters: {
|
|
1680
|
+
query?: never;
|
|
1681
|
+
header?: never;
|
|
1682
|
+
path?: never;
|
|
1683
|
+
cookie?: never;
|
|
1684
|
+
};
|
|
1685
|
+
get?: never;
|
|
1686
|
+
put?: never;
|
|
1687
|
+
/** Re-publish a past delivery from its stored request body. Async (202). The payload is byte-identical to the original (same event id), so subscriber-side event-id dedupe treats it as a redelivery. */
|
|
1688
|
+
post: operations["WebhookController_redeliver"];
|
|
1689
|
+
delete?: never;
|
|
1690
|
+
options?: never;
|
|
1691
|
+
head?: never;
|
|
1692
|
+
patch?: never;
|
|
1693
|
+
trace?: never;
|
|
1694
|
+
};
|
|
1549
1695
|
"/v1/communities/{communityId}/webhooks/{webhookId}/rotate-secret": {
|
|
1550
1696
|
parameters: {
|
|
1551
1697
|
query?: never;
|
|
@@ -1555,7 +1701,7 @@ interface paths {
|
|
|
1555
1701
|
};
|
|
1556
1702
|
get?: never;
|
|
1557
1703
|
put?: never;
|
|
1558
|
-
/** Rotate the signing secret. Also clears any auto-disable flag. Returns the new secret ONCE. */
|
|
1704
|
+
/** Rotate the signing secret. Also clears any auto-disable flag. Returns the new secret ONCE. Pass an `Idempotency-Key` header so a retried rotate replays the SAME new secret instead of rotating twice. */
|
|
1559
1705
|
post: operations["WebhookController_rotateSecret"];
|
|
1560
1706
|
delete?: never;
|
|
1561
1707
|
options?: never;
|
|
@@ -1563,6 +1709,40 @@ interface paths {
|
|
|
1563
1709
|
patch?: never;
|
|
1564
1710
|
trace?: never;
|
|
1565
1711
|
};
|
|
1712
|
+
"/v1/communities/{communityId}/webhooks/{webhookId}/test": {
|
|
1713
|
+
parameters: {
|
|
1714
|
+
query?: never;
|
|
1715
|
+
header?: never;
|
|
1716
|
+
path?: never;
|
|
1717
|
+
cookie?: never;
|
|
1718
|
+
};
|
|
1719
|
+
get?: never;
|
|
1720
|
+
put?: never;
|
|
1721
|
+
/** Enqueue a `ping` test delivery. Async (202): the dispatch worker signs and POSTs it exactly like a real event — SSRF guard, TLS, HMAC signature and all. Watch the deliveries list for the outcome. */
|
|
1722
|
+
post: operations["WebhookController_testPing"];
|
|
1723
|
+
delete?: never;
|
|
1724
|
+
options?: never;
|
|
1725
|
+
head?: never;
|
|
1726
|
+
patch?: never;
|
|
1727
|
+
trace?: never;
|
|
1728
|
+
};
|
|
1729
|
+
"/v1/webhook-event-types": {
|
|
1730
|
+
parameters: {
|
|
1731
|
+
query?: never;
|
|
1732
|
+
header?: never;
|
|
1733
|
+
path?: never;
|
|
1734
|
+
cookie?: never;
|
|
1735
|
+
};
|
|
1736
|
+
/** List the webhook event-type catalog. Static metadata, no auth required. Create/update webhooks reject anything not in this list with a 400. */
|
|
1737
|
+
get: operations["WebhookEventTypesController_list"];
|
|
1738
|
+
put?: never;
|
|
1739
|
+
post?: never;
|
|
1740
|
+
delete?: never;
|
|
1741
|
+
options?: never;
|
|
1742
|
+
head?: never;
|
|
1743
|
+
patch?: never;
|
|
1744
|
+
trace?: never;
|
|
1745
|
+
};
|
|
1566
1746
|
"/v1/workspaces/{workspaceId}/communities": {
|
|
1567
1747
|
parameters: {
|
|
1568
1748
|
query?: never;
|
|
@@ -1570,10 +1750,10 @@ interface paths {
|
|
|
1570
1750
|
path?: never;
|
|
1571
1751
|
cookie?: never;
|
|
1572
1752
|
};
|
|
1573
|
-
/** List communities in a workspace */
|
|
1753
|
+
/** List communities in a workspace, newest-first. Cursor-paginated as of task 008 / G13 (previously a bare array). */
|
|
1574
1754
|
get: operations["CommunityController_list"];
|
|
1575
1755
|
put?: never;
|
|
1576
|
-
/** Create an social community. `app_id` is optional — when supplied Social connects the community to an Auth app and refuses if the app belongs to a different workspace (cross-tenant gate) or is already connected. Omit `app_id` for a standalone community (no Auth integration; the customer manages actor identity). */
|
|
1756
|
+
/** Create an social community. `app_id` is optional — when supplied Social connects the community to an Auth app and refuses if the app belongs to a different workspace (cross-tenant gate) or is already connected. Omit `app_id` for a standalone community (no Auth integration; the customer manages actor identity). Pass an `Idempotency-Key` header to make retries safe. */
|
|
1577
1757
|
post: operations["CommunityController_create"];
|
|
1578
1758
|
delete?: never;
|
|
1579
1759
|
options?: never;
|
|
@@ -1626,7 +1806,7 @@ interface paths {
|
|
|
1626
1806
|
};
|
|
1627
1807
|
get?: never;
|
|
1628
1808
|
put?: never;
|
|
1629
|
-
/** Apply a shadow ban to an actor. The actor sees their own content normally; everyone else sees nothing from them. Pass `duration_hours` for a timed ban or omit for indefinite. */
|
|
1809
|
+
/** Apply a shadow ban to an actor. The actor sees their own content normally; everyone else sees nothing from them. Pass `duration_hours` for a timed ban or omit for indefinite. Pass an `Idempotency-Key` header so a retried timed ban doesn't restart the clock. */
|
|
1630
1810
|
post: operations["ModerationAdminController_shadowBan"];
|
|
1631
1811
|
/** Remove a shadow ban. No-op if not currently shadow-banned. */
|
|
1632
1812
|
delete: operations["ModerationAdminController_unshadow"];
|
|
@@ -1712,7 +1892,7 @@ interface paths {
|
|
|
1712
1892
|
};
|
|
1713
1893
|
get?: never;
|
|
1714
1894
|
put?: never;
|
|
1715
|
-
/** Apply a moderation action to a flag. Records an audit entry and updates the target post/comment status. */
|
|
1895
|
+
/** Apply a moderation action to a flag. Records an audit entry and updates the target post/comment status. Pass an `Idempotency-Key` header so a retried request records ONE audit entry, not two. */
|
|
1716
1896
|
post: operations["ModerationAdminController_act"];
|
|
1717
1897
|
delete?: never;
|
|
1718
1898
|
options?: never;
|
|
@@ -1789,6 +1969,11 @@ interface components {
|
|
|
1789
1969
|
updated_at: string;
|
|
1790
1970
|
};
|
|
1791
1971
|
ActorEdgeDto: {
|
|
1972
|
+
/**
|
|
1973
|
+
* @description Acting social actor UUID (the one performing the follow / mute / block / restrict). Standardized name (task 008 / G11).
|
|
1974
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
1975
|
+
*/
|
|
1976
|
+
actor_id?: string;
|
|
1792
1977
|
/**
|
|
1793
1978
|
* @description Destination social actor UUID (the one being followed / muted / blocked / restricted).
|
|
1794
1979
|
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
@@ -1797,10 +1982,11 @@ interface components {
|
|
|
1797
1982
|
/** @description Optional free-form payload stored on the edge (e.g. mute reason). */
|
|
1798
1983
|
payload?: Record<string, never>;
|
|
1799
1984
|
/**
|
|
1800
|
-
* @
|
|
1985
|
+
* @deprecated
|
|
1986
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11). Accepted for one more version.
|
|
1801
1987
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
1802
1988
|
*/
|
|
1803
|
-
src_actor_id
|
|
1989
|
+
src_actor_id?: string;
|
|
1804
1990
|
};
|
|
1805
1991
|
ActorListListResponseDto: {
|
|
1806
1992
|
data: components["schemas"]["ActorListResponseDto"][];
|
|
@@ -1945,6 +2131,19 @@ interface components {
|
|
|
1945
2131
|
ActorSearchResponseDto: {
|
|
1946
2132
|
/** @description Up to `limit` (default 20, max 50) ranked hits. Not paginated in v1; results are bounded by `limit`. */
|
|
1947
2133
|
data: components["schemas"]["ActorSearchHitDto"][];
|
|
2134
|
+
/** @description Always `null` — this lane returns a single bounded, ranked page (no cursor in v1). Present for envelope consistency. */
|
|
2135
|
+
pagination: components["schemas"]["PaginationResponseDto"] | null;
|
|
2136
|
+
};
|
|
2137
|
+
ActorsByExternalBatchResponseDto: {
|
|
2138
|
+
/** @description Actors found, in request order (after de-duplication). */
|
|
2139
|
+
data: components["schemas"]["ActorResponseDto"][];
|
|
2140
|
+
/**
|
|
2141
|
+
* @description external_ids with no actor in this community.
|
|
2142
|
+
* @example [
|
|
2143
|
+
* "user_ghost"
|
|
2144
|
+
* ]
|
|
2145
|
+
*/
|
|
2146
|
+
missing: string[];
|
|
1948
2147
|
};
|
|
1949
2148
|
AddCommentReactionResponseDto: {
|
|
1950
2149
|
/**
|
|
@@ -2011,6 +2210,109 @@ interface components {
|
|
|
2011
2210
|
data: components["schemas"]["ModerationActionResponseDto"][];
|
|
2012
2211
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2013
2212
|
};
|
|
2213
|
+
BatchActorResultDto: {
|
|
2214
|
+
/** @description The upserted actor — present on success. */
|
|
2215
|
+
actor?: components["schemas"]["ActorResponseDto"];
|
|
2216
|
+
/**
|
|
2217
|
+
* @description `true` if this item inserted a new row, `false` on an update of an existing external_id. Present on success.
|
|
2218
|
+
* @example true
|
|
2219
|
+
*/
|
|
2220
|
+
created?: boolean;
|
|
2221
|
+
/** @description The error this item would have returned as a standalone call — present on failure. */
|
|
2222
|
+
error?: components["schemas"]["ErrorResponseDto"];
|
|
2223
|
+
/**
|
|
2224
|
+
* @description Position of this result in the request array.
|
|
2225
|
+
* @example 0
|
|
2226
|
+
*/
|
|
2227
|
+
index: number;
|
|
2228
|
+
/**
|
|
2229
|
+
* @description `true` when this item was upserted; `false` when it failed (see `error`).
|
|
2230
|
+
* @example true
|
|
2231
|
+
*/
|
|
2232
|
+
success: boolean;
|
|
2233
|
+
};
|
|
2234
|
+
BatchActorsResponseDto: {
|
|
2235
|
+
/** @description One result per input item, same order. */
|
|
2236
|
+
data: components["schemas"]["BatchActorResultDto"][];
|
|
2237
|
+
/**
|
|
2238
|
+
* @description Count of failed items.
|
|
2239
|
+
* @example 1
|
|
2240
|
+
*/
|
|
2241
|
+
failed: number;
|
|
2242
|
+
/**
|
|
2243
|
+
* @description Count of successful items.
|
|
2244
|
+
* @example 199
|
|
2245
|
+
*/
|
|
2246
|
+
succeeded: number;
|
|
2247
|
+
};
|
|
2248
|
+
BatchCountersResponseDto: {
|
|
2249
|
+
/** @description Counters for each actor found, in `actor_ids` order (after de-duplication). */
|
|
2250
|
+
data: components["schemas"]["ActorCountersResponseDto"][];
|
|
2251
|
+
/**
|
|
2252
|
+
* @description actor_ids with no actor in this community.
|
|
2253
|
+
* @example []
|
|
2254
|
+
*/
|
|
2255
|
+
missing: string[];
|
|
2256
|
+
};
|
|
2257
|
+
BatchExternalIdsDto: {
|
|
2258
|
+
/**
|
|
2259
|
+
* @description external_ids to resolve, 1–200 items (POST body — 256-char ids can't ride a querystring). Duplicates are de-duplicated.
|
|
2260
|
+
* @example [
|
|
2261
|
+
* "user_abc123",
|
|
2262
|
+
* "user_def456"
|
|
2263
|
+
* ]
|
|
2264
|
+
*/
|
|
2265
|
+
external_ids: string[];
|
|
2266
|
+
};
|
|
2267
|
+
BatchFollowResultDto: {
|
|
2268
|
+
/**
|
|
2269
|
+
* @description `true` if this item created a new edge, `false` on an idempotent retry of an existing follow. Present on success.
|
|
2270
|
+
* @example true
|
|
2271
|
+
*/
|
|
2272
|
+
created?: boolean;
|
|
2273
|
+
/** @description The follow edge — present on success. */
|
|
2274
|
+
edge?: components["schemas"]["EdgeResponseDto"];
|
|
2275
|
+
/** @description The error this item would have returned as a standalone call (e.g. 409 block in place, 422 self-follow, 404 unknown actor) — present on failure. */
|
|
2276
|
+
error?: components["schemas"]["ErrorResponseDto"];
|
|
2277
|
+
/**
|
|
2278
|
+
* @description Position of this result in the request array.
|
|
2279
|
+
* @example 0
|
|
2280
|
+
*/
|
|
2281
|
+
index: number;
|
|
2282
|
+
/**
|
|
2283
|
+
* @description `true` when this follow was created (or already existed); `false` when it failed (see `error`).
|
|
2284
|
+
* @example true
|
|
2285
|
+
*/
|
|
2286
|
+
success: boolean;
|
|
2287
|
+
};
|
|
2288
|
+
BatchFollowsDto: {
|
|
2289
|
+
/** @description Follow edges to create, in order. 1–200 items; each item follows the single-follow body exactly. */
|
|
2290
|
+
follows: components["schemas"]["ActorEdgeDto"][];
|
|
2291
|
+
/**
|
|
2292
|
+
* @description Import lane: when `true`, the per-item `edge.follow.created` fan-out (follow notifications AND webhooks) is skipped for this batch. Follower/following counters still update. Use when importing an existing graph so long-standing followers don't get "X followed you" notifications.
|
|
2293
|
+
* @default false
|
|
2294
|
+
* @example true
|
|
2295
|
+
*/
|
|
2296
|
+
suppress_notifications: boolean;
|
|
2297
|
+
};
|
|
2298
|
+
BatchFollowsResponseDto: {
|
|
2299
|
+
/** @description One result per input item, same order. */
|
|
2300
|
+
data: components["schemas"]["BatchFollowResultDto"][];
|
|
2301
|
+
/**
|
|
2302
|
+
* @description Count of failed items.
|
|
2303
|
+
* @example 1
|
|
2304
|
+
*/
|
|
2305
|
+
failed: number;
|
|
2306
|
+
/**
|
|
2307
|
+
* @description Count of successful items.
|
|
2308
|
+
* @example 4999
|
|
2309
|
+
*/
|
|
2310
|
+
succeeded: number;
|
|
2311
|
+
};
|
|
2312
|
+
BatchUpsertActorsDto: {
|
|
2313
|
+
/** @description Actors to upsert, in order. 1–200 items; each item follows the single-upsert body exactly. */
|
|
2314
|
+
actors: components["schemas"]["UpsertActorDto"][];
|
|
2315
|
+
};
|
|
2014
2316
|
BookmarkListResponseDto: {
|
|
2015
2317
|
data: components["schemas"]["BookmarkResponseDto"][];
|
|
2016
2318
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
@@ -2250,6 +2552,52 @@ interface components {
|
|
|
2250
2552
|
*/
|
|
2251
2553
|
total_posts: number;
|
|
2252
2554
|
};
|
|
2555
|
+
CommunityListResponseDto: {
|
|
2556
|
+
data: components["schemas"]["CommunityResponseDto"][];
|
|
2557
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2558
|
+
};
|
|
2559
|
+
CommunityRankingSettingsDto: {
|
|
2560
|
+
/**
|
|
2561
|
+
* @description Ranked-feed candidate window in days — posts older than this are not scored. Strictly positive finite number.
|
|
2562
|
+
* @default 30
|
|
2563
|
+
* @example 30
|
|
2564
|
+
*/
|
|
2565
|
+
candidate_window_days: number;
|
|
2566
|
+
/**
|
|
2567
|
+
* @description Recency half-life in hours for the ranked feed. Strictly positive finite number.
|
|
2568
|
+
* @default 24
|
|
2569
|
+
* @example 24
|
|
2570
|
+
*/
|
|
2571
|
+
half_life_hours: number;
|
|
2572
|
+
/** @description Per-signal weights for the ranked feed. Each key falls back to its default independently. */
|
|
2573
|
+
weights?: components["schemas"]["CommunityRankingWeightsDto"];
|
|
2574
|
+
};
|
|
2575
|
+
CommunityRankingWeightsDto: {
|
|
2576
|
+
/**
|
|
2577
|
+
* @description Engagement signal weight (log-scaled comments + reactions). Non-negative finite number.
|
|
2578
|
+
* @default 0.6
|
|
2579
|
+
* @example 0.6
|
|
2580
|
+
*/
|
|
2581
|
+
engagement: number;
|
|
2582
|
+
/**
|
|
2583
|
+
* @description Follow-graph bias weight. Non-negative finite number.
|
|
2584
|
+
* @default 0.4
|
|
2585
|
+
* @example 0.4
|
|
2586
|
+
*/
|
|
2587
|
+
follow_bias: number;
|
|
2588
|
+
/**
|
|
2589
|
+
* @description Recency signal weight (exponential decay). Non-negative finite number; anything else falls back to the default.
|
|
2590
|
+
* @default 1
|
|
2591
|
+
* @example 1
|
|
2592
|
+
*/
|
|
2593
|
+
recency: number;
|
|
2594
|
+
/**
|
|
2595
|
+
* @description Self-author boost weight (keeps the viewer's own posts visible). Non-negative finite number.
|
|
2596
|
+
* @default 0.2
|
|
2597
|
+
* @example 0.2
|
|
2598
|
+
*/
|
|
2599
|
+
self_boost: number;
|
|
2600
|
+
};
|
|
2253
2601
|
CommunityResponseDto: {
|
|
2254
2602
|
/**
|
|
2255
2603
|
* @description Auth app UUID this community wraps; `null` for standalone communities.
|
|
@@ -2282,12 +2630,12 @@ interface components {
|
|
|
2282
2630
|
*/
|
|
2283
2631
|
id: string;
|
|
2284
2632
|
/**
|
|
2285
|
-
* @description Per-community settings blob
|
|
2633
|
+
* @description Per-community settings blob. See CommunitySettingsDto for every key the service reads; unrecognized keys are stored and returned unchanged but not consumed.
|
|
2286
2634
|
* @example {
|
|
2287
2635
|
* "max_comment_depth": 3
|
|
2288
2636
|
* }
|
|
2289
2637
|
*/
|
|
2290
|
-
settings:
|
|
2638
|
+
settings: components["schemas"]["CommunitySettingsDto"];
|
|
2291
2639
|
/**
|
|
2292
2640
|
* @description URL-friendly community slug.
|
|
2293
2641
|
* @example my-product-community
|
|
@@ -2310,6 +2658,34 @@ interface components {
|
|
|
2310
2658
|
*/
|
|
2311
2659
|
workspace_id: string;
|
|
2312
2660
|
};
|
|
2661
|
+
CommunitySettingsDto: {
|
|
2662
|
+
/**
|
|
2663
|
+
* @description Distinct-reporter count at which a flagged post/comment is auto-hidden. Integer 0..1000; floored. Read by the moderation flag pipeline.
|
|
2664
|
+
* @default 3
|
|
2665
|
+
* @example 3
|
|
2666
|
+
*/
|
|
2667
|
+
auto_hide_flag_threshold: number;
|
|
2668
|
+
/**
|
|
2669
|
+
* @description Minutes after publication during which a post body/title may still be edited (`EDIT_WINDOW_EXPIRED` afterwards). Strictly positive finite number. Drafts edit freely.
|
|
2670
|
+
* @default 30
|
|
2671
|
+
* @example 30
|
|
2672
|
+
*/
|
|
2673
|
+
edit_window_minutes: number;
|
|
2674
|
+
/**
|
|
2675
|
+
* @description Maximum comment thread depth (0 = flat). Integer 0..10; floored; out-of-bounds falls back to the default. Replying past the cap returns 409.
|
|
2676
|
+
* @default 3
|
|
2677
|
+
* @example 3
|
|
2678
|
+
*/
|
|
2679
|
+
max_comment_depth: number;
|
|
2680
|
+
/**
|
|
2681
|
+
* @description Maximum participants in a group conversation. Integer 2..200; floored. Exceeding it returns 409 on create / member add.
|
|
2682
|
+
* @default 50
|
|
2683
|
+
* @example 50
|
|
2684
|
+
*/
|
|
2685
|
+
max_group_conversation_size: number;
|
|
2686
|
+
/** @description Ranked-feed tuning (weights, half-life, candidate window). Read at query time by the actor feed, list feeds, and the discover feed. */
|
|
2687
|
+
ranking?: components["schemas"]["CommunityRankingSettingsDto"];
|
|
2688
|
+
};
|
|
2313
2689
|
ConversationAdminListResponseDto: {
|
|
2314
2690
|
data: components["schemas"]["ConversationAdminResponseDto"][];
|
|
2315
2691
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
@@ -2488,10 +2864,16 @@ interface components {
|
|
|
2488
2864
|
};
|
|
2489
2865
|
CreateCommentReactionDto: {
|
|
2490
2866
|
/**
|
|
2491
|
-
* @description Reactor actor UUID.
|
|
2867
|
+
* @description Reactor actor UUID. Standardized name (task 008 / G11).
|
|
2492
2868
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2493
2869
|
*/
|
|
2494
|
-
|
|
2870
|
+
actor_id?: string;
|
|
2871
|
+
/**
|
|
2872
|
+
* @deprecated
|
|
2873
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
2874
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2875
|
+
*/
|
|
2876
|
+
src_actor_id?: string;
|
|
2495
2877
|
/**
|
|
2496
2878
|
* @description Reaction type (free-form short label, e.g. `like`, `fire`, `heart`).
|
|
2497
2879
|
* @example like
|
|
@@ -2514,8 +2896,8 @@ interface components {
|
|
|
2514
2896
|
* @example My Product Community
|
|
2515
2897
|
*/
|
|
2516
2898
|
display_name: string;
|
|
2517
|
-
/** @description Per-community settings blob
|
|
2518
|
-
settings?:
|
|
2899
|
+
/** @description Per-community settings blob. Supported keys are typed on CommunitySettingsDto; unrecognized keys are stored verbatim but not consumed. */
|
|
2900
|
+
settings?: components["schemas"]["CommunitySettingsDto"];
|
|
2519
2901
|
/**
|
|
2520
2902
|
* @description URL-friendly community slug. Lowercase letters, digits, and hyphens (3-64 chars).
|
|
2521
2903
|
* @example my-product-community
|
|
@@ -2552,10 +2934,16 @@ interface components {
|
|
|
2552
2934
|
};
|
|
2553
2935
|
CreateDirectMessageReactionDto: {
|
|
2554
2936
|
/**
|
|
2555
|
-
* @description The reactor — social actor UUID.
|
|
2937
|
+
* @description The reactor — social actor UUID. Standardized name (task 008 / G11).
|
|
2556
2938
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2557
2939
|
*/
|
|
2558
|
-
|
|
2940
|
+
actor_id?: string;
|
|
2941
|
+
/**
|
|
2942
|
+
* @deprecated
|
|
2943
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
2944
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2945
|
+
*/
|
|
2946
|
+
src_actor_id?: string;
|
|
2559
2947
|
/**
|
|
2560
2948
|
* @description Reaction type (emoji or label, 1..64 chars).
|
|
2561
2949
|
* @example heart
|
|
@@ -2687,10 +3075,16 @@ interface components {
|
|
|
2687
3075
|
};
|
|
2688
3076
|
CreateReactionDto: {
|
|
2689
3077
|
/**
|
|
2690
|
-
* @description Reactor — social actor UUID.
|
|
3078
|
+
* @description Reactor — social actor UUID. Standardized name (task 008 / G11).
|
|
2691
3079
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2692
3080
|
*/
|
|
2693
|
-
|
|
3081
|
+
actor_id?: string;
|
|
3082
|
+
/**
|
|
3083
|
+
* @deprecated
|
|
3084
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
3085
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3086
|
+
*/
|
|
3087
|
+
src_actor_id?: string;
|
|
2694
3088
|
/**
|
|
2695
3089
|
* @description Reaction type (1..64 chars).
|
|
2696
3090
|
* @example like
|
|
@@ -2717,13 +3111,13 @@ interface components {
|
|
|
2717
3111
|
};
|
|
2718
3112
|
CreateWebhookDto: {
|
|
2719
3113
|
/**
|
|
2720
|
-
* @description Event types to subscribe to.
|
|
3114
|
+
* @description Event types to subscribe to. Unknown values are rejected with a 400 naming the valid set — see GET /v1/webhook-event-types.
|
|
2721
3115
|
* @example [
|
|
2722
3116
|
* "post.created",
|
|
2723
3117
|
* "comment.created"
|
|
2724
3118
|
* ]
|
|
2725
3119
|
*/
|
|
2726
|
-
event_types:
|
|
3120
|
+
event_types: ("post.created" | "post.updated" | "post.deleted" | "post.reaction.created" | "repost.created" | "comment.created" | "comment.updated" | "comment.deleted" | "comment.reaction.created" | "edge.follow.created" | "edge.follow.deleted" | "flag.created" | "flag.updated" | "moderation.action.applied" | "actor.updated" | "dm.message.created")[];
|
|
2727
3121
|
/**
|
|
2728
3122
|
* @description Subscriber URL. Must be `https://`.
|
|
2729
3123
|
* @example https://example.com/webhooks/social
|
|
@@ -2757,13 +3151,13 @@ interface components {
|
|
|
2757
3151
|
*/
|
|
2758
3152
|
disabled_reason: string | null;
|
|
2759
3153
|
/**
|
|
2760
|
-
* @description Subscribed event types. Each item is one of the social event names
|
|
3154
|
+
* @description Subscribed event types. Each item is one of the social event names — see GET /v1/webhook-event-types for the live catalog.
|
|
2761
3155
|
* @example [
|
|
2762
3156
|
* "post.created",
|
|
2763
3157
|
* "comment.created"
|
|
2764
3158
|
* ]
|
|
2765
3159
|
*/
|
|
2766
|
-
event_types:
|
|
3160
|
+
event_types: ("post.created" | "post.updated" | "post.deleted" | "post.reaction.created" | "repost.created" | "comment.created" | "comment.updated" | "comment.deleted" | "comment.reaction.created" | "edge.follow.created" | "edge.follow.deleted" | "flag.created" | "flag.updated" | "moderation.action.applied" | "actor.updated" | "dm.message.created")[];
|
|
2767
3161
|
/**
|
|
2768
3162
|
* @description Webhook UUID.
|
|
2769
3163
|
* @example wwwwwwww-0000-0000-0000-000000000001
|
|
@@ -2802,25 +3196,84 @@ interface components {
|
|
|
2802
3196
|
};
|
|
2803
3197
|
DeleteActorListDto: {
|
|
2804
3198
|
/**
|
|
2805
|
-
* @
|
|
3199
|
+
* @deprecated
|
|
3200
|
+
* @description DEPRECATED — use `?actor_id=`. Caller social actor UUID (must equal the list owner).
|
|
2806
3201
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2807
3202
|
*/
|
|
2808
|
-
|
|
3203
|
+
actor_id?: string;
|
|
3204
|
+
/**
|
|
3205
|
+
* @deprecated
|
|
3206
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
3207
|
+
*/
|
|
3208
|
+
caller_actor_id?: string;
|
|
2809
3209
|
};
|
|
2810
3210
|
DeleteMessageDto: {
|
|
2811
3211
|
/**
|
|
2812
|
-
* @
|
|
3212
|
+
* @deprecated
|
|
3213
|
+
* @description DEPRECATED — use `?actor_id=`. The sender (must match the message's sender_id).
|
|
2813
3214
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2814
3215
|
*/
|
|
2815
|
-
|
|
3216
|
+
actor_id?: string;
|
|
3217
|
+
/**
|
|
3218
|
+
* @deprecated
|
|
3219
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
3220
|
+
*/
|
|
3221
|
+
sender_id?: string;
|
|
2816
3222
|
};
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
3223
|
+
DeliveryJobResponseDto: {
|
|
3224
|
+
/**
|
|
3225
|
+
* @description Delivery attempts made so far.
|
|
3226
|
+
* @example 0
|
|
3227
|
+
*/
|
|
3228
|
+
attempt_count: number;
|
|
3229
|
+
/**
|
|
3230
|
+
* @description ISO timestamp.
|
|
3231
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3232
|
+
*/
|
|
3233
|
+
created_at: string;
|
|
3234
|
+
/**
|
|
3235
|
+
* @description Stable event id (carried in the request body as `id`; stable across retries and redelivers).
|
|
3236
|
+
* @example evt_…
|
|
3237
|
+
*/
|
|
3238
|
+
event_id: string;
|
|
3239
|
+
/**
|
|
3240
|
+
* @description Event type. `ping` for test deliveries.
|
|
3241
|
+
* @example post.created
|
|
3242
|
+
*/
|
|
3243
|
+
event_type: string;
|
|
3244
|
+
/** @description Delivery job UUID. */
|
|
3245
|
+
id: string;
|
|
3246
|
+
/**
|
|
3247
|
+
* @description Error from the most recent failed attempt. Null before the first failure.
|
|
3248
|
+
* @example null
|
|
3249
|
+
*/
|
|
3250
|
+
last_error: string | null;
|
|
3251
|
+
/**
|
|
3252
|
+
* @description ISO timestamp of the next scheduled attempt (backoff: 1m, 5m, 30m, 2h, 6h, 24h).
|
|
3253
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3254
|
+
*/
|
|
3255
|
+
next_attempt_at: string;
|
|
3256
|
+
/**
|
|
3257
|
+
* @description Job state.
|
|
3258
|
+
* @example pending
|
|
3259
|
+
* @enum {string}
|
|
3260
|
+
*/
|
|
3261
|
+
status: "pending" | "delivering" | "succeeded" | "exhausted" | "canceled";
|
|
3262
|
+
/**
|
|
3263
|
+
* @description ISO timestamp.
|
|
3264
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3265
|
+
*/
|
|
3266
|
+
updated_at: string;
|
|
3267
|
+
/** @description Webhook UUID the job targets. */
|
|
3268
|
+
webhook_id: string;
|
|
3269
|
+
};
|
|
3270
|
+
DeliveryListResponseDto: {
|
|
3271
|
+
data: components["schemas"]["DeliveryResponseDto"][];
|
|
3272
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2820
3273
|
};
|
|
2821
3274
|
DeliveryResponseDto: {
|
|
2822
3275
|
/**
|
|
2823
|
-
* @description Attempt number.
|
|
3276
|
+
* @description Attempt number, 1-based. Increments per retry along the backoff schedule (1m, 5m, 30m, 2h, 6h, 24h — 7 attempts total).
|
|
2824
3277
|
* @example 1
|
|
2825
3278
|
*/
|
|
2826
3279
|
attempt_number: number;
|
|
@@ -2874,6 +3327,14 @@ interface components {
|
|
|
2874
3327
|
/** @description Webhook UUID. */
|
|
2875
3328
|
webhook_id: string;
|
|
2876
3329
|
};
|
|
3330
|
+
DeprecatedActorIdBodyDto: {
|
|
3331
|
+
/**
|
|
3332
|
+
* @deprecated
|
|
3333
|
+
* @description DEPRECATED — pass the actor via the `?actor_id=` query parameter instead. Accepted from the body for one more version.
|
|
3334
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3335
|
+
*/
|
|
3336
|
+
actor_id?: string;
|
|
3337
|
+
};
|
|
2877
3338
|
DirectMessageAdminListResponseDto: {
|
|
2878
3339
|
data: components["schemas"]["DirectMessageAdminResponseDto"][];
|
|
2879
3340
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
@@ -3079,10 +3540,6 @@ interface components {
|
|
|
3079
3540
|
data: components["schemas"]["PostResponseDto"][];
|
|
3080
3541
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3081
3542
|
};
|
|
3082
|
-
EdgeListResponseDto: {
|
|
3083
|
-
data: components["schemas"]["EdgeResponseDto"][];
|
|
3084
|
-
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3085
|
-
};
|
|
3086
3543
|
EdgeResponseDto: {
|
|
3087
3544
|
/**
|
|
3088
3545
|
* @description Owning community UUID.
|
|
@@ -3201,8 +3658,59 @@ interface components {
|
|
|
3201
3658
|
*/
|
|
3202
3659
|
updated_at: string;
|
|
3203
3660
|
};
|
|
3661
|
+
FollowerEdgeListResponseDto: {
|
|
3662
|
+
data: components["schemas"]["FollowerEdgeResponseDto"][];
|
|
3663
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3664
|
+
};
|
|
3665
|
+
FollowerEdgeResponseDto: {
|
|
3666
|
+
/**
|
|
3667
|
+
* @description Owning community UUID.
|
|
3668
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3669
|
+
*/
|
|
3670
|
+
community_id: string;
|
|
3671
|
+
/**
|
|
3672
|
+
* @description ISO timestamp the edge was created.
|
|
3673
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3674
|
+
*/
|
|
3675
|
+
created_at: string;
|
|
3676
|
+
/**
|
|
3677
|
+
* @description Destination actor UUID (for actor edges).
|
|
3678
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
3679
|
+
*/
|
|
3680
|
+
dst_actor_id: string | null;
|
|
3681
|
+
/**
|
|
3682
|
+
* @description Destination post UUID (for reaction / save edges).
|
|
3683
|
+
* @example null
|
|
3684
|
+
*/
|
|
3685
|
+
dst_post_id: string | null;
|
|
3686
|
+
/**
|
|
3687
|
+
* @description Edge UUID.
|
|
3688
|
+
* @example eeeeeeee-0000-0000-0000-000000000001
|
|
3689
|
+
*/
|
|
3690
|
+
id: string;
|
|
3691
|
+
/**
|
|
3692
|
+
* @description Edge kind. The actor-edge routes emit exactly these four; post reactions and bookmarks have their own response shapes.
|
|
3693
|
+
* @example follow
|
|
3694
|
+
* @enum {string}
|
|
3695
|
+
*/
|
|
3696
|
+
kind: "follow" | "mute" | "block" | "restrict";
|
|
3697
|
+
/**
|
|
3698
|
+
* @description Free-form payload stored on the edge (e.g. mute reason).
|
|
3699
|
+
* @example {}
|
|
3700
|
+
*/
|
|
3701
|
+
payload: Record<string, never>;
|
|
3702
|
+
/** @description The follower's full actor row. Present only when requested via `?expand=src_actor`. */
|
|
3703
|
+
src_actor?: components["schemas"]["ActorResponseDto"];
|
|
3704
|
+
/**
|
|
3705
|
+
* @description Source actor UUID.
|
|
3706
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3707
|
+
*/
|
|
3708
|
+
src_actor_id: string;
|
|
3709
|
+
};
|
|
3204
3710
|
HashtagAutocompleteResponseDto: {
|
|
3205
3711
|
data: components["schemas"]["HashtagResponseDto"][];
|
|
3712
|
+
/** @description Always `null` — autocomplete returns a single bounded, ranked page (no cursor). Present for envelope consistency (task 008 / G13). */
|
|
3713
|
+
pagination: components["schemas"]["PaginationResponseDto"] | null;
|
|
3206
3714
|
};
|
|
3207
3715
|
HashtagDetailResponseDto: {
|
|
3208
3716
|
/**
|
|
@@ -3284,10 +3792,11 @@ interface components {
|
|
|
3284
3792
|
};
|
|
3285
3793
|
LeaveConversationDto: {
|
|
3286
3794
|
/**
|
|
3287
|
-
* @
|
|
3795
|
+
* @deprecated
|
|
3796
|
+
* @description DEPRECATED — use `?actor_id=`. The participant leaving.
|
|
3288
3797
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3289
3798
|
*/
|
|
3290
|
-
actor_id
|
|
3799
|
+
actor_id?: string;
|
|
3291
3800
|
};
|
|
3292
3801
|
MarkAllReadDto: {
|
|
3293
3802
|
/**
|
|
@@ -3469,6 +3978,10 @@ interface components {
|
|
|
3469
3978
|
*/
|
|
3470
3979
|
updated_at: string;
|
|
3471
3980
|
};
|
|
3981
|
+
MutedTermListResponseDto: {
|
|
3982
|
+
data: components["schemas"]["MutedTermResponseDto"][];
|
|
3983
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3984
|
+
};
|
|
3472
3985
|
MutedTermResponseDto: {
|
|
3473
3986
|
/**
|
|
3474
3987
|
* @description Owning actor UUID.
|
|
@@ -3595,9 +4108,58 @@ interface components {
|
|
|
3595
4108
|
*/
|
|
3596
4109
|
target_kind: "actor" | "post" | "comment" | "direct_message";
|
|
3597
4110
|
};
|
|
4111
|
+
OutboundEdgeListResponseDto: {
|
|
4112
|
+
data: components["schemas"]["OutboundEdgeResponseDto"][];
|
|
4113
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4114
|
+
};
|
|
4115
|
+
OutboundEdgeResponseDto: {
|
|
4116
|
+
/**
|
|
4117
|
+
* @description Owning community UUID.
|
|
4118
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
4119
|
+
*/
|
|
4120
|
+
community_id: string;
|
|
4121
|
+
/**
|
|
4122
|
+
* @description ISO timestamp the edge was created.
|
|
4123
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
4124
|
+
*/
|
|
4125
|
+
created_at: string;
|
|
4126
|
+
/** @description The destination actor's full row. Present only when requested via `?expand=dst_actor`. */
|
|
4127
|
+
dst_actor?: components["schemas"]["ActorResponseDto"];
|
|
4128
|
+
/**
|
|
4129
|
+
* @description Destination actor UUID (for actor edges).
|
|
4130
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4131
|
+
*/
|
|
4132
|
+
dst_actor_id: string | null;
|
|
4133
|
+
/**
|
|
4134
|
+
* @description Destination post UUID (for reaction / save edges).
|
|
4135
|
+
* @example null
|
|
4136
|
+
*/
|
|
4137
|
+
dst_post_id: string | null;
|
|
4138
|
+
/**
|
|
4139
|
+
* @description Edge UUID.
|
|
4140
|
+
* @example eeeeeeee-0000-0000-0000-000000000001
|
|
4141
|
+
*/
|
|
4142
|
+
id: string;
|
|
4143
|
+
/**
|
|
4144
|
+
* @description Edge kind. The actor-edge routes emit exactly these four; post reactions and bookmarks have their own response shapes.
|
|
4145
|
+
* @example follow
|
|
4146
|
+
* @enum {string}
|
|
4147
|
+
*/
|
|
4148
|
+
kind: "follow" | "mute" | "block" | "restrict";
|
|
4149
|
+
/**
|
|
4150
|
+
* @description Free-form payload stored on the edge (e.g. mute reason).
|
|
4151
|
+
* @example {}
|
|
4152
|
+
*/
|
|
4153
|
+
payload: Record<string, never>;
|
|
4154
|
+
/**
|
|
4155
|
+
* @description Source actor UUID.
|
|
4156
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4157
|
+
*/
|
|
4158
|
+
src_actor_id: string;
|
|
4159
|
+
};
|
|
3598
4160
|
PaginationResponseDto: {
|
|
3599
4161
|
/**
|
|
3600
|
-
* @description `true` when at least one more page exists. Mirrors `next_cursor !== null`; published as a separate field so SDKs can drive a `while` loop without parsing the cursor.
|
|
4162
|
+
* @description `true` when at least one more page exists. Mirrors `next_cursor !== null`; published as a separate field so SDKs can drive a `while` loop without parsing the cursor. A short or empty `data` array does NOT imply the end of the list when a lane post-filters — always page until this is `false`.
|
|
3601
4163
|
* @example true
|
|
3602
4164
|
*/
|
|
3603
4165
|
has_more: boolean;
|
|
@@ -3668,6 +4230,37 @@ interface components {
|
|
|
3668
4230
|
data: components["schemas"]["PostResponseDto"][];
|
|
3669
4231
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3670
4232
|
};
|
|
4233
|
+
PostReactionEntryDto: {
|
|
4234
|
+
/**
|
|
4235
|
+
* @description Reactor actor UUID.
|
|
4236
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4237
|
+
*/
|
|
4238
|
+
actor_id: string;
|
|
4239
|
+
/**
|
|
4240
|
+
* @description Owning community UUID.
|
|
4241
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
4242
|
+
*/
|
|
4243
|
+
community_id: string;
|
|
4244
|
+
/**
|
|
4245
|
+
* @description ISO timestamp.
|
|
4246
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
4247
|
+
*/
|
|
4248
|
+
created_at: string;
|
|
4249
|
+
/**
|
|
4250
|
+
* @description Post UUID.
|
|
4251
|
+
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
4252
|
+
*/
|
|
4253
|
+
post_id: string;
|
|
4254
|
+
/**
|
|
4255
|
+
* @description Reaction type label.
|
|
4256
|
+
* @example like
|
|
4257
|
+
*/
|
|
4258
|
+
type: string;
|
|
4259
|
+
};
|
|
4260
|
+
PostReactionListResponseDto: {
|
|
4261
|
+
data: components["schemas"]["PostReactionEntryDto"][];
|
|
4262
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4263
|
+
};
|
|
3671
4264
|
PostResponseDto: {
|
|
3672
4265
|
/**
|
|
3673
4266
|
* @description Author actor UUID.
|
|
@@ -3837,6 +4430,52 @@ interface components {
|
|
|
3837
4430
|
PostSearchResponseDto: {
|
|
3838
4431
|
/** @description Up to `limit` (default 20, max 50) hits. Not paginated in v1. */
|
|
3839
4432
|
data: components["schemas"]["PostSearchHitDto"][];
|
|
4433
|
+
/** @description Always `null` — this lane returns a single bounded, ranked page (no cursor in v1). Present for envelope consistency. */
|
|
4434
|
+
pagination: components["schemas"]["PaginationResponseDto"] | null;
|
|
4435
|
+
};
|
|
4436
|
+
PostStateRequestDto: {
|
|
4437
|
+
/**
|
|
4438
|
+
* @description UUIDs of the posts to hydrate viewer state for. Capped at 200 (matches the batch-views precedent); ids that are unknown, removed, or from another community resolve to the empty state instead of failing the batch.
|
|
4439
|
+
* @example [
|
|
4440
|
+
* "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
|
4441
|
+
* "cccccccc-cccc-cccc-cccc-cccccccccccc"
|
|
4442
|
+
* ]
|
|
4443
|
+
*/
|
|
4444
|
+
post_ids: string[];
|
|
4445
|
+
};
|
|
4446
|
+
PostStateResponseDto: {
|
|
4447
|
+
/** @description One entry per requested post id (de-duplicated, request order). Unknown / cross-community ids resolve to the empty state. */
|
|
4448
|
+
data: components["schemas"]["PostViewerStateEntryDto"][];
|
|
4449
|
+
};
|
|
4450
|
+
PostViewerStateEntryDto: {
|
|
4451
|
+
/**
|
|
4452
|
+
* @description The viewer has bookmarked the post.
|
|
4453
|
+
* @example true
|
|
4454
|
+
*/
|
|
4455
|
+
bookmarked: boolean;
|
|
4456
|
+
/**
|
|
4457
|
+
* @description Post UUID this entry describes.
|
|
4458
|
+
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
4459
|
+
*/
|
|
4460
|
+
post_id: string;
|
|
4461
|
+
/**
|
|
4462
|
+
* @description Reaction types the viewer currently has on the post, sorted ascending. Empty when the viewer has not reacted.
|
|
4463
|
+
* @example [
|
|
4464
|
+
* "fire",
|
|
4465
|
+
* "like"
|
|
4466
|
+
* ]
|
|
4467
|
+
*/
|
|
4468
|
+
reacted_types: string[];
|
|
4469
|
+
/**
|
|
4470
|
+
* @description The viewer has a currently-published repost of the post.
|
|
4471
|
+
* @example false
|
|
4472
|
+
*/
|
|
4473
|
+
reposted: boolean;
|
|
4474
|
+
/**
|
|
4475
|
+
* @description Poll option index the viewer voted for; `null` when the viewer has not voted (or the post has no poll).
|
|
4476
|
+
* @example null
|
|
4477
|
+
*/
|
|
4478
|
+
voted_option: number | null;
|
|
3840
4479
|
};
|
|
3841
4480
|
ReactionCountsResponseDto: {
|
|
3842
4481
|
/**
|
|
@@ -3907,10 +4546,16 @@ interface components {
|
|
|
3907
4546
|
};
|
|
3908
4547
|
RecordViewDto: {
|
|
3909
4548
|
/**
|
|
3910
|
-
* @description Viewer social actor UUID.
|
|
4549
|
+
* @description Viewer social actor UUID. Standardized name (task 008 / G11).
|
|
3911
4550
|
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
3912
4551
|
*/
|
|
3913
|
-
|
|
4552
|
+
actor_id?: string;
|
|
4553
|
+
/**
|
|
4554
|
+
* @deprecated
|
|
4555
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
4556
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4557
|
+
*/
|
|
4558
|
+
viewer_actor_id?: string;
|
|
3914
4559
|
};
|
|
3915
4560
|
RecordViewsDto: {
|
|
3916
4561
|
/**
|
|
@@ -3922,19 +4567,77 @@ interface components {
|
|
|
3922
4567
|
*/
|
|
3923
4568
|
post_ids: string[];
|
|
3924
4569
|
};
|
|
4570
|
+
RelationshipEntryDto: {
|
|
4571
|
+
/**
|
|
4572
|
+
* @description This actor has blocked the source actor — surface it BEFORE attempting a follow/react write instead of handling the 409.
|
|
4573
|
+
* @example false
|
|
4574
|
+
*/
|
|
4575
|
+
blocked_by: boolean;
|
|
4576
|
+
/**
|
|
4577
|
+
* @description The source actor has blocked this actor.
|
|
4578
|
+
* @example false
|
|
4579
|
+
*/
|
|
4580
|
+
blocking: boolean;
|
|
4581
|
+
/**
|
|
4582
|
+
* @description This actor is on the source actor's close-friend list.
|
|
4583
|
+
* @example false
|
|
4584
|
+
*/
|
|
4585
|
+
close_friend: boolean;
|
|
4586
|
+
/**
|
|
4587
|
+
* @description Destination actor UUID this entry describes.
|
|
4588
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4589
|
+
*/
|
|
4590
|
+
dst_actor_id: string;
|
|
4591
|
+
/**
|
|
4592
|
+
* @description This actor follows the source actor.
|
|
4593
|
+
* @example false
|
|
4594
|
+
*/
|
|
4595
|
+
followed_by: boolean;
|
|
4596
|
+
/**
|
|
4597
|
+
* @description The source actor follows this actor.
|
|
4598
|
+
* @example true
|
|
4599
|
+
*/
|
|
4600
|
+
following: boolean;
|
|
4601
|
+
/**
|
|
4602
|
+
* @description The source actor has muted this actor.
|
|
4603
|
+
* @example false
|
|
4604
|
+
*/
|
|
4605
|
+
muting: boolean;
|
|
4606
|
+
/**
|
|
4607
|
+
* @description The source actor has restricted this actor.
|
|
4608
|
+
* @example false
|
|
4609
|
+
*/
|
|
4610
|
+
restricting: boolean;
|
|
4611
|
+
};
|
|
4612
|
+
RelationshipListResponseDto: {
|
|
4613
|
+
/** @description One entry per requested id (de-duplicated, request order). Unknown ids resolve to all-false flags. */
|
|
4614
|
+
data: components["schemas"]["RelationshipEntryDto"][];
|
|
4615
|
+
};
|
|
3925
4616
|
RemoveListMemberDto: {
|
|
3926
4617
|
/**
|
|
3927
|
-
* @
|
|
4618
|
+
* @deprecated
|
|
4619
|
+
* @description DEPRECATED — use `?actor_id=`. Caller social actor UUID (must equal the list owner).
|
|
3928
4620
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3929
4621
|
*/
|
|
3930
|
-
|
|
4622
|
+
actor_id?: string;
|
|
4623
|
+
/**
|
|
4624
|
+
* @deprecated
|
|
4625
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
4626
|
+
*/
|
|
4627
|
+
caller_actor_id?: string;
|
|
3931
4628
|
};
|
|
3932
4629
|
RemoveMemberDto: {
|
|
3933
4630
|
/**
|
|
3934
|
-
* @
|
|
4631
|
+
* @deprecated
|
|
4632
|
+
* @description DEPRECATED — use `?actor_id=`. Acting actor UUID (equal to the target for self-leave).
|
|
3935
4633
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3936
4634
|
*/
|
|
3937
|
-
|
|
4635
|
+
actor_id?: string;
|
|
4636
|
+
/**
|
|
4637
|
+
* @deprecated
|
|
4638
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
4639
|
+
*/
|
|
4640
|
+
caller_actor_id?: string;
|
|
3938
4641
|
};
|
|
3939
4642
|
RenameGroupDto: {
|
|
3940
4643
|
/**
|
|
@@ -3951,6 +4654,11 @@ interface components {
|
|
|
3951
4654
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3952
4655
|
};
|
|
3953
4656
|
SendMessageDto: {
|
|
4657
|
+
/**
|
|
4658
|
+
* @description The sender — social actor UUID. Standardized name (task 008 / G11); the persisted `sender_id` defaults from it.
|
|
4659
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4660
|
+
*/
|
|
4661
|
+
actor_id?: string;
|
|
3954
4662
|
attachments?: components["schemas"]["DirectMessageAttachmentDto"][];
|
|
3955
4663
|
/**
|
|
3956
4664
|
* @description Message body. Required when `kind="text"`. 1..10000 chars after trim.
|
|
@@ -3965,10 +4673,11 @@ interface components {
|
|
|
3965
4673
|
/** @description Threaded inline reply target. */
|
|
3966
4674
|
reply_to_id?: string | null;
|
|
3967
4675
|
/**
|
|
3968
|
-
* @
|
|
4676
|
+
* @deprecated
|
|
4677
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
3969
4678
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3970
4679
|
*/
|
|
3971
|
-
sender_id
|
|
4680
|
+
sender_id?: string;
|
|
3972
4681
|
};
|
|
3973
4682
|
StoryTrayEntryResponse: {
|
|
3974
4683
|
/**
|
|
@@ -4009,6 +4718,8 @@ interface components {
|
|
|
4009
4718
|
};
|
|
4010
4719
|
StoryTrayResponse: {
|
|
4011
4720
|
data: components["schemas"]["StoryTrayEntryResponse"][];
|
|
4721
|
+
/** @description Always `null` — the tray is a single bounded page (≤200 entries, no cursor in v1). The key is present for envelope consistency with cursor-paginated lists (task 008 / G13). */
|
|
4722
|
+
pagination: components["schemas"]["PaginationResponseDto"] | null;
|
|
4012
4723
|
};
|
|
4013
4724
|
StoryViewerResponse: {
|
|
4014
4725
|
/**
|
|
@@ -4058,6 +4769,8 @@ interface components {
|
|
|
4058
4769
|
SuggestedFollowsListResponseDto: {
|
|
4059
4770
|
/** @description Ordered candidates. FoF candidates are returned first (highest count first); cold-start fallbacks fill any remaining slots up to the requested limit. */
|
|
4060
4771
|
data: components["schemas"]["SuggestedFollowResponseDto"][];
|
|
4772
|
+
/** @description Always `null` — suggestions are a single bounded, scored page (no cursor in v1). Present for envelope consistency (task 008 / G13). */
|
|
4773
|
+
pagination: components["schemas"]["PaginationResponseDto"] | null;
|
|
4061
4774
|
};
|
|
4062
4775
|
UnreadCountResponse: {
|
|
4063
4776
|
/**
|
|
@@ -4110,7 +4823,8 @@ interface components {
|
|
|
4110
4823
|
UpdateCommunityDto: {
|
|
4111
4824
|
description?: string | null;
|
|
4112
4825
|
display_name?: string;
|
|
4113
|
-
settings
|
|
4826
|
+
/** @description Replaces the settings blob. Supported keys are typed on CommunitySettingsDto; unrecognized keys are stored verbatim but not consumed. */
|
|
4827
|
+
settings?: components["schemas"]["CommunitySettingsDto"];
|
|
4114
4828
|
/** @enum {string} */
|
|
4115
4829
|
status?: "active" | "suspended" | "archived";
|
|
4116
4830
|
};
|
|
@@ -4140,16 +4854,22 @@ interface components {
|
|
|
4140
4854
|
role: "member" | "admin";
|
|
4141
4855
|
};
|
|
4142
4856
|
UpdateMessageDto: {
|
|
4857
|
+
/**
|
|
4858
|
+
* @description The sender — must match the message's sender_id. Standardized name (task 008 / G11).
|
|
4859
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4860
|
+
*/
|
|
4861
|
+
actor_id?: string;
|
|
4143
4862
|
/**
|
|
4144
4863
|
* @description Updated body.
|
|
4145
4864
|
* @example edited
|
|
4146
4865
|
*/
|
|
4147
4866
|
body: string;
|
|
4148
4867
|
/**
|
|
4149
|
-
* @
|
|
4868
|
+
* @deprecated
|
|
4869
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
4150
4870
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4151
4871
|
*/
|
|
4152
|
-
sender_id
|
|
4872
|
+
sender_id?: string;
|
|
4153
4873
|
};
|
|
4154
4874
|
UpdateNotificationDto: {
|
|
4155
4875
|
/**
|
|
@@ -4189,8 +4909,13 @@ interface components {
|
|
|
4189
4909
|
visibility?: "public" | "followers" | "close_friends" | "private";
|
|
4190
4910
|
};
|
|
4191
4911
|
UpdateWebhookDto: {
|
|
4192
|
-
/**
|
|
4193
|
-
|
|
4912
|
+
/**
|
|
4913
|
+
* @description Set `false` to re-enable a disabled webhook (clears the auto-disable state and resets the failure streak — no secret rotation required). Set `true` to disable it manually.
|
|
4914
|
+
* @example false
|
|
4915
|
+
*/
|
|
4916
|
+
disabled?: boolean;
|
|
4917
|
+
/** @description New subscription set. Unknown values are rejected with a 400 naming the valid set. */
|
|
4918
|
+
event_types?: ("post.created" | "post.updated" | "post.deleted" | "post.reaction.created" | "repost.created" | "comment.created" | "comment.updated" | "comment.deleted" | "comment.reaction.created" | "edge.follow.created" | "edge.follow.deleted" | "flag.created" | "flag.updated" | "moderation.action.applied" | "actor.updated" | "dm.message.created")[];
|
|
4194
4919
|
/** @description New subscriber URL. */
|
|
4195
4920
|
url?: string;
|
|
4196
4921
|
};
|
|
@@ -4226,6 +4951,21 @@ interface components {
|
|
|
4226
4951
|
*/
|
|
4227
4952
|
created: boolean;
|
|
4228
4953
|
};
|
|
4954
|
+
WebhookEventTypesResponseDto: {
|
|
4955
|
+
/**
|
|
4956
|
+
* @description Every event type a webhook can subscribe to, in catalog order.
|
|
4957
|
+
* @example [
|
|
4958
|
+
* "post.created",
|
|
4959
|
+
* "post.deleted",
|
|
4960
|
+
* "comment.created"
|
|
4961
|
+
* ]
|
|
4962
|
+
*/
|
|
4963
|
+
data: ("post.created" | "post.updated" | "post.deleted" | "post.reaction.created" | "repost.created" | "comment.created" | "comment.updated" | "comment.deleted" | "comment.reaction.created" | "edge.follow.created" | "edge.follow.deleted" | "flag.created" | "flag.updated" | "moderation.action.applied" | "actor.updated" | "dm.message.created")[];
|
|
4964
|
+
};
|
|
4965
|
+
WebhookListResponseDto: {
|
|
4966
|
+
/** @description Every webhook on the community — disabled rows included, so auto-disabled subscribers stay discoverable. */
|
|
4967
|
+
data: components["schemas"]["WebhookResponseDto"][];
|
|
4968
|
+
};
|
|
4229
4969
|
WebhookResponseDto: {
|
|
4230
4970
|
/**
|
|
4231
4971
|
* @description Owning community UUID.
|
|
@@ -4253,13 +4993,13 @@ interface components {
|
|
|
4253
4993
|
*/
|
|
4254
4994
|
disabled_reason: string | null;
|
|
4255
4995
|
/**
|
|
4256
|
-
* @description Subscribed event types. Each item is one of the social event names
|
|
4996
|
+
* @description Subscribed event types. Each item is one of the social event names — see GET /v1/webhook-event-types for the live catalog.
|
|
4257
4997
|
* @example [
|
|
4258
4998
|
* "post.created",
|
|
4259
4999
|
* "comment.created"
|
|
4260
5000
|
* ]
|
|
4261
5001
|
*/
|
|
4262
|
-
event_types:
|
|
5002
|
+
event_types: ("post.created" | "post.updated" | "post.deleted" | "post.reaction.created" | "repost.created" | "comment.created" | "comment.updated" | "comment.deleted" | "comment.reaction.created" | "edge.follow.created" | "edge.follow.deleted" | "flag.created" | "flag.updated" | "moderation.action.applied" | "actor.updated" | "dm.message.created")[];
|
|
4263
5003
|
/**
|
|
4264
5004
|
* @description Webhook UUID.
|
|
4265
5005
|
* @example wwwwwwww-0000-0000-0000-000000000001
|
|
@@ -4302,10 +5042,12 @@ interface operations {
|
|
|
4302
5042
|
ActorController_list: {
|
|
4303
5043
|
parameters: {
|
|
4304
5044
|
query?: {
|
|
4305
|
-
/** @description Page size; capped at 200. */
|
|
5045
|
+
/** @description Page size; capped at 200. Ignored when `ids` is passed. */
|
|
4306
5046
|
limit?: number;
|
|
4307
|
-
/** @description Opaque cursor from the previous page's `pagination.next_cursor`. */
|
|
5047
|
+
/** @description Opaque cursor from the previous page's `pagination.next_cursor`. Ignored when `ids` is passed. */
|
|
4308
5048
|
cursor?: string;
|
|
5049
|
+
/** @description Comma-separated actor UUIDs (max 100, de-duplicated) to batch-fetch. Returns matching actors in request order; unknown ids are silently omitted. */
|
|
5050
|
+
ids?: string;
|
|
4309
5051
|
};
|
|
4310
5052
|
header?: never;
|
|
4311
5053
|
path: {
|
|
@@ -4316,7 +5058,7 @@ interface operations {
|
|
|
4316
5058
|
};
|
|
4317
5059
|
requestBody?: never;
|
|
4318
5060
|
responses: {
|
|
4319
|
-
/** @description Page of actors with `next_cursor` + `has_more
|
|
5061
|
+
/** @description Page of actors with `next_cursor` + `has_more` (batch-fetch responses always report `has_more: false`). */
|
|
4320
5062
|
200: {
|
|
4321
5063
|
headers: {
|
|
4322
5064
|
[name: string]: unknown;
|
|
@@ -4325,7 +5067,7 @@ interface operations {
|
|
|
4325
5067
|
"application/json": components["schemas"]["ActorPageResponseDto"];
|
|
4326
5068
|
};
|
|
4327
5069
|
};
|
|
4328
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
5070
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or invalid `ids` (`INVALID_ID_LIST` — empty / non-UUID entry; `TOO_MANY_IDS` — over 100). */
|
|
4329
5071
|
400: {
|
|
4330
5072
|
headers: {
|
|
4331
5073
|
[name: string]: unknown;
|
|
@@ -4408,6 +5150,114 @@ interface operations {
|
|
|
4408
5150
|
};
|
|
4409
5151
|
};
|
|
4410
5152
|
};
|
|
5153
|
+
ActorController_batchUpsert: {
|
|
5154
|
+
parameters: {
|
|
5155
|
+
query?: never;
|
|
5156
|
+
header?: never;
|
|
5157
|
+
path: {
|
|
5158
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
5159
|
+
communityId: string;
|
|
5160
|
+
};
|
|
5161
|
+
cookie?: never;
|
|
5162
|
+
};
|
|
5163
|
+
requestBody: {
|
|
5164
|
+
content: {
|
|
5165
|
+
"application/json": components["schemas"]["BatchUpsertActorsDto"];
|
|
5166
|
+
};
|
|
5167
|
+
};
|
|
5168
|
+
responses: {
|
|
5169
|
+
/** @description Per-item results, request order. `succeeded` + `failed` summarise the batch. */
|
|
5170
|
+
201: {
|
|
5171
|
+
headers: {
|
|
5172
|
+
[name: string]: unknown;
|
|
5173
|
+
};
|
|
5174
|
+
content: {
|
|
5175
|
+
"application/json": components["schemas"]["BatchActorsResponseDto"];
|
|
5176
|
+
};
|
|
5177
|
+
};
|
|
5178
|
+
/** @description Envelope validation failure: `actors` missing, empty, over 200 items, or an item shape invalid. */
|
|
5179
|
+
400: {
|
|
5180
|
+
headers: {
|
|
5181
|
+
[name: string]: unknown;
|
|
5182
|
+
};
|
|
5183
|
+
content: {
|
|
5184
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5185
|
+
};
|
|
5186
|
+
};
|
|
5187
|
+
/** @description PAK lacks `social.create` for this community. */
|
|
5188
|
+
403: {
|
|
5189
|
+
headers: {
|
|
5190
|
+
[name: string]: unknown;
|
|
5191
|
+
};
|
|
5192
|
+
content: {
|
|
5193
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5194
|
+
};
|
|
5195
|
+
};
|
|
5196
|
+
/** @description Community not found in the PAK's workspace. */
|
|
5197
|
+
404: {
|
|
5198
|
+
headers: {
|
|
5199
|
+
[name: string]: unknown;
|
|
5200
|
+
};
|
|
5201
|
+
content: {
|
|
5202
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5203
|
+
};
|
|
5204
|
+
};
|
|
5205
|
+
};
|
|
5206
|
+
};
|
|
5207
|
+
ActorController_batchGetByExternal: {
|
|
5208
|
+
parameters: {
|
|
5209
|
+
query?: never;
|
|
5210
|
+
header?: never;
|
|
5211
|
+
path: {
|
|
5212
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
5213
|
+
communityId: string;
|
|
5214
|
+
};
|
|
5215
|
+
cookie?: never;
|
|
5216
|
+
};
|
|
5217
|
+
requestBody: {
|
|
5218
|
+
content: {
|
|
5219
|
+
"application/json": components["schemas"]["BatchExternalIdsDto"];
|
|
5220
|
+
};
|
|
5221
|
+
};
|
|
5222
|
+
responses: {
|
|
5223
|
+
/** @description Actors found (request order, de-duplicated) plus the `missing[]` external_ids. */
|
|
5224
|
+
200: {
|
|
5225
|
+
headers: {
|
|
5226
|
+
[name: string]: unknown;
|
|
5227
|
+
};
|
|
5228
|
+
content: {
|
|
5229
|
+
"application/json": components["schemas"]["ActorsByExternalBatchResponseDto"];
|
|
5230
|
+
};
|
|
5231
|
+
};
|
|
5232
|
+
/** @description `external_ids` missing, empty, over 200 items, or an entry exceeding 256 chars. */
|
|
5233
|
+
400: {
|
|
5234
|
+
headers: {
|
|
5235
|
+
[name: string]: unknown;
|
|
5236
|
+
};
|
|
5237
|
+
content: {
|
|
5238
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5239
|
+
};
|
|
5240
|
+
};
|
|
5241
|
+
/** @description PAK lacks `social.read`. */
|
|
5242
|
+
403: {
|
|
5243
|
+
headers: {
|
|
5244
|
+
[name: string]: unknown;
|
|
5245
|
+
};
|
|
5246
|
+
content: {
|
|
5247
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5248
|
+
};
|
|
5249
|
+
};
|
|
5250
|
+
/** @description Community not found in the PAK's workspace. */
|
|
5251
|
+
404: {
|
|
5252
|
+
headers: {
|
|
5253
|
+
[name: string]: unknown;
|
|
5254
|
+
};
|
|
5255
|
+
content: {
|
|
5256
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5257
|
+
};
|
|
5258
|
+
};
|
|
5259
|
+
};
|
|
5260
|
+
};
|
|
4411
5261
|
ActorController_getByExternal: {
|
|
4412
5262
|
parameters: {
|
|
4413
5263
|
query?: never;
|
|
@@ -4587,6 +5437,8 @@ interface operations {
|
|
|
4587
5437
|
query?: {
|
|
4588
5438
|
limit?: number;
|
|
4589
5439
|
cursor?: string;
|
|
5440
|
+
/** @description Stripe-style expansion. Pass the response field to expand (supported here: `dst_actor`) and the full object is nested under that field on every item. Omit for the unexpanded (default) shape. Unsupported values return 400 `INVALID_EXPAND`. */
|
|
5441
|
+
expand?: "dst_actor";
|
|
4590
5442
|
};
|
|
4591
5443
|
header?: never;
|
|
4592
5444
|
path: {
|
|
@@ -4605,10 +5457,10 @@ interface operations {
|
|
|
4605
5457
|
[name: string]: unknown;
|
|
4606
5458
|
};
|
|
4607
5459
|
content: {
|
|
4608
|
-
"application/json": components["schemas"]["
|
|
5460
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
4609
5461
|
};
|
|
4610
5462
|
};
|
|
4611
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
5463
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or unsupported `expand` value (`INVALID_EXPAND`). */
|
|
4612
5464
|
400: {
|
|
4613
5465
|
headers: {
|
|
4614
5466
|
[name: string]: unknown;
|
|
@@ -4891,6 +5743,8 @@ interface operations {
|
|
|
4891
5743
|
query?: {
|
|
4892
5744
|
limit?: number;
|
|
4893
5745
|
cursor?: string;
|
|
5746
|
+
/** @description Stripe-style expansion. Pass the response field to expand (supported here: `src_actor`) and the full object is nested under that field on every item. Omit for the unexpanded (default) shape. Unsupported values return 400 `INVALID_EXPAND`. */
|
|
5747
|
+
expand?: "src_actor";
|
|
4894
5748
|
};
|
|
4895
5749
|
header?: never;
|
|
4896
5750
|
path: {
|
|
@@ -4909,10 +5763,10 @@ interface operations {
|
|
|
4909
5763
|
[name: string]: unknown;
|
|
4910
5764
|
};
|
|
4911
5765
|
content: {
|
|
4912
|
-
"application/json": components["schemas"]["
|
|
5766
|
+
"application/json": components["schemas"]["FollowerEdgeListResponseDto"];
|
|
4913
5767
|
};
|
|
4914
5768
|
};
|
|
4915
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
5769
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or unsupported `expand` value (`INVALID_EXPAND`). */
|
|
4916
5770
|
400: {
|
|
4917
5771
|
headers: {
|
|
4918
5772
|
[name: string]: unknown;
|
|
@@ -4946,6 +5800,8 @@ interface operations {
|
|
|
4946
5800
|
query?: {
|
|
4947
5801
|
limit?: number;
|
|
4948
5802
|
cursor?: string;
|
|
5803
|
+
/** @description Stripe-style expansion. Pass the response field to expand (supported here: `dst_actor`) and the full object is nested under that field on every item. Omit for the unexpanded (default) shape. Unsupported values return 400 `INVALID_EXPAND`. */
|
|
5804
|
+
expand?: "dst_actor";
|
|
4949
5805
|
};
|
|
4950
5806
|
header?: never;
|
|
4951
5807
|
path: {
|
|
@@ -4964,10 +5820,10 @@ interface operations {
|
|
|
4964
5820
|
[name: string]: unknown;
|
|
4965
5821
|
};
|
|
4966
5822
|
content: {
|
|
4967
|
-
"application/json": components["schemas"]["
|
|
5823
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
4968
5824
|
};
|
|
4969
5825
|
};
|
|
4970
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
5826
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or unsupported `expand` value (`INVALID_EXPAND`). */
|
|
4971
5827
|
400: {
|
|
4972
5828
|
headers: {
|
|
4973
5829
|
[name: string]: unknown;
|
|
@@ -5158,6 +6014,11 @@ interface operations {
|
|
|
5158
6014
|
/** @description Cursor from the prior page. */
|
|
5159
6015
|
cursor?: string;
|
|
5160
6016
|
/** @description Requester social actor UUID. Without it, only public pinned posts surface. */
|
|
6017
|
+
actor_id?: string;
|
|
6018
|
+
/**
|
|
6019
|
+
* @deprecated
|
|
6020
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
6021
|
+
*/
|
|
5161
6022
|
requester_id?: string;
|
|
5162
6023
|
};
|
|
5163
6024
|
header?: never;
|
|
@@ -5249,7 +6110,12 @@ interface operations {
|
|
|
5249
6110
|
};
|
|
5250
6111
|
MutedTermController_list: {
|
|
5251
6112
|
parameters: {
|
|
5252
|
-
query?:
|
|
6113
|
+
query?: {
|
|
6114
|
+
/** @description Page size (default 50, max 200). */
|
|
6115
|
+
limit?: string;
|
|
6116
|
+
/** @description Opaque cursor from a prior page's `pagination.next_cursor`. */
|
|
6117
|
+
cursor?: string;
|
|
6118
|
+
};
|
|
5253
6119
|
header?: never;
|
|
5254
6120
|
path: {
|
|
5255
6121
|
/** @description Social community UUID. */
|
|
@@ -5261,13 +6127,13 @@ interface operations {
|
|
|
5261
6127
|
};
|
|
5262
6128
|
requestBody?: never;
|
|
5263
6129
|
responses: {
|
|
5264
|
-
/** @description Active muted terms. */
|
|
6130
|
+
/** @description Active muted terms, paginated. */
|
|
5265
6131
|
200: {
|
|
5266
6132
|
headers: {
|
|
5267
6133
|
[name: string]: unknown;
|
|
5268
6134
|
};
|
|
5269
6135
|
content: {
|
|
5270
|
-
"application/json": components["schemas"]["
|
|
6136
|
+
"application/json": components["schemas"]["MutedTermListResponseDto"];
|
|
5271
6137
|
};
|
|
5272
6138
|
};
|
|
5273
6139
|
/** @description PAK lacks `social.list`. */
|
|
@@ -5394,6 +6260,8 @@ interface operations {
|
|
|
5394
6260
|
query?: {
|
|
5395
6261
|
limit?: number;
|
|
5396
6262
|
cursor?: string;
|
|
6263
|
+
/** @description Stripe-style expansion. Pass the response field to expand (supported here: `dst_actor`) and the full object is nested under that field on every item. Omit for the unexpanded (default) shape. Unsupported values return 400 `INVALID_EXPAND`. */
|
|
6264
|
+
expand?: "dst_actor";
|
|
5397
6265
|
};
|
|
5398
6266
|
header?: never;
|
|
5399
6267
|
path: {
|
|
@@ -5412,10 +6280,10 @@ interface operations {
|
|
|
5412
6280
|
[name: string]: unknown;
|
|
5413
6281
|
};
|
|
5414
6282
|
content: {
|
|
5415
|
-
"application/json": components["schemas"]["
|
|
6283
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
5416
6284
|
};
|
|
5417
6285
|
};
|
|
5418
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
6286
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or unsupported `expand` value (`INVALID_EXPAND`). */
|
|
5419
6287
|
400: {
|
|
5420
6288
|
headers: {
|
|
5421
6289
|
[name: string]: unknown;
|
|
@@ -5752,11 +6620,69 @@ interface operations {
|
|
|
5752
6620
|
};
|
|
5753
6621
|
};
|
|
5754
6622
|
};
|
|
6623
|
+
ViewerStateController_postState: {
|
|
6624
|
+
parameters: {
|
|
6625
|
+
query?: never;
|
|
6626
|
+
header?: never;
|
|
6627
|
+
path: {
|
|
6628
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6629
|
+
communityId: string;
|
|
6630
|
+
/** @description Viewer actor UUID — the perspective all state is computed from. */
|
|
6631
|
+
actorId: string;
|
|
6632
|
+
};
|
|
6633
|
+
cookie?: never;
|
|
6634
|
+
};
|
|
6635
|
+
requestBody: {
|
|
6636
|
+
content: {
|
|
6637
|
+
"application/json": components["schemas"]["PostStateRequestDto"];
|
|
6638
|
+
};
|
|
6639
|
+
};
|
|
6640
|
+
responses: {
|
|
6641
|
+
/** @description One state entry per requested post id. */
|
|
6642
|
+
200: {
|
|
6643
|
+
headers: {
|
|
6644
|
+
[name: string]: unknown;
|
|
6645
|
+
};
|
|
6646
|
+
content: {
|
|
6647
|
+
"application/json": components["schemas"]["PostStateResponseDto"];
|
|
6648
|
+
};
|
|
6649
|
+
};
|
|
6650
|
+
/** @description Empty `post_ids`, more than 200 ids, or a non-UUID in the list. */
|
|
6651
|
+
400: {
|
|
6652
|
+
headers: {
|
|
6653
|
+
[name: string]: unknown;
|
|
6654
|
+
};
|
|
6655
|
+
content: {
|
|
6656
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6657
|
+
};
|
|
6658
|
+
};
|
|
6659
|
+
/** @description PAK lacks `social.list`. */
|
|
6660
|
+
403: {
|
|
6661
|
+
headers: {
|
|
6662
|
+
[name: string]: unknown;
|
|
6663
|
+
};
|
|
6664
|
+
content: {
|
|
6665
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6666
|
+
};
|
|
6667
|
+
};
|
|
6668
|
+
/** @description Community or actor not found. */
|
|
6669
|
+
404: {
|
|
6670
|
+
headers: {
|
|
6671
|
+
[name: string]: unknown;
|
|
6672
|
+
};
|
|
6673
|
+
content: {
|
|
6674
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6675
|
+
};
|
|
6676
|
+
};
|
|
6677
|
+
};
|
|
6678
|
+
};
|
|
5755
6679
|
EdgeController_listRestricts: {
|
|
5756
6680
|
parameters: {
|
|
5757
6681
|
query?: {
|
|
5758
6682
|
limit?: number;
|
|
5759
6683
|
cursor?: string;
|
|
6684
|
+
/** @description Stripe-style expansion. Pass the response field to expand (supported here: `dst_actor`) and the full object is nested under that field on every item. Omit for the unexpanded (default) shape. Unsupported values return 400 `INVALID_EXPAND`. */
|
|
6685
|
+
expand?: "dst_actor";
|
|
5760
6686
|
};
|
|
5761
6687
|
header?: never;
|
|
5762
6688
|
path: {
|
|
@@ -5775,10 +6701,10 @@ interface operations {
|
|
|
5775
6701
|
[name: string]: unknown;
|
|
5776
6702
|
};
|
|
5777
6703
|
content: {
|
|
5778
|
-
"application/json": components["schemas"]["
|
|
6704
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
5779
6705
|
};
|
|
5780
6706
|
};
|
|
5781
|
-
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
6707
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. Or unsupported `expand` value (`INVALID_EXPAND`). */
|
|
5782
6708
|
400: {
|
|
5783
6709
|
headers: {
|
|
5784
6710
|
[name: string]: unknown;
|
|
@@ -5913,13 +6839,68 @@ interface operations {
|
|
|
5913
6839
|
};
|
|
5914
6840
|
requestBody?: never;
|
|
5915
6841
|
responses: {
|
|
5916
|
-
/** @description Ordered candidates. */
|
|
6842
|
+
/** @description Ordered candidates. */
|
|
6843
|
+
200: {
|
|
6844
|
+
headers: {
|
|
6845
|
+
[name: string]: unknown;
|
|
6846
|
+
};
|
|
6847
|
+
content: {
|
|
6848
|
+
"application/json": components["schemas"]["SuggestedFollowsListResponseDto"];
|
|
6849
|
+
};
|
|
6850
|
+
};
|
|
6851
|
+
/** @description PAK lacks `social.list`. */
|
|
6852
|
+
403: {
|
|
6853
|
+
headers: {
|
|
6854
|
+
[name: string]: unknown;
|
|
6855
|
+
};
|
|
6856
|
+
content: {
|
|
6857
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6858
|
+
};
|
|
6859
|
+
};
|
|
6860
|
+
/** @description Community or actor not found (or belongs to a different community). */
|
|
6861
|
+
404: {
|
|
6862
|
+
headers: {
|
|
6863
|
+
[name: string]: unknown;
|
|
6864
|
+
};
|
|
6865
|
+
content: {
|
|
6866
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6867
|
+
};
|
|
6868
|
+
};
|
|
6869
|
+
};
|
|
6870
|
+
};
|
|
6871
|
+
EdgeController_relationships: {
|
|
6872
|
+
parameters: {
|
|
6873
|
+
query: {
|
|
6874
|
+
/** @description Comma-separated destination actor UUIDs (1-100). */
|
|
6875
|
+
with: string;
|
|
6876
|
+
};
|
|
6877
|
+
header?: never;
|
|
6878
|
+
path: {
|
|
6879
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6880
|
+
communityId: string;
|
|
6881
|
+
/** @description Source actor UUID — the perspective all flags are computed from. */
|
|
6882
|
+
srcActorId: string;
|
|
6883
|
+
};
|
|
6884
|
+
cookie?: never;
|
|
6885
|
+
};
|
|
6886
|
+
requestBody?: never;
|
|
6887
|
+
responses: {
|
|
6888
|
+
/** @description One relationship entry per requested id. */
|
|
5917
6889
|
200: {
|
|
5918
6890
|
headers: {
|
|
5919
6891
|
[name: string]: unknown;
|
|
5920
6892
|
};
|
|
5921
6893
|
content: {
|
|
5922
|
-
"application/json": components["schemas"]["
|
|
6894
|
+
"application/json": components["schemas"]["RelationshipListResponseDto"];
|
|
6895
|
+
};
|
|
6896
|
+
};
|
|
6897
|
+
/** @description Missing `with`, more than 100 ids, or a non-UUID value in the list. */
|
|
6898
|
+
400: {
|
|
6899
|
+
headers: {
|
|
6900
|
+
[name: string]: unknown;
|
|
6901
|
+
};
|
|
6902
|
+
content: {
|
|
6903
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5923
6904
|
};
|
|
5924
6905
|
};
|
|
5925
6906
|
/** @description PAK lacks `social.list`. */
|
|
@@ -5931,7 +6912,7 @@ interface operations {
|
|
|
5931
6912
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5932
6913
|
};
|
|
5933
6914
|
};
|
|
5934
|
-
/** @description Community or actor not found
|
|
6915
|
+
/** @description Community or source actor not found. */
|
|
5935
6916
|
404: {
|
|
5936
6917
|
headers: {
|
|
5937
6918
|
[name: string]: unknown;
|
|
@@ -6212,7 +7193,10 @@ interface operations {
|
|
|
6212
7193
|
ConversationController_create: {
|
|
6213
7194
|
parameters: {
|
|
6214
7195
|
query?: never;
|
|
6215
|
-
header?:
|
|
7196
|
+
header?: {
|
|
7197
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Mostly useful for `kind="group"` (direct conversations are get-or-create by participant pair anyway). Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
7198
|
+
"Idempotency-Key"?: string;
|
|
7199
|
+
};
|
|
6216
7200
|
path: {
|
|
6217
7201
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6218
7202
|
communityId: string;
|
|
@@ -6234,7 +7218,7 @@ interface operations {
|
|
|
6234
7218
|
"application/json": components["schemas"]["ConversationResponseDto"];
|
|
6235
7219
|
};
|
|
6236
7220
|
};
|
|
6237
|
-
/** @description Validation failure (missing recipient for direct, missing actor_ids for group, two equal actor ids). */
|
|
7221
|
+
/** @description Validation failure (missing recipient for direct, missing actor_ids for group, two equal actor ids, malformed Idempotency-Key). */
|
|
6238
7222
|
400: {
|
|
6239
7223
|
headers: {
|
|
6240
7224
|
[name: string]: unknown;
|
|
@@ -6261,7 +7245,7 @@ interface operations {
|
|
|
6261
7245
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6262
7246
|
};
|
|
6263
7247
|
};
|
|
6264
|
-
/** @description A block exists,
|
|
7248
|
+
/** @description A block exists, the group exceeds `community.settings.max_group_conversation_size`, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
6265
7249
|
409: {
|
|
6266
7250
|
headers: {
|
|
6267
7251
|
[name: string]: unknown;
|
|
@@ -6364,7 +7348,10 @@ interface operations {
|
|
|
6364
7348
|
};
|
|
6365
7349
|
ConversationController_leave: {
|
|
6366
7350
|
parameters: {
|
|
6367
|
-
query
|
|
7351
|
+
query: {
|
|
7352
|
+
/** @description The leaving participant — social actor UUID. */
|
|
7353
|
+
actor_id: string;
|
|
7354
|
+
};
|
|
6368
7355
|
header?: never;
|
|
6369
7356
|
path: {
|
|
6370
7357
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
@@ -6387,6 +7374,15 @@ interface operations {
|
|
|
6387
7374
|
};
|
|
6388
7375
|
content?: never;
|
|
6389
7376
|
};
|
|
7377
|
+
/** @description Missing/invalid actor_id. */
|
|
7378
|
+
400: {
|
|
7379
|
+
headers: {
|
|
7380
|
+
[name: string]: unknown;
|
|
7381
|
+
};
|
|
7382
|
+
content: {
|
|
7383
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7384
|
+
};
|
|
7385
|
+
};
|
|
6390
7386
|
/** @description PAK lacks `social.delete`. */
|
|
6391
7387
|
403: {
|
|
6392
7388
|
headers: {
|
|
@@ -6530,7 +7526,10 @@ interface operations {
|
|
|
6530
7526
|
};
|
|
6531
7527
|
ConversationController_removeMember: {
|
|
6532
7528
|
parameters: {
|
|
6533
|
-
query
|
|
7529
|
+
query: {
|
|
7530
|
+
/** @description Acting actor UUID (equal to the target for self-leave). */
|
|
7531
|
+
actor_id: string;
|
|
7532
|
+
};
|
|
6534
7533
|
header?: never;
|
|
6535
7534
|
path: {
|
|
6536
7535
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
@@ -6555,6 +7554,15 @@ interface operations {
|
|
|
6555
7554
|
};
|
|
6556
7555
|
content?: never;
|
|
6557
7556
|
};
|
|
7557
|
+
/** @description Missing/invalid actor_id. */
|
|
7558
|
+
400: {
|
|
7559
|
+
headers: {
|
|
7560
|
+
[name: string]: unknown;
|
|
7561
|
+
};
|
|
7562
|
+
content: {
|
|
7563
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7564
|
+
};
|
|
7565
|
+
};
|
|
6558
7566
|
/** @description Caller is not an admin and not the target. */
|
|
6559
7567
|
403: {
|
|
6560
7568
|
headers: {
|
|
@@ -6695,7 +7703,10 @@ interface operations {
|
|
|
6695
7703
|
ConversationController_send: {
|
|
6696
7704
|
parameters: {
|
|
6697
7705
|
query?: never;
|
|
6698
|
-
header?:
|
|
7706
|
+
header?: {
|
|
7707
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
7708
|
+
"Idempotency-Key"?: string;
|
|
7709
|
+
};
|
|
6699
7710
|
path: {
|
|
6700
7711
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6701
7712
|
communityId: string;
|
|
@@ -6719,7 +7730,7 @@ interface operations {
|
|
|
6719
7730
|
"application/json": components["schemas"]["DirectMessageResponseDto"];
|
|
6720
7731
|
};
|
|
6721
7732
|
};
|
|
6722
|
-
/** @description Validation failure (empty body for text, body too long). */
|
|
7733
|
+
/** @description Validation failure (empty body for text, body too long, malformed Idempotency-Key). */
|
|
6723
7734
|
400: {
|
|
6724
7735
|
headers: {
|
|
6725
7736
|
[name: string]: unknown;
|
|
@@ -6746,7 +7757,7 @@ interface operations {
|
|
|
6746
7757
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6747
7758
|
};
|
|
6748
7759
|
};
|
|
6749
|
-
/** @description A block exists between the sender and another participant. */
|
|
7760
|
+
/** @description A block exists between the sender and another participant, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
6750
7761
|
409: {
|
|
6751
7762
|
headers: {
|
|
6752
7763
|
[name: string]: unknown;
|
|
@@ -6759,7 +7770,10 @@ interface operations {
|
|
|
6759
7770
|
};
|
|
6760
7771
|
ConversationController_deleteMessage: {
|
|
6761
7772
|
parameters: {
|
|
6762
|
-
query
|
|
7773
|
+
query: {
|
|
7774
|
+
/** @description The sender — must match the message's sender_id. */
|
|
7775
|
+
actor_id: string;
|
|
7776
|
+
};
|
|
6763
7777
|
header?: never;
|
|
6764
7778
|
path: {
|
|
6765
7779
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
@@ -6784,6 +7798,15 @@ interface operations {
|
|
|
6784
7798
|
};
|
|
6785
7799
|
content?: never;
|
|
6786
7800
|
};
|
|
7801
|
+
/** @description Missing/invalid actor_id. */
|
|
7802
|
+
400: {
|
|
7803
|
+
headers: {
|
|
7804
|
+
[name: string]: unknown;
|
|
7805
|
+
};
|
|
7806
|
+
content: {
|
|
7807
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7808
|
+
};
|
|
7809
|
+
};
|
|
6787
7810
|
/** @description Caller is not the sender, or PAK lacks `social.delete`. */
|
|
6788
7811
|
403: {
|
|
6789
7812
|
headers: {
|
|
@@ -7156,9 +8179,68 @@ interface operations {
|
|
|
7156
8179
|
};
|
|
7157
8180
|
};
|
|
7158
8181
|
};
|
|
8182
|
+
CounterController_getBatchCounters: {
|
|
8183
|
+
parameters: {
|
|
8184
|
+
query: {
|
|
8185
|
+
/** @description Comma-separated actor UUIDs (max 100, de-duplicated). */
|
|
8186
|
+
actor_ids: string;
|
|
8187
|
+
};
|
|
8188
|
+
header?: never;
|
|
8189
|
+
path: {
|
|
8190
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8191
|
+
communityId: string;
|
|
8192
|
+
};
|
|
8193
|
+
cookie?: never;
|
|
8194
|
+
};
|
|
8195
|
+
requestBody?: never;
|
|
8196
|
+
responses: {
|
|
8197
|
+
/** @description Counters for each actor found plus the `missing[]` ids. */
|
|
8198
|
+
200: {
|
|
8199
|
+
headers: {
|
|
8200
|
+
[name: string]: unknown;
|
|
8201
|
+
};
|
|
8202
|
+
content: {
|
|
8203
|
+
"application/json": components["schemas"]["BatchCountersResponseDto"];
|
|
8204
|
+
};
|
|
8205
|
+
};
|
|
8206
|
+
/** @description `actor_ids` missing or empty, a non-UUID entry (`INVALID_ID_LIST`), or over 100 ids (`TOO_MANY_IDS`). */
|
|
8207
|
+
400: {
|
|
8208
|
+
headers: {
|
|
8209
|
+
[name: string]: unknown;
|
|
8210
|
+
};
|
|
8211
|
+
content: {
|
|
8212
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8213
|
+
};
|
|
8214
|
+
};
|
|
8215
|
+
/** @description PAK lacks `social.read`. */
|
|
8216
|
+
403: {
|
|
8217
|
+
headers: {
|
|
8218
|
+
[name: string]: unknown;
|
|
8219
|
+
};
|
|
8220
|
+
content: {
|
|
8221
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8222
|
+
};
|
|
8223
|
+
};
|
|
8224
|
+
/** @description Community not found in the PAK's workspace. (Unknown actors land in `missing[]`, not a 404.) */
|
|
8225
|
+
404: {
|
|
8226
|
+
headers: {
|
|
8227
|
+
[name: string]: unknown;
|
|
8228
|
+
};
|
|
8229
|
+
content: {
|
|
8230
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8231
|
+
};
|
|
8232
|
+
};
|
|
8233
|
+
};
|
|
8234
|
+
};
|
|
7159
8235
|
FeedController_getDiscoverFeed: {
|
|
7160
8236
|
parameters: {
|
|
7161
8237
|
query?: {
|
|
8238
|
+
/** @description Viewer actor UUID. */
|
|
8239
|
+
actor_id?: string;
|
|
8240
|
+
/**
|
|
8241
|
+
* @deprecated
|
|
8242
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
8243
|
+
*/
|
|
7162
8244
|
viewer_actor_id?: string;
|
|
7163
8245
|
limit?: number;
|
|
7164
8246
|
/** @description Opaque ranked cursor; encodes (score, id). */
|
|
@@ -7346,6 +8428,60 @@ interface operations {
|
|
|
7346
8428
|
};
|
|
7347
8429
|
};
|
|
7348
8430
|
};
|
|
8431
|
+
EdgeController_batchFollows: {
|
|
8432
|
+
parameters: {
|
|
8433
|
+
query?: never;
|
|
8434
|
+
header?: never;
|
|
8435
|
+
path: {
|
|
8436
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8437
|
+
communityId: string;
|
|
8438
|
+
};
|
|
8439
|
+
cookie?: never;
|
|
8440
|
+
};
|
|
8441
|
+
requestBody: {
|
|
8442
|
+
content: {
|
|
8443
|
+
"application/json": components["schemas"]["BatchFollowsDto"];
|
|
8444
|
+
};
|
|
8445
|
+
};
|
|
8446
|
+
responses: {
|
|
8447
|
+
/** @description Per-item results, request order. `succeeded` + `failed` summarise the batch. */
|
|
8448
|
+
201: {
|
|
8449
|
+
headers: {
|
|
8450
|
+
[name: string]: unknown;
|
|
8451
|
+
};
|
|
8452
|
+
content: {
|
|
8453
|
+
"application/json": components["schemas"]["BatchFollowsResponseDto"];
|
|
8454
|
+
};
|
|
8455
|
+
};
|
|
8456
|
+
/** @description Envelope validation failure: `follows` missing, empty, over 200 items, or an item shape invalid. */
|
|
8457
|
+
400: {
|
|
8458
|
+
headers: {
|
|
8459
|
+
[name: string]: unknown;
|
|
8460
|
+
};
|
|
8461
|
+
content: {
|
|
8462
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8463
|
+
};
|
|
8464
|
+
};
|
|
8465
|
+
/** @description PAK lacks `social.create`. */
|
|
8466
|
+
403: {
|
|
8467
|
+
headers: {
|
|
8468
|
+
[name: string]: unknown;
|
|
8469
|
+
};
|
|
8470
|
+
content: {
|
|
8471
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8472
|
+
};
|
|
8473
|
+
};
|
|
8474
|
+
/** @description Community not found in the PAK's workspace. (Unknown actors fail per item, not the whole call.) */
|
|
8475
|
+
404: {
|
|
8476
|
+
headers: {
|
|
8477
|
+
[name: string]: unknown;
|
|
8478
|
+
};
|
|
8479
|
+
content: {
|
|
8480
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8481
|
+
};
|
|
8482
|
+
};
|
|
8483
|
+
};
|
|
8484
|
+
};
|
|
7349
8485
|
EdgeController_unfollow: {
|
|
7350
8486
|
parameters: {
|
|
7351
8487
|
query?: never;
|
|
@@ -7543,7 +8679,12 @@ interface operations {
|
|
|
7543
8679
|
ActorListController_list: {
|
|
7544
8680
|
parameters: {
|
|
7545
8681
|
query?: {
|
|
7546
|
-
/** @description
|
|
8682
|
+
/** @description Viewer actor UUID — surfaces the viewer's own private lists alongside the public catalog. */
|
|
8683
|
+
actor_id?: string;
|
|
8684
|
+
/**
|
|
8685
|
+
* @deprecated
|
|
8686
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
8687
|
+
*/
|
|
7547
8688
|
viewer_actor_id?: string;
|
|
7548
8689
|
/** @description Filter to lists owned by this actor. */
|
|
7549
8690
|
owner_actor_id?: string;
|
|
@@ -7582,7 +8723,10 @@ interface operations {
|
|
|
7582
8723
|
ActorListController_create: {
|
|
7583
8724
|
parameters: {
|
|
7584
8725
|
query?: never;
|
|
7585
|
-
header?:
|
|
8726
|
+
header?: {
|
|
8727
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
8728
|
+
"Idempotency-Key"?: string;
|
|
8729
|
+
};
|
|
7586
8730
|
path: {
|
|
7587
8731
|
/** @description Social community UUID. */
|
|
7588
8732
|
communityId: string;
|
|
@@ -7604,7 +8748,7 @@ interface operations {
|
|
|
7604
8748
|
"application/json": components["schemas"]["ActorListResponseDto"];
|
|
7605
8749
|
};
|
|
7606
8750
|
};
|
|
7607
|
-
/** @description Validation failure. */
|
|
8751
|
+
/** @description Validation failure (including malformed Idempotency-Key). */
|
|
7608
8752
|
400: {
|
|
7609
8753
|
headers: {
|
|
7610
8754
|
[name: string]: unknown;
|
|
@@ -7631,12 +8775,26 @@ interface operations {
|
|
|
7631
8775
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7632
8776
|
};
|
|
7633
8777
|
};
|
|
8778
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
8779
|
+
409: {
|
|
8780
|
+
headers: {
|
|
8781
|
+
[name: string]: unknown;
|
|
8782
|
+
};
|
|
8783
|
+
content: {
|
|
8784
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8785
|
+
};
|
|
8786
|
+
};
|
|
7634
8787
|
};
|
|
7635
8788
|
};
|
|
7636
8789
|
ActorListController_getById: {
|
|
7637
8790
|
parameters: {
|
|
7638
8791
|
query?: {
|
|
7639
|
-
/** @description
|
|
8792
|
+
/** @description Viewer actor UUID — required to see a private list (must equal owner). */
|
|
8793
|
+
actor_id?: string;
|
|
8794
|
+
/**
|
|
8795
|
+
* @deprecated
|
|
8796
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
8797
|
+
*/
|
|
7640
8798
|
viewer_actor_id?: string;
|
|
7641
8799
|
};
|
|
7642
8800
|
header?: never;
|
|
@@ -7681,7 +8839,10 @@ interface operations {
|
|
|
7681
8839
|
};
|
|
7682
8840
|
ActorListController_delete: {
|
|
7683
8841
|
parameters: {
|
|
7684
|
-
query
|
|
8842
|
+
query: {
|
|
8843
|
+
/** @description Caller social actor UUID (must equal the list owner). */
|
|
8844
|
+
actor_id: string;
|
|
8845
|
+
};
|
|
7685
8846
|
header?: never;
|
|
7686
8847
|
path: {
|
|
7687
8848
|
/** @description Social community UUID. */
|
|
@@ -7704,6 +8865,15 @@ interface operations {
|
|
|
7704
8865
|
};
|
|
7705
8866
|
content?: never;
|
|
7706
8867
|
};
|
|
8868
|
+
/** @description Missing/invalid actor_id. */
|
|
8869
|
+
400: {
|
|
8870
|
+
headers: {
|
|
8871
|
+
[name: string]: unknown;
|
|
8872
|
+
};
|
|
8873
|
+
content: {
|
|
8874
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8875
|
+
};
|
|
8876
|
+
};
|
|
7707
8877
|
/** @description Caller is not the owner. */
|
|
7708
8878
|
403: {
|
|
7709
8879
|
headers: {
|
|
@@ -7784,7 +8954,12 @@ interface operations {
|
|
|
7784
8954
|
parameters: {
|
|
7785
8955
|
query: {
|
|
7786
8956
|
/** @description Viewer — required for visibility checks + block-filter. */
|
|
7787
|
-
|
|
8957
|
+
actor_id: string;
|
|
8958
|
+
/**
|
|
8959
|
+
* @deprecated
|
|
8960
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
8961
|
+
*/
|
|
8962
|
+
viewer_actor_id?: string;
|
|
7788
8963
|
limit?: number;
|
|
7789
8964
|
/** @description Opaque cursor; differs in shape between ranked and chronological. */
|
|
7790
8965
|
cursor?: string;
|
|
@@ -7810,7 +8985,7 @@ interface operations {
|
|
|
7810
8985
|
"application/json": components["schemas"]["FeedResponseDto"];
|
|
7811
8986
|
};
|
|
7812
8987
|
};
|
|
7813
|
-
/** @description INVALID_ORDER or INVALID_CURSOR. */
|
|
8988
|
+
/** @description Missing/invalid actor_id, INVALID_ORDER, or INVALID_CURSOR. */
|
|
7814
8989
|
400: {
|
|
7815
8990
|
headers: {
|
|
7816
8991
|
[name: string]: unknown;
|
|
@@ -7842,6 +9017,12 @@ interface operations {
|
|
|
7842
9017
|
ActorListController_listMembers: {
|
|
7843
9018
|
parameters: {
|
|
7844
9019
|
query?: {
|
|
9020
|
+
/** @description Viewer actor UUID. */
|
|
9021
|
+
actor_id?: string;
|
|
9022
|
+
/**
|
|
9023
|
+
* @deprecated
|
|
9024
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
9025
|
+
*/
|
|
7845
9026
|
viewer_actor_id?: string;
|
|
7846
9027
|
limit?: number;
|
|
7847
9028
|
cursor?: string;
|
|
@@ -7944,7 +9125,10 @@ interface operations {
|
|
|
7944
9125
|
};
|
|
7945
9126
|
ActorListController_removeMember: {
|
|
7946
9127
|
parameters: {
|
|
7947
|
-
query
|
|
9128
|
+
query: {
|
|
9129
|
+
/** @description Caller social actor UUID (must equal the list owner). */
|
|
9130
|
+
actor_id: string;
|
|
9131
|
+
};
|
|
7948
9132
|
header?: never;
|
|
7949
9133
|
path: {
|
|
7950
9134
|
/** @description Social community UUID. */
|
|
@@ -7969,6 +9153,15 @@ interface operations {
|
|
|
7969
9153
|
};
|
|
7970
9154
|
content?: never;
|
|
7971
9155
|
};
|
|
9156
|
+
/** @description Missing/invalid actor_id. */
|
|
9157
|
+
400: {
|
|
9158
|
+
headers: {
|
|
9159
|
+
[name: string]: unknown;
|
|
9160
|
+
};
|
|
9161
|
+
content: {
|
|
9162
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9163
|
+
};
|
|
9164
|
+
};
|
|
7972
9165
|
/** @description Caller is not the owner. */
|
|
7973
9166
|
403: {
|
|
7974
9167
|
headers: {
|
|
@@ -8117,21 +9310,95 @@ interface operations {
|
|
|
8117
9310
|
path: {
|
|
8118
9311
|
communityId: string;
|
|
8119
9312
|
};
|
|
8120
|
-
cookie?: never;
|
|
8121
|
-
};
|
|
8122
|
-
requestBody?: never;
|
|
8123
|
-
responses: {
|
|
8124
|
-
/** @description Page of posts (only `published`, non-expired, public-visibility unless filtered by author). */
|
|
8125
|
-
200: {
|
|
9313
|
+
cookie?: never;
|
|
9314
|
+
};
|
|
9315
|
+
requestBody?: never;
|
|
9316
|
+
responses: {
|
|
9317
|
+
/** @description Page of posts (only `published`, non-expired, public-visibility unless filtered by author). */
|
|
9318
|
+
200: {
|
|
9319
|
+
headers: {
|
|
9320
|
+
[name: string]: unknown;
|
|
9321
|
+
};
|
|
9322
|
+
content: {
|
|
9323
|
+
"application/json": components["schemas"]["PostListResponseDto"];
|
|
9324
|
+
};
|
|
9325
|
+
};
|
|
9326
|
+
/** @description PAK lacks `social.list`. */
|
|
9327
|
+
403: {
|
|
9328
|
+
headers: {
|
|
9329
|
+
[name: string]: unknown;
|
|
9330
|
+
};
|
|
9331
|
+
content: {
|
|
9332
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9333
|
+
};
|
|
9334
|
+
};
|
|
9335
|
+
/** @description Community not found. */
|
|
9336
|
+
404: {
|
|
9337
|
+
headers: {
|
|
9338
|
+
[name: string]: unknown;
|
|
9339
|
+
};
|
|
9340
|
+
content: {
|
|
9341
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9342
|
+
};
|
|
9343
|
+
};
|
|
9344
|
+
};
|
|
9345
|
+
};
|
|
9346
|
+
PostController_create: {
|
|
9347
|
+
parameters: {
|
|
9348
|
+
query?: never;
|
|
9349
|
+
header?: {
|
|
9350
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
9351
|
+
"Idempotency-Key"?: string;
|
|
9352
|
+
};
|
|
9353
|
+
path: {
|
|
9354
|
+
communityId: string;
|
|
9355
|
+
};
|
|
9356
|
+
cookie?: never;
|
|
9357
|
+
};
|
|
9358
|
+
requestBody: {
|
|
9359
|
+
content: {
|
|
9360
|
+
"application/json": components["schemas"]["CreatePostDto"];
|
|
9361
|
+
};
|
|
9362
|
+
};
|
|
9363
|
+
responses: {
|
|
9364
|
+
/** @description Post created. Defaults: `kind=text`, `visibility=public`, `status=published`. */
|
|
9365
|
+
201: {
|
|
9366
|
+
headers: {
|
|
9367
|
+
[name: string]: unknown;
|
|
9368
|
+
};
|
|
9369
|
+
content: {
|
|
9370
|
+
"application/json": components["schemas"]["PostResponseDto"];
|
|
9371
|
+
};
|
|
9372
|
+
};
|
|
9373
|
+
/** @description Validation failure (missing actor_id; body/title/url all empty; bad URL; bad ISO timestamp; malformed Idempotency-Key). */
|
|
9374
|
+
400: {
|
|
9375
|
+
headers: {
|
|
9376
|
+
[name: string]: unknown;
|
|
9377
|
+
};
|
|
9378
|
+
content: {
|
|
9379
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9380
|
+
};
|
|
9381
|
+
};
|
|
9382
|
+
/** @description PAK lacks `social.create`, or actor is suspended. */
|
|
9383
|
+
403: {
|
|
9384
|
+
headers: {
|
|
9385
|
+
[name: string]: unknown;
|
|
9386
|
+
};
|
|
9387
|
+
content: {
|
|
9388
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9389
|
+
};
|
|
9390
|
+
};
|
|
9391
|
+
/** @description Community, actor, or quote source post not found in the PAK's workspace. */
|
|
9392
|
+
404: {
|
|
8126
9393
|
headers: {
|
|
8127
9394
|
[name: string]: unknown;
|
|
8128
9395
|
};
|
|
8129
9396
|
content: {
|
|
8130
|
-
"application/json": components["schemas"]["
|
|
9397
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8131
9398
|
};
|
|
8132
9399
|
};
|
|
8133
|
-
/** @description
|
|
8134
|
-
|
|
9400
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
9401
|
+
409: {
|
|
8135
9402
|
headers: {
|
|
8136
9403
|
[name: string]: unknown;
|
|
8137
9404
|
};
|
|
@@ -8139,8 +9406,8 @@ interface operations {
|
|
|
8139
9406
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8140
9407
|
};
|
|
8141
9408
|
};
|
|
8142
|
-
/** @description
|
|
8143
|
-
|
|
9409
|
+
/** @description Quote rules: `CANNOT_QUOTE_SELF` (kind='quote' with your own post as source) or `CANNOT_QUOTE_PRIVATE` (source post is private). */
|
|
9410
|
+
422: {
|
|
8144
9411
|
headers: {
|
|
8145
9412
|
[name: string]: unknown;
|
|
8146
9413
|
};
|
|
@@ -8150,7 +9417,7 @@ interface operations {
|
|
|
8150
9417
|
};
|
|
8151
9418
|
};
|
|
8152
9419
|
};
|
|
8153
|
-
|
|
9420
|
+
PostController_recordImpressions: {
|
|
8154
9421
|
parameters: {
|
|
8155
9422
|
query?: never;
|
|
8156
9423
|
header?: never;
|
|
@@ -8161,20 +9428,18 @@ interface operations {
|
|
|
8161
9428
|
};
|
|
8162
9429
|
requestBody: {
|
|
8163
9430
|
content: {
|
|
8164
|
-
"application/json": components["schemas"]["
|
|
9431
|
+
"application/json": components["schemas"]["RecordViewsDto"];
|
|
8165
9432
|
};
|
|
8166
9433
|
};
|
|
8167
9434
|
responses: {
|
|
8168
|
-
/** @description
|
|
8169
|
-
|
|
9435
|
+
/** @description Impressions recorded (or no-op if every id was missing). */
|
|
9436
|
+
204: {
|
|
8170
9437
|
headers: {
|
|
8171
9438
|
[name: string]: unknown;
|
|
8172
9439
|
};
|
|
8173
|
-
content
|
|
8174
|
-
"application/json": components["schemas"]["PostResponseDto"];
|
|
8175
|
-
};
|
|
9440
|
+
content?: never;
|
|
8176
9441
|
};
|
|
8177
|
-
/** @description
|
|
9442
|
+
/** @description Empty `post_ids`, more than 200 ids, or a non-UUID in the list. */
|
|
8178
9443
|
400: {
|
|
8179
9444
|
headers: {
|
|
8180
9445
|
[name: string]: unknown;
|
|
@@ -8183,7 +9448,7 @@ interface operations {
|
|
|
8183
9448
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8184
9449
|
};
|
|
8185
9450
|
};
|
|
8186
|
-
/** @description PAK lacks `social.
|
|
9451
|
+
/** @description PAK lacks `social.view` on the community URN. */
|
|
8187
9452
|
403: {
|
|
8188
9453
|
headers: {
|
|
8189
9454
|
[name: string]: unknown;
|
|
@@ -8192,27 +9457,9 @@ interface operations {
|
|
|
8192
9457
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8193
9458
|
};
|
|
8194
9459
|
};
|
|
8195
|
-
/** @description Community, actor, or quote source post not found in the PAK's workspace. */
|
|
8196
|
-
404: {
|
|
8197
|
-
headers: {
|
|
8198
|
-
[name: string]: unknown;
|
|
8199
|
-
};
|
|
8200
|
-
content: {
|
|
8201
|
-
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8202
|
-
};
|
|
8203
|
-
};
|
|
8204
|
-
/** @description Quote rules: `CANNOT_QUOTE_SELF` (kind='quote' with your own post as source) or `CANNOT_QUOTE_PRIVATE` (source post is private). */
|
|
8205
|
-
422: {
|
|
8206
|
-
headers: {
|
|
8207
|
-
[name: string]: unknown;
|
|
8208
|
-
};
|
|
8209
|
-
content: {
|
|
8210
|
-
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8211
|
-
};
|
|
8212
|
-
};
|
|
8213
9460
|
};
|
|
8214
9461
|
};
|
|
8215
|
-
|
|
9462
|
+
PostController_recordViewsDeprecated: {
|
|
8216
9463
|
parameters: {
|
|
8217
9464
|
query?: never;
|
|
8218
9465
|
header?: never;
|
|
@@ -8227,7 +9474,7 @@ interface operations {
|
|
|
8227
9474
|
};
|
|
8228
9475
|
};
|
|
8229
9476
|
responses: {
|
|
8230
|
-
/** @description
|
|
9477
|
+
/** @description Impressions recorded (or no-op if every id was missing). */
|
|
8231
9478
|
204: {
|
|
8232
9479
|
headers: {
|
|
8233
9480
|
[name: string]: unknown;
|
|
@@ -8243,7 +9490,7 @@ interface operations {
|
|
|
8243
9490
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8244
9491
|
};
|
|
8245
9492
|
};
|
|
8246
|
-
/** @description PAK lacks `social.
|
|
9493
|
+
/** @description PAK lacks `social.view` on the community URN. */
|
|
8247
9494
|
403: {
|
|
8248
9495
|
headers: {
|
|
8249
9496
|
[name: string]: unknown;
|
|
@@ -8258,6 +9505,11 @@ interface operations {
|
|
|
8258
9505
|
parameters: {
|
|
8259
9506
|
query?: {
|
|
8260
9507
|
/** @description Social actor UUID of the viewer. Surfaces non-public posts they are entitled to see. */
|
|
9508
|
+
actor_id?: string;
|
|
9509
|
+
/**
|
|
9510
|
+
* @deprecated
|
|
9511
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11). Removed in a future version.
|
|
9512
|
+
*/
|
|
8261
9513
|
requester_id?: string;
|
|
8262
9514
|
};
|
|
8263
9515
|
header?: never;
|
|
@@ -8461,7 +9713,10 @@ interface operations {
|
|
|
8461
9713
|
};
|
|
8462
9714
|
BookmarkController_delete: {
|
|
8463
9715
|
parameters: {
|
|
8464
|
-
query
|
|
9716
|
+
query: {
|
|
9717
|
+
/** @description Acting actor UUID. */
|
|
9718
|
+
actor_id: string;
|
|
9719
|
+
};
|
|
8465
9720
|
header?: never;
|
|
8466
9721
|
path: {
|
|
8467
9722
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
@@ -8471,9 +9726,9 @@ interface operations {
|
|
|
8471
9726
|
};
|
|
8472
9727
|
cookie?: never;
|
|
8473
9728
|
};
|
|
8474
|
-
requestBody
|
|
9729
|
+
requestBody?: {
|
|
8475
9730
|
content: {
|
|
8476
|
-
"application/json": components["schemas"]["
|
|
9731
|
+
"application/json": components["schemas"]["DeprecatedActorIdBodyDto"];
|
|
8477
9732
|
};
|
|
8478
9733
|
};
|
|
8479
9734
|
responses: {
|
|
@@ -8484,7 +9739,7 @@ interface operations {
|
|
|
8484
9739
|
};
|
|
8485
9740
|
content?: never;
|
|
8486
9741
|
};
|
|
8487
|
-
/** @description Validation failure. */
|
|
9742
|
+
/** @description Validation failure (missing/invalid actor_id). */
|
|
8488
9743
|
400: {
|
|
8489
9744
|
headers: {
|
|
8490
9745
|
[name: string]: unknown;
|
|
@@ -8521,6 +9776,11 @@ interface operations {
|
|
|
8521
9776
|
/** @description List replies of this parent comment instead of top-level. */
|
|
8522
9777
|
parent_id?: string;
|
|
8523
9778
|
/** @description Viewer actor UUID — surfaces author_only replies they're entitled to see. */
|
|
9779
|
+
actor_id?: string;
|
|
9780
|
+
/**
|
|
9781
|
+
* @deprecated
|
|
9782
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
9783
|
+
*/
|
|
8524
9784
|
requester_id?: string;
|
|
8525
9785
|
};
|
|
8526
9786
|
header?: never;
|
|
@@ -8566,7 +9826,10 @@ interface operations {
|
|
|
8566
9826
|
CommentController_create: {
|
|
8567
9827
|
parameters: {
|
|
8568
9828
|
query?: never;
|
|
8569
|
-
header?:
|
|
9829
|
+
header?: {
|
|
9830
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
9831
|
+
"Idempotency-Key"?: string;
|
|
9832
|
+
};
|
|
8570
9833
|
path: {
|
|
8571
9834
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8572
9835
|
communityId: string;
|
|
@@ -8590,7 +9853,7 @@ interface operations {
|
|
|
8590
9853
|
"application/json": components["schemas"]["CommentResponseDto"];
|
|
8591
9854
|
};
|
|
8592
9855
|
};
|
|
8593
|
-
/** @description Validation failure (missing actor_id, empty body, body too long). */
|
|
9856
|
+
/** @description Validation failure (missing actor_id, empty body, body too long, malformed Idempotency-Key). */
|
|
8594
9857
|
400: {
|
|
8595
9858
|
headers: {
|
|
8596
9859
|
[name: string]: unknown;
|
|
@@ -8617,7 +9880,7 @@ interface operations {
|
|
|
8617
9880
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8618
9881
|
};
|
|
8619
9882
|
};
|
|
8620
|
-
/** @description Block exists between commenter and post author,
|
|
9883
|
+
/** @description Block exists between commenter and post author, depth exceeds community.settings.max_comment_depth, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
8621
9884
|
409: {
|
|
8622
9885
|
headers: {
|
|
8623
9886
|
[name: string]: unknown;
|
|
@@ -8631,6 +9894,12 @@ interface operations {
|
|
|
8631
9894
|
CommentController_getById: {
|
|
8632
9895
|
parameters: {
|
|
8633
9896
|
query?: {
|
|
9897
|
+
/** @description Viewer actor UUID. */
|
|
9898
|
+
actor_id?: string;
|
|
9899
|
+
/**
|
|
9900
|
+
* @deprecated
|
|
9901
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
9902
|
+
*/
|
|
8634
9903
|
requester_id?: string;
|
|
8635
9904
|
};
|
|
8636
9905
|
header?: never;
|
|
@@ -9113,6 +10382,63 @@ interface operations {
|
|
|
9113
10382
|
};
|
|
9114
10383
|
};
|
|
9115
10384
|
};
|
|
10385
|
+
PostReactionController_list: {
|
|
10386
|
+
parameters: {
|
|
10387
|
+
query?: {
|
|
10388
|
+
/** @description Filter to a single reaction type label. */
|
|
10389
|
+
type?: string;
|
|
10390
|
+
limit?: number;
|
|
10391
|
+
cursor?: string;
|
|
10392
|
+
};
|
|
10393
|
+
header?: never;
|
|
10394
|
+
path: {
|
|
10395
|
+
/** @description Social community UUID. */
|
|
10396
|
+
communityId: string;
|
|
10397
|
+
/** @description Social post UUID. */
|
|
10398
|
+
postId: string;
|
|
10399
|
+
};
|
|
10400
|
+
cookie?: never;
|
|
10401
|
+
};
|
|
10402
|
+
requestBody?: never;
|
|
10403
|
+
responses: {
|
|
10404
|
+
/** @description Page of reactions. */
|
|
10405
|
+
200: {
|
|
10406
|
+
headers: {
|
|
10407
|
+
[name: string]: unknown;
|
|
10408
|
+
};
|
|
10409
|
+
content: {
|
|
10410
|
+
"application/json": components["schemas"]["PostReactionListResponseDto"];
|
|
10411
|
+
};
|
|
10412
|
+
};
|
|
10413
|
+
/** @description Overlong `type` filter (max 64 chars). */
|
|
10414
|
+
400: {
|
|
10415
|
+
headers: {
|
|
10416
|
+
[name: string]: unknown;
|
|
10417
|
+
};
|
|
10418
|
+
content: {
|
|
10419
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10420
|
+
};
|
|
10421
|
+
};
|
|
10422
|
+
/** @description PAK lacks `social.list`. */
|
|
10423
|
+
403: {
|
|
10424
|
+
headers: {
|
|
10425
|
+
[name: string]: unknown;
|
|
10426
|
+
};
|
|
10427
|
+
content: {
|
|
10428
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10429
|
+
};
|
|
10430
|
+
};
|
|
10431
|
+
/** @description Community or post not found (or post removed). */
|
|
10432
|
+
404: {
|
|
10433
|
+
headers: {
|
|
10434
|
+
[name: string]: unknown;
|
|
10435
|
+
};
|
|
10436
|
+
content: {
|
|
10437
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10438
|
+
};
|
|
10439
|
+
};
|
|
10440
|
+
};
|
|
10441
|
+
};
|
|
9116
10442
|
PostReactionController_react: {
|
|
9117
10443
|
parameters: {
|
|
9118
10444
|
query?: never;
|
|
@@ -9301,7 +10627,10 @@ interface operations {
|
|
|
9301
10627
|
};
|
|
9302
10628
|
RepostController_delete: {
|
|
9303
10629
|
parameters: {
|
|
9304
|
-
query
|
|
10630
|
+
query: {
|
|
10631
|
+
/** @description Acting actor UUID. */
|
|
10632
|
+
actor_id: string;
|
|
10633
|
+
};
|
|
9305
10634
|
header?: never;
|
|
9306
10635
|
path: {
|
|
9307
10636
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
@@ -9311,9 +10640,9 @@ interface operations {
|
|
|
9311
10640
|
};
|
|
9312
10641
|
cookie?: never;
|
|
9313
10642
|
};
|
|
9314
|
-
requestBody
|
|
10643
|
+
requestBody?: {
|
|
9315
10644
|
content: {
|
|
9316
|
-
"application/json": components["schemas"]["
|
|
10645
|
+
"application/json": components["schemas"]["DeprecatedActorIdBodyDto"];
|
|
9317
10646
|
};
|
|
9318
10647
|
};
|
|
9319
10648
|
responses: {
|
|
@@ -9324,7 +10653,7 @@ interface operations {
|
|
|
9324
10653
|
};
|
|
9325
10654
|
content?: never;
|
|
9326
10655
|
};
|
|
9327
|
-
/** @description Validation failure. */
|
|
10656
|
+
/** @description Validation failure (missing/invalid actor_id). */
|
|
9328
10657
|
400: {
|
|
9329
10658
|
headers: {
|
|
9330
10659
|
[name: string]: unknown;
|
|
@@ -9448,7 +10777,12 @@ interface operations {
|
|
|
9448
10777
|
parameters: {
|
|
9449
10778
|
query: {
|
|
9450
10779
|
/** @description Requester social actor UUID — must resolve to the post author. */
|
|
9451
|
-
|
|
10780
|
+
actor_id: string;
|
|
10781
|
+
/**
|
|
10782
|
+
* @deprecated
|
|
10783
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
10784
|
+
*/
|
|
10785
|
+
requester_id?: string;
|
|
9452
10786
|
limit?: number;
|
|
9453
10787
|
/** @description Cursor from the prior page. */
|
|
9454
10788
|
cursor?: string;
|
|
@@ -9473,6 +10807,15 @@ interface operations {
|
|
|
9473
10807
|
"application/json": components["schemas"]["StoryViewersResponse"];
|
|
9474
10808
|
};
|
|
9475
10809
|
};
|
|
10810
|
+
/** @description Missing/invalid actor_id (author-only endpoint). */
|
|
10811
|
+
400: {
|
|
10812
|
+
headers: {
|
|
10813
|
+
[name: string]: unknown;
|
|
10814
|
+
};
|
|
10815
|
+
content: {
|
|
10816
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10817
|
+
};
|
|
10818
|
+
};
|
|
9476
10819
|
/** @description PAK lacks `social.list` OR requester is not the post author. */
|
|
9477
10820
|
403: {
|
|
9478
10821
|
headers: {
|
|
@@ -9751,6 +11094,11 @@ interface operations {
|
|
|
9751
11094
|
/** @description Max hits to return. */
|
|
9752
11095
|
limit?: number;
|
|
9753
11096
|
/** @description Viewer social actor UUID — filters out blocked / muted actors. */
|
|
11097
|
+
actor_id?: string;
|
|
11098
|
+
/**
|
|
11099
|
+
* @deprecated
|
|
11100
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
11101
|
+
*/
|
|
9754
11102
|
requester_id?: string;
|
|
9755
11103
|
};
|
|
9756
11104
|
header?: never;
|
|
@@ -9860,6 +11208,12 @@ interface operations {
|
|
|
9860
11208
|
q: string;
|
|
9861
11209
|
limit?: number;
|
|
9862
11210
|
order?: "relevance" | "recent";
|
|
11211
|
+
/** @description Viewer social actor UUID. */
|
|
11212
|
+
actor_id?: string;
|
|
11213
|
+
/**
|
|
11214
|
+
* @deprecated
|
|
11215
|
+
* @description DEPRECATED alias of `actor_id` (task 008 / G11).
|
|
11216
|
+
*/
|
|
9863
11217
|
requester_id?: string;
|
|
9864
11218
|
};
|
|
9865
11219
|
header?: never;
|
|
@@ -9909,7 +11263,7 @@ interface operations {
|
|
|
9909
11263
|
};
|
|
9910
11264
|
};
|
|
9911
11265
|
};
|
|
9912
|
-
|
|
11266
|
+
WebhookController_list: {
|
|
9913
11267
|
parameters: {
|
|
9914
11268
|
query?: never;
|
|
9915
11269
|
header?: never;
|
|
@@ -9921,13 +11275,13 @@ interface operations {
|
|
|
9921
11275
|
};
|
|
9922
11276
|
requestBody?: never;
|
|
9923
11277
|
responses: {
|
|
9924
|
-
/** @description
|
|
11278
|
+
/** @description All webhooks on the community (no pagination — capped at 10 rows). */
|
|
9925
11279
|
200: {
|
|
9926
11280
|
headers: {
|
|
9927
11281
|
[name: string]: unknown;
|
|
9928
11282
|
};
|
|
9929
11283
|
content: {
|
|
9930
|
-
"application/json": components["schemas"]["
|
|
11284
|
+
"application/json": components["schemas"]["WebhookListResponseDto"];
|
|
9931
11285
|
};
|
|
9932
11286
|
};
|
|
9933
11287
|
/** @description Community not found. */
|
|
@@ -9944,7 +11298,10 @@ interface operations {
|
|
|
9944
11298
|
WebhookController_create: {
|
|
9945
11299
|
parameters: {
|
|
9946
11300
|
query?: never;
|
|
9947
|
-
header?:
|
|
11301
|
+
header?: {
|
|
11302
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. The signing secret is returned exactly once; a replay returns the original response (including the secret) with `Idempotent-Replay: true`. Same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
11303
|
+
"Idempotency-Key"?: string;
|
|
11304
|
+
};
|
|
9948
11305
|
path: {
|
|
9949
11306
|
/** @description Social community UUID. */
|
|
9950
11307
|
communityId: string;
|
|
@@ -9966,7 +11323,7 @@ interface operations {
|
|
|
9966
11323
|
"application/json": components["schemas"]["CreatedWebhookResponseDto"];
|
|
9967
11324
|
};
|
|
9968
11325
|
};
|
|
9969
|
-
/** @description Validation failure (bad url, empty event_types). */
|
|
11326
|
+
/** @description Validation failure (bad url, empty or unknown event_types — the message names the valid set; malformed Idempotency-Key). */
|
|
9970
11327
|
400: {
|
|
9971
11328
|
headers: {
|
|
9972
11329
|
[name: string]: unknown;
|
|
@@ -9993,7 +11350,7 @@ interface operations {
|
|
|
9993
11350
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9994
11351
|
};
|
|
9995
11352
|
};
|
|
9996
|
-
/** @description
|
|
11353
|
+
/** @description Webhook cap reached (10 per community), or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
9997
11354
|
409: {
|
|
9998
11355
|
headers: {
|
|
9999
11356
|
[name: string]: unknown;
|
|
@@ -10154,10 +11511,58 @@ interface operations {
|
|
|
10154
11511
|
};
|
|
10155
11512
|
};
|
|
10156
11513
|
};
|
|
10157
|
-
|
|
11514
|
+
WebhookController_redeliver: {
|
|
10158
11515
|
parameters: {
|
|
10159
11516
|
query?: never;
|
|
10160
11517
|
header?: never;
|
|
11518
|
+
path: {
|
|
11519
|
+
/** @description Social community UUID. */
|
|
11520
|
+
communityId: string;
|
|
11521
|
+
/** @description Webhook UUID. */
|
|
11522
|
+
webhookId: string;
|
|
11523
|
+
/** @description Delivery row UUID (from GET …/deliveries). */
|
|
11524
|
+
deliveryId: string;
|
|
11525
|
+
};
|
|
11526
|
+
cookie?: never;
|
|
11527
|
+
};
|
|
11528
|
+
requestBody?: never;
|
|
11529
|
+
responses: {
|
|
11530
|
+
/** @description Redelivery enqueued. */
|
|
11531
|
+
202: {
|
|
11532
|
+
headers: {
|
|
11533
|
+
[name: string]: unknown;
|
|
11534
|
+
};
|
|
11535
|
+
content: {
|
|
11536
|
+
"application/json": components["schemas"]["DeliveryJobResponseDto"];
|
|
11537
|
+
};
|
|
11538
|
+
};
|
|
11539
|
+
/** @description Webhook or delivery not found. */
|
|
11540
|
+
404: {
|
|
11541
|
+
headers: {
|
|
11542
|
+
[name: string]: unknown;
|
|
11543
|
+
};
|
|
11544
|
+
content: {
|
|
11545
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11546
|
+
};
|
|
11547
|
+
};
|
|
11548
|
+
/** @description Webhook is disabled — re-enable it first. */
|
|
11549
|
+
409: {
|
|
11550
|
+
headers: {
|
|
11551
|
+
[name: string]: unknown;
|
|
11552
|
+
};
|
|
11553
|
+
content: {
|
|
11554
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11555
|
+
};
|
|
11556
|
+
};
|
|
11557
|
+
};
|
|
11558
|
+
};
|
|
11559
|
+
WebhookController_rotateSecret: {
|
|
11560
|
+
parameters: {
|
|
11561
|
+
query?: never;
|
|
11562
|
+
header?: {
|
|
11563
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. A replay returns the original response (including the new secret) with `Idempotent-Replay: true`; a retry WITHOUT the header rotates the secret again, invalidating the previous one. Same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
11564
|
+
"Idempotency-Key"?: string;
|
|
11565
|
+
};
|
|
10161
11566
|
path: {
|
|
10162
11567
|
/** @description Social community UUID. */
|
|
10163
11568
|
communityId: string;
|
|
@@ -10177,6 +11582,15 @@ interface operations {
|
|
|
10177
11582
|
"application/json": components["schemas"]["CreatedWebhookResponseDto"];
|
|
10178
11583
|
};
|
|
10179
11584
|
};
|
|
11585
|
+
/** @description Malformed Idempotency-Key header. */
|
|
11586
|
+
400: {
|
|
11587
|
+
headers: {
|
|
11588
|
+
[name: string]: unknown;
|
|
11589
|
+
};
|
|
11590
|
+
content: {
|
|
11591
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11592
|
+
};
|
|
11593
|
+
};
|
|
10180
11594
|
/** @description Webhook not found. */
|
|
10181
11595
|
404: {
|
|
10182
11596
|
headers: {
|
|
@@ -10186,12 +11600,89 @@ interface operations {
|
|
|
10186
11600
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10187
11601
|
};
|
|
10188
11602
|
};
|
|
11603
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
11604
|
+
409: {
|
|
11605
|
+
headers: {
|
|
11606
|
+
[name: string]: unknown;
|
|
11607
|
+
};
|
|
11608
|
+
content: {
|
|
11609
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11610
|
+
};
|
|
11611
|
+
};
|
|
10189
11612
|
};
|
|
10190
11613
|
};
|
|
10191
|
-
|
|
11614
|
+
WebhookController_testPing: {
|
|
11615
|
+
parameters: {
|
|
11616
|
+
query?: never;
|
|
11617
|
+
header?: never;
|
|
11618
|
+
path: {
|
|
11619
|
+
/** @description Social community UUID. */
|
|
11620
|
+
communityId: string;
|
|
11621
|
+
/** @description Webhook UUID. */
|
|
11622
|
+
webhookId: string;
|
|
11623
|
+
};
|
|
11624
|
+
cookie?: never;
|
|
11625
|
+
};
|
|
11626
|
+
requestBody?: never;
|
|
11627
|
+
responses: {
|
|
11628
|
+
/** @description Ping enqueued. */
|
|
11629
|
+
202: {
|
|
11630
|
+
headers: {
|
|
11631
|
+
[name: string]: unknown;
|
|
11632
|
+
};
|
|
11633
|
+
content: {
|
|
11634
|
+
"application/json": components["schemas"]["DeliveryJobResponseDto"];
|
|
11635
|
+
};
|
|
11636
|
+
};
|
|
11637
|
+
/** @description Webhook not found. */
|
|
11638
|
+
404: {
|
|
11639
|
+
headers: {
|
|
11640
|
+
[name: string]: unknown;
|
|
11641
|
+
};
|
|
11642
|
+
content: {
|
|
11643
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11644
|
+
};
|
|
11645
|
+
};
|
|
11646
|
+
/** @description Webhook is disabled — re-enable it first. */
|
|
11647
|
+
409: {
|
|
11648
|
+
headers: {
|
|
11649
|
+
[name: string]: unknown;
|
|
11650
|
+
};
|
|
11651
|
+
content: {
|
|
11652
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11653
|
+
};
|
|
11654
|
+
};
|
|
11655
|
+
};
|
|
11656
|
+
};
|
|
11657
|
+
WebhookEventTypesController_list: {
|
|
10192
11658
|
parameters: {
|
|
10193
11659
|
query?: never;
|
|
10194
11660
|
header?: never;
|
|
11661
|
+
path?: never;
|
|
11662
|
+
cookie?: never;
|
|
11663
|
+
};
|
|
11664
|
+
requestBody?: never;
|
|
11665
|
+
responses: {
|
|
11666
|
+
/** @description The full event-type catalog. */
|
|
11667
|
+
200: {
|
|
11668
|
+
headers: {
|
|
11669
|
+
[name: string]: unknown;
|
|
11670
|
+
};
|
|
11671
|
+
content: {
|
|
11672
|
+
"application/json": components["schemas"]["WebhookEventTypesResponseDto"];
|
|
11673
|
+
};
|
|
11674
|
+
};
|
|
11675
|
+
};
|
|
11676
|
+
};
|
|
11677
|
+
CommunityController_list: {
|
|
11678
|
+
parameters: {
|
|
11679
|
+
query?: {
|
|
11680
|
+
/** @description Page size (default 50, max 200). */
|
|
11681
|
+
limit?: string;
|
|
11682
|
+
/** @description Opaque cursor from a prior page's `pagination.next_cursor`. */
|
|
11683
|
+
cursor?: string;
|
|
11684
|
+
};
|
|
11685
|
+
header?: never;
|
|
10195
11686
|
path: {
|
|
10196
11687
|
/** @description ProductCraft workspace UUID owning the community. */
|
|
10197
11688
|
workspaceId: string;
|
|
@@ -10200,13 +11691,13 @@ interface operations {
|
|
|
10200
11691
|
};
|
|
10201
11692
|
requestBody?: never;
|
|
10202
11693
|
responses: {
|
|
10203
|
-
/** @description
|
|
11694
|
+
/** @description Paginated communities. */
|
|
10204
11695
|
200: {
|
|
10205
11696
|
headers: {
|
|
10206
11697
|
[name: string]: unknown;
|
|
10207
11698
|
};
|
|
10208
11699
|
content: {
|
|
10209
|
-
"application/json": components["schemas"]["
|
|
11700
|
+
"application/json": components["schemas"]["CommunityListResponseDto"];
|
|
10210
11701
|
};
|
|
10211
11702
|
};
|
|
10212
11703
|
/** @description Caller lacks `social.list`, or the workspace has not enabled the `social` service. */
|
|
@@ -10225,6 +11716,8 @@ interface operations {
|
|
|
10225
11716
|
query?: never;
|
|
10226
11717
|
header: {
|
|
10227
11718
|
authorization: string;
|
|
11719
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
11720
|
+
"Idempotency-Key"?: string;
|
|
10228
11721
|
};
|
|
10229
11722
|
path: {
|
|
10230
11723
|
/** @description ProductCraft workspace UUID owning the community. */
|
|
@@ -10247,7 +11740,7 @@ interface operations {
|
|
|
10247
11740
|
"application/json": components["schemas"]["CommunityResponseDto"];
|
|
10248
11741
|
};
|
|
10249
11742
|
};
|
|
10250
|
-
/** @description Validation failure (slug shape, display_name length). */
|
|
11743
|
+
/** @description Validation failure (slug shape, display_name length, malformed Idempotency-Key). */
|
|
10251
11744
|
400: {
|
|
10252
11745
|
headers: {
|
|
10253
11746
|
[name: string]: unknown;
|
|
@@ -10283,7 +11776,7 @@ interface operations {
|
|
|
10283
11776
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10284
11777
|
};
|
|
10285
11778
|
};
|
|
10286
|
-
/** @description Community slug already taken in this workspace,
|
|
11779
|
+
/** @description Community slug already taken in this workspace, the supplied `app_id` is already connected to a community, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
10287
11780
|
409: {
|
|
10288
11781
|
headers: {
|
|
10289
11782
|
[name: string]: unknown;
|
|
@@ -10480,7 +11973,10 @@ interface operations {
|
|
|
10480
11973
|
ModerationAdminController_shadowBan: {
|
|
10481
11974
|
parameters: {
|
|
10482
11975
|
query?: never;
|
|
10483
|
-
header?:
|
|
11976
|
+
header?: {
|
|
11977
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
11978
|
+
"Idempotency-Key"?: string;
|
|
11979
|
+
};
|
|
10484
11980
|
path: {
|
|
10485
11981
|
workspaceId: string;
|
|
10486
11982
|
communityId: string;
|
|
@@ -10503,7 +11999,7 @@ interface operations {
|
|
|
10503
11999
|
"application/json": components["schemas"]["ModerationActorResponseDto"];
|
|
10504
12000
|
};
|
|
10505
12001
|
};
|
|
10506
|
-
/** @description Invalid duration_hours or reason. */
|
|
12002
|
+
/** @description Invalid duration_hours or reason, or malformed Idempotency-Key. */
|
|
10507
12003
|
400: {
|
|
10508
12004
|
headers: {
|
|
10509
12005
|
[name: string]: unknown;
|
|
@@ -10530,6 +12026,15 @@ interface operations {
|
|
|
10530
12026
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10531
12027
|
};
|
|
10532
12028
|
};
|
|
12029
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
12030
|
+
409: {
|
|
12031
|
+
headers: {
|
|
12032
|
+
[name: string]: unknown;
|
|
12033
|
+
};
|
|
12034
|
+
content: {
|
|
12035
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
12036
|
+
};
|
|
12037
|
+
};
|
|
10533
12038
|
};
|
|
10534
12039
|
};
|
|
10535
12040
|
ModerationAdminController_unshadow: {
|
|
@@ -10765,7 +12270,10 @@ interface operations {
|
|
|
10765
12270
|
ModerationAdminController_act: {
|
|
10766
12271
|
parameters: {
|
|
10767
12272
|
query?: never;
|
|
10768
|
-
header?:
|
|
12273
|
+
header?: {
|
|
12274
|
+
/** @description Opaque client-generated string (1–256 chars, `[A-Za-z0-9_\-:]`) used to deduplicate retries within a 24h window. Replays return the original response with `Idempotent-Replay: true`; same key + different body returns 409 `IDEMPOTENCY_KEY_REUSE`. */
|
|
12275
|
+
"Idempotency-Key"?: string;
|
|
12276
|
+
};
|
|
10769
12277
|
path: {
|
|
10770
12278
|
workspaceId: string;
|
|
10771
12279
|
communityId: string;
|
|
@@ -10788,7 +12296,7 @@ interface operations {
|
|
|
10788
12296
|
"application/json": components["schemas"]["ActOnFlagResponseDto"];
|
|
10789
12297
|
};
|
|
10790
12298
|
};
|
|
10791
|
-
/** @description Invalid action or notes. */
|
|
12299
|
+
/** @description Invalid action or notes, or malformed Idempotency-Key. */
|
|
10792
12300
|
400: {
|
|
10793
12301
|
headers: {
|
|
10794
12302
|
[name: string]: unknown;
|
|
@@ -10815,7 +12323,7 @@ interface operations {
|
|
|
10815
12323
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10816
12324
|
};
|
|
10817
12325
|
};
|
|
10818
|
-
/** @description FLAG_ALREADY_CLOSED — the flag is already actioned/dismissed and the requested action is punitive (hide/remove/warn/ban)
|
|
12326
|
+
/** @description FLAG_ALREADY_CLOSED — the flag is already actioned/dismissed and the requested action is punitive (hide/remove/warn/ban); reversals (unhide/restore/dismiss) stay legal on a closed flag. Also `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
10819
12327
|
409: {
|
|
10820
12328
|
headers: {
|
|
10821
12329
|
[name: string]: unknown;
|