@productcraft/social 0.1.1 → 0.3.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 +1771 -802
- package/dist/index.d.ts +1771 -802
- 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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -1127,7 +1235,7 @@ interface paths {
|
|
|
1127
1235
|
/** 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
1236
|
get: operations["CommentController_list"];
|
|
1129
1237
|
put?: never;
|
|
1130
|
-
/** Add a comment on a post. Pass `parent_id` to reply; the depth is computed and capped by the community config. */
|
|
1238
|
+
/** 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
1239
|
post: operations["CommentController_create"];
|
|
1132
1240
|
delete?: never;
|
|
1133
1241
|
options?: never;
|
|
@@ -1253,7 +1361,8 @@ interface paths {
|
|
|
1253
1361
|
path?: never;
|
|
1254
1362
|
cookie?: never;
|
|
1255
1363
|
};
|
|
1256
|
-
|
|
1364
|
+
/** 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. */
|
|
1365
|
+
get: operations["PostReactionController_list"];
|
|
1257
1366
|
put?: never;
|
|
1258
1367
|
/** React to a post. Idempotent: re-posting the same (actor, type) returns the existing edge with `created: false`. */
|
|
1259
1368
|
post: operations["PostReactionController_react"];
|
|
@@ -1499,10 +1608,10 @@ interface paths {
|
|
|
1499
1608
|
path?: never;
|
|
1500
1609
|
cookie?: never;
|
|
1501
1610
|
};
|
|
1502
|
-
/**
|
|
1503
|
-
get: operations["
|
|
1611
|
+
/** List the community's webhooks — disabled rows included, so an auto-disabled subscriber stays discoverable. */
|
|
1612
|
+
get: operations["WebhookController_list"];
|
|
1504
1613
|
put?: never;
|
|
1505
|
-
/** Create
|
|
1614
|
+
/** 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
1615
|
post: operations["WebhookController_create"];
|
|
1507
1616
|
delete?: never;
|
|
1508
1617
|
options?: never;
|
|
@@ -1525,7 +1634,7 @@ interface paths {
|
|
|
1525
1634
|
delete: operations["WebhookController_delete"];
|
|
1526
1635
|
options?: never;
|
|
1527
1636
|
head?: never;
|
|
1528
|
-
/** Update webhook url
|
|
1637
|
+
/** 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
1638
|
patch: operations["WebhookController_update"];
|
|
1530
1639
|
trace?: never;
|
|
1531
1640
|
};
|
|
@@ -1546,6 +1655,23 @@ interface paths {
|
|
|
1546
1655
|
patch?: never;
|
|
1547
1656
|
trace?: never;
|
|
1548
1657
|
};
|
|
1658
|
+
"/v1/communities/{communityId}/webhooks/{webhookId}/deliveries/{deliveryId}/redeliver": {
|
|
1659
|
+
parameters: {
|
|
1660
|
+
query?: never;
|
|
1661
|
+
header?: never;
|
|
1662
|
+
path?: never;
|
|
1663
|
+
cookie?: never;
|
|
1664
|
+
};
|
|
1665
|
+
get?: never;
|
|
1666
|
+
put?: never;
|
|
1667
|
+
/** 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. */
|
|
1668
|
+
post: operations["WebhookController_redeliver"];
|
|
1669
|
+
delete?: never;
|
|
1670
|
+
options?: never;
|
|
1671
|
+
head?: never;
|
|
1672
|
+
patch?: never;
|
|
1673
|
+
trace?: never;
|
|
1674
|
+
};
|
|
1549
1675
|
"/v1/communities/{communityId}/webhooks/{webhookId}/rotate-secret": {
|
|
1550
1676
|
parameters: {
|
|
1551
1677
|
query?: never;
|
|
@@ -1555,7 +1681,7 @@ interface paths {
|
|
|
1555
1681
|
};
|
|
1556
1682
|
get?: never;
|
|
1557
1683
|
put?: never;
|
|
1558
|
-
/** Rotate the signing secret. Also clears any auto-disable flag. Returns the new secret ONCE. */
|
|
1684
|
+
/** 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
1685
|
post: operations["WebhookController_rotateSecret"];
|
|
1560
1686
|
delete?: never;
|
|
1561
1687
|
options?: never;
|
|
@@ -1563,6 +1689,40 @@ interface paths {
|
|
|
1563
1689
|
patch?: never;
|
|
1564
1690
|
trace?: never;
|
|
1565
1691
|
};
|
|
1692
|
+
"/v1/communities/{communityId}/webhooks/{webhookId}/test": {
|
|
1693
|
+
parameters: {
|
|
1694
|
+
query?: never;
|
|
1695
|
+
header?: never;
|
|
1696
|
+
path?: never;
|
|
1697
|
+
cookie?: never;
|
|
1698
|
+
};
|
|
1699
|
+
get?: never;
|
|
1700
|
+
put?: never;
|
|
1701
|
+
/** 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. */
|
|
1702
|
+
post: operations["WebhookController_testPing"];
|
|
1703
|
+
delete?: never;
|
|
1704
|
+
options?: never;
|
|
1705
|
+
head?: never;
|
|
1706
|
+
patch?: never;
|
|
1707
|
+
trace?: never;
|
|
1708
|
+
};
|
|
1709
|
+
"/v1/webhook-event-types": {
|
|
1710
|
+
parameters: {
|
|
1711
|
+
query?: never;
|
|
1712
|
+
header?: never;
|
|
1713
|
+
path?: never;
|
|
1714
|
+
cookie?: never;
|
|
1715
|
+
};
|
|
1716
|
+
/** List the webhook event-type catalog. Static metadata, no auth required. Create/update webhooks reject anything not in this list with a 400. */
|
|
1717
|
+
get: operations["WebhookEventTypesController_list"];
|
|
1718
|
+
put?: never;
|
|
1719
|
+
post?: never;
|
|
1720
|
+
delete?: never;
|
|
1721
|
+
options?: never;
|
|
1722
|
+
head?: never;
|
|
1723
|
+
patch?: never;
|
|
1724
|
+
trace?: never;
|
|
1725
|
+
};
|
|
1566
1726
|
"/v1/workspaces/{workspaceId}/communities": {
|
|
1567
1727
|
parameters: {
|
|
1568
1728
|
query?: never;
|
|
@@ -1573,7 +1733,7 @@ interface paths {
|
|
|
1573
1733
|
/** List communities in a workspace */
|
|
1574
1734
|
get: operations["CommunityController_list"];
|
|
1575
1735
|
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). */
|
|
1736
|
+
/** 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
1737
|
post: operations["CommunityController_create"];
|
|
1578
1738
|
delete?: never;
|
|
1579
1739
|
options?: never;
|
|
@@ -1626,7 +1786,7 @@ interface paths {
|
|
|
1626
1786
|
};
|
|
1627
1787
|
get?: never;
|
|
1628
1788
|
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. */
|
|
1789
|
+
/** 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
1790
|
post: operations["ModerationAdminController_shadowBan"];
|
|
1631
1791
|
/** Remove a shadow ban. No-op if not currently shadow-banned. */
|
|
1632
1792
|
delete: operations["ModerationAdminController_unshadow"];
|
|
@@ -1712,7 +1872,7 @@ interface paths {
|
|
|
1712
1872
|
};
|
|
1713
1873
|
get?: never;
|
|
1714
1874
|
put?: never;
|
|
1715
|
-
/** Apply a moderation action to a flag. Records an audit entry and updates the target post/comment status. */
|
|
1875
|
+
/** 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
1876
|
post: operations["ModerationAdminController_act"];
|
|
1717
1877
|
delete?: never;
|
|
1718
1878
|
options?: never;
|
|
@@ -1740,6 +1900,12 @@ interface paths {
|
|
|
1740
1900
|
}
|
|
1741
1901
|
interface components {
|
|
1742
1902
|
schemas: {
|
|
1903
|
+
ActOnFlagResponseDto: {
|
|
1904
|
+
/** @description The flag after the action (status flipped to actioned/dismissed for punitive/dismiss actions; reversals re-resolve it too). */
|
|
1905
|
+
flag: components["schemas"]["FlagResponseDto"];
|
|
1906
|
+
/** @description The audit row this action recorded. */
|
|
1907
|
+
moderation_action: components["schemas"]["ModerationActionResponseDto"];
|
|
1908
|
+
};
|
|
1743
1909
|
ActorCountersResponseDto: {
|
|
1744
1910
|
/**
|
|
1745
1911
|
* @description Actor UUID.
|
|
@@ -1827,11 +1993,62 @@ interface components {
|
|
|
1827
1993
|
list_id: string;
|
|
1828
1994
|
};
|
|
1829
1995
|
ActorListResponseDto: {
|
|
1996
|
+
/**
|
|
1997
|
+
* @description Owning community UUID.
|
|
1998
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
1999
|
+
*/
|
|
2000
|
+
community_id: string;
|
|
2001
|
+
/**
|
|
2002
|
+
* @description ISO timestamp.
|
|
2003
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
2004
|
+
*/
|
|
2005
|
+
created_at: string;
|
|
2006
|
+
/**
|
|
2007
|
+
* @description Optional description.
|
|
2008
|
+
* @example Curated tech accounts I follow.
|
|
2009
|
+
*/
|
|
2010
|
+
description: string | null;
|
|
2011
|
+
/**
|
|
2012
|
+
* @description List UUID.
|
|
2013
|
+
* @example llllllll-0000-0000-0000-000000000001
|
|
2014
|
+
*/
|
|
2015
|
+
id: string;
|
|
2016
|
+
/**
|
|
2017
|
+
* @description Current member count.
|
|
2018
|
+
* @example 12
|
|
2019
|
+
*/
|
|
2020
|
+
member_count: number;
|
|
2021
|
+
/**
|
|
2022
|
+
* @description List display name.
|
|
2023
|
+
* @example Tech news
|
|
2024
|
+
*/
|
|
2025
|
+
name: string;
|
|
2026
|
+
/**
|
|
2027
|
+
* @description List owner — social actor UUID.
|
|
2028
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2029
|
+
*/
|
|
2030
|
+
owner_id: string;
|
|
2031
|
+
/**
|
|
2032
|
+
* @description ISO timestamp.
|
|
2033
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
2034
|
+
*/
|
|
2035
|
+
updated_at: string;
|
|
2036
|
+
/**
|
|
2037
|
+
* @description public = discoverable; private = owner-only.
|
|
2038
|
+
* @example public
|
|
2039
|
+
* @enum {string}
|
|
2040
|
+
*/
|
|
2041
|
+
visibility: "public" | "private";
|
|
2042
|
+
};
|
|
2043
|
+
ActorPageResponseDto: {
|
|
1830
2044
|
data: components["schemas"]["ActorResponseDto"][];
|
|
1831
2045
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
1832
2046
|
};
|
|
1833
2047
|
ActorResponseDto: {
|
|
1834
|
-
/**
|
|
2048
|
+
/**
|
|
2049
|
+
* @description Avatar URL.
|
|
2050
|
+
* @example https://cdn.example.com/avatars/ada.png
|
|
2051
|
+
*/
|
|
1835
2052
|
avatar_url: string | null;
|
|
1836
2053
|
/**
|
|
1837
2054
|
* @description Owning community UUID.
|
|
@@ -1839,43 +2056,46 @@ interface components {
|
|
|
1839
2056
|
*/
|
|
1840
2057
|
community_id: string;
|
|
1841
2058
|
/**
|
|
1842
|
-
* @description ISO timestamp.
|
|
2059
|
+
* @description ISO timestamp the row was inserted.
|
|
1843
2060
|
* @example 2026-05-01T12:00:00.000Z
|
|
1844
2061
|
*/
|
|
1845
2062
|
created_at: string;
|
|
1846
2063
|
/**
|
|
1847
2064
|
* @description Display name.
|
|
1848
|
-
* @example
|
|
2065
|
+
* @example Ada Lovelace
|
|
1849
2066
|
*/
|
|
1850
2067
|
display_name: string | null;
|
|
1851
2068
|
/**
|
|
1852
|
-
* @description Customer-supplied stable id.
|
|
1853
|
-
* @example
|
|
2069
|
+
* @description Customer-supplied stable identifier (your user id).
|
|
2070
|
+
* @example user_abc123
|
|
1854
2071
|
*/
|
|
1855
2072
|
external_id: string;
|
|
1856
2073
|
/**
|
|
1857
|
-
* @description
|
|
1858
|
-
* @example aaaaaaaa-
|
|
2074
|
+
* @description Social actor UUID.
|
|
2075
|
+
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
1859
2076
|
*/
|
|
1860
2077
|
id: string;
|
|
1861
|
-
/**
|
|
2078
|
+
/**
|
|
2079
|
+
* @description Free-form metadata blob.
|
|
2080
|
+
* @example {
|
|
2081
|
+
* "tier": "pro"
|
|
2082
|
+
* }
|
|
2083
|
+
*/
|
|
1862
2084
|
metadata: Record<string, never>;
|
|
1863
|
-
/**
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
shadow_banned_until: string | null;
|
|
1869
|
-
/** @enum {string} */
|
|
2085
|
+
/**
|
|
2086
|
+
* @description Lifecycle status. `suspended` is moderator-applied via PATCH `status=suspended`; `deleted` is soft-deletion. Shadow-banning is a separate moderation mechanism that does not change `status`.
|
|
2087
|
+
* @example active
|
|
2088
|
+
* @enum {string}
|
|
2089
|
+
*/
|
|
1870
2090
|
status: "active" | "suspended" | "deleted";
|
|
1871
2091
|
/**
|
|
1872
|
-
* @description ISO timestamp.
|
|
2092
|
+
* @description ISO timestamp of the last update.
|
|
1873
2093
|
* @example 2026-05-01T12:00:00.000Z
|
|
1874
2094
|
*/
|
|
1875
2095
|
updated_at: string;
|
|
1876
2096
|
};
|
|
1877
2097
|
ActorSearchHitDto: {
|
|
1878
|
-
actor: components["schemas"]["
|
|
2098
|
+
actor: components["schemas"]["ActorResponseDto"];
|
|
1879
2099
|
/**
|
|
1880
2100
|
* @description PG `ts_rank` score on the (display_name A, external_id B, bio C) tsvector. Higher = more relevant.
|
|
1881
2101
|
* @example 0.6079
|
|
@@ -1886,6 +2106,17 @@ interface components {
|
|
|
1886
2106
|
/** @description Up to `limit` (default 20, max 50) ranked hits. Not paginated in v1; results are bounded by `limit`. */
|
|
1887
2107
|
data: components["schemas"]["ActorSearchHitDto"][];
|
|
1888
2108
|
};
|
|
2109
|
+
ActorsByExternalBatchResponseDto: {
|
|
2110
|
+
/** @description Actors found, in request order (after de-duplication). */
|
|
2111
|
+
data: components["schemas"]["ActorResponseDto"][];
|
|
2112
|
+
/**
|
|
2113
|
+
* @description external_ids with no actor in this community.
|
|
2114
|
+
* @example [
|
|
2115
|
+
* "user_ghost"
|
|
2116
|
+
* ]
|
|
2117
|
+
*/
|
|
2118
|
+
missing: string[];
|
|
2119
|
+
};
|
|
1889
2120
|
AddCommentReactionResponseDto: {
|
|
1890
2121
|
/**
|
|
1891
2122
|
* @description `true` on first call; `false` on idempotent retry.
|
|
@@ -1901,6 +2132,18 @@ interface components {
|
|
|
1901
2132
|
*/
|
|
1902
2133
|
reaction_counts: Record<string, never>;
|
|
1903
2134
|
};
|
|
2135
|
+
AddListMemberDto: {
|
|
2136
|
+
/**
|
|
2137
|
+
* @description New member — social actor UUID.
|
|
2138
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
2139
|
+
*/
|
|
2140
|
+
actor_id: string;
|
|
2141
|
+
/**
|
|
2142
|
+
* @description Caller — social actor UUID. Must equal the list owner.
|
|
2143
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2144
|
+
*/
|
|
2145
|
+
caller_actor_id: string;
|
|
2146
|
+
};
|
|
1904
2147
|
AddMemberDto: {
|
|
1905
2148
|
/**
|
|
1906
2149
|
* @description The new member — social actor UUID.
|
|
@@ -1939,48 +2182,151 @@ interface components {
|
|
|
1939
2182
|
data: components["schemas"]["ModerationActionResponseDto"][];
|
|
1940
2183
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
1941
2184
|
};
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
};
|
|
1946
|
-
BookmarkResponseDto: {
|
|
2185
|
+
BatchActorResultDto: {
|
|
2186
|
+
/** @description The upserted actor — present on success. */
|
|
2187
|
+
actor?: components["schemas"]["ActorResponseDto"];
|
|
1947
2188
|
/**
|
|
1948
|
-
* @description
|
|
1949
|
-
* @example
|
|
2189
|
+
* @description `true` if this item inserted a new row, `false` on an update of an existing external_id. Present on success.
|
|
2190
|
+
* @example true
|
|
1950
2191
|
*/
|
|
1951
|
-
|
|
2192
|
+
created?: boolean;
|
|
2193
|
+
/** @description The error this item would have returned as a standalone call — present on failure. */
|
|
2194
|
+
error?: components["schemas"]["ErrorResponseDto"];
|
|
1952
2195
|
/**
|
|
1953
|
-
* @description
|
|
1954
|
-
* @example
|
|
2196
|
+
* @description Position of this result in the request array.
|
|
2197
|
+
* @example 0
|
|
1955
2198
|
*/
|
|
1956
|
-
|
|
2199
|
+
index: number;
|
|
1957
2200
|
/**
|
|
1958
|
-
* @description
|
|
1959
|
-
* @example
|
|
2201
|
+
* @description `true` when this item was upserted; `false` when it failed (see `error`).
|
|
2202
|
+
* @example true
|
|
1960
2203
|
*/
|
|
1961
|
-
|
|
2204
|
+
success: boolean;
|
|
2205
|
+
};
|
|
2206
|
+
BatchActorsResponseDto: {
|
|
2207
|
+
/** @description One result per input item, same order. */
|
|
2208
|
+
data: components["schemas"]["BatchActorResultDto"][];
|
|
1962
2209
|
/**
|
|
1963
|
-
* @description
|
|
1964
|
-
* @example
|
|
2210
|
+
* @description Count of failed items.
|
|
2211
|
+
* @example 1
|
|
1965
2212
|
*/
|
|
1966
|
-
|
|
1967
|
-
};
|
|
1968
|
-
BookmarkToggleResponseDto: {
|
|
1969
|
-
bookmark: components["schemas"]["BookmarkResponseDto"];
|
|
2213
|
+
failed: number;
|
|
1970
2214
|
/**
|
|
1971
|
-
* @description
|
|
1972
|
-
* @example
|
|
2215
|
+
* @description Count of successful items.
|
|
2216
|
+
* @example 199
|
|
1973
2217
|
*/
|
|
1974
|
-
|
|
2218
|
+
succeeded: number;
|
|
1975
2219
|
};
|
|
1976
|
-
|
|
2220
|
+
BatchCountersResponseDto: {
|
|
2221
|
+
/** @description Counters for each actor found, in `actor_ids` order (after de-duplication). */
|
|
2222
|
+
data: components["schemas"]["ActorCountersResponseDto"][];
|
|
1977
2223
|
/**
|
|
1978
|
-
* @description
|
|
1979
|
-
* @example
|
|
2224
|
+
* @description actor_ids with no actor in this community.
|
|
2225
|
+
* @example []
|
|
1980
2226
|
*/
|
|
1981
|
-
|
|
2227
|
+
missing: string[];
|
|
2228
|
+
};
|
|
2229
|
+
BatchExternalIdsDto: {
|
|
1982
2230
|
/**
|
|
1983
|
-
* @description
|
|
2231
|
+
* @description external_ids to resolve, 1–200 items (POST body — 256-char ids can't ride a querystring). Duplicates are de-duplicated.
|
|
2232
|
+
* @example [
|
|
2233
|
+
* "user_abc123",
|
|
2234
|
+
* "user_def456"
|
|
2235
|
+
* ]
|
|
2236
|
+
*/
|
|
2237
|
+
external_ids: string[];
|
|
2238
|
+
};
|
|
2239
|
+
BatchFollowResultDto: {
|
|
2240
|
+
/**
|
|
2241
|
+
* @description `true` if this item created a new edge, `false` on an idempotent retry of an existing follow. Present on success.
|
|
2242
|
+
* @example true
|
|
2243
|
+
*/
|
|
2244
|
+
created?: boolean;
|
|
2245
|
+
/** @description The follow edge — present on success. */
|
|
2246
|
+
edge?: components["schemas"]["EdgeResponseDto"];
|
|
2247
|
+
/** @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. */
|
|
2248
|
+
error?: components["schemas"]["ErrorResponseDto"];
|
|
2249
|
+
/**
|
|
2250
|
+
* @description Position of this result in the request array.
|
|
2251
|
+
* @example 0
|
|
2252
|
+
*/
|
|
2253
|
+
index: number;
|
|
2254
|
+
/**
|
|
2255
|
+
* @description `true` when this follow was created (or already existed); `false` when it failed (see `error`).
|
|
2256
|
+
* @example true
|
|
2257
|
+
*/
|
|
2258
|
+
success: boolean;
|
|
2259
|
+
};
|
|
2260
|
+
BatchFollowsDto: {
|
|
2261
|
+
/** @description Follow edges to create, in order. 1–200 items; each item follows the single-follow body exactly. */
|
|
2262
|
+
follows: components["schemas"]["ActorEdgeDto"][];
|
|
2263
|
+
/**
|
|
2264
|
+
* @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.
|
|
2265
|
+
* @default false
|
|
2266
|
+
* @example true
|
|
2267
|
+
*/
|
|
2268
|
+
suppress_notifications: boolean;
|
|
2269
|
+
};
|
|
2270
|
+
BatchFollowsResponseDto: {
|
|
2271
|
+
/** @description One result per input item, same order. */
|
|
2272
|
+
data: components["schemas"]["BatchFollowResultDto"][];
|
|
2273
|
+
/**
|
|
2274
|
+
* @description Count of failed items.
|
|
2275
|
+
* @example 1
|
|
2276
|
+
*/
|
|
2277
|
+
failed: number;
|
|
2278
|
+
/**
|
|
2279
|
+
* @description Count of successful items.
|
|
2280
|
+
* @example 4999
|
|
2281
|
+
*/
|
|
2282
|
+
succeeded: number;
|
|
2283
|
+
};
|
|
2284
|
+
BatchUpsertActorsDto: {
|
|
2285
|
+
/** @description Actors to upsert, in order. 1–200 items; each item follows the single-upsert body exactly. */
|
|
2286
|
+
actors: components["schemas"]["UpsertActorDto"][];
|
|
2287
|
+
};
|
|
2288
|
+
BookmarkListResponseDto: {
|
|
2289
|
+
data: components["schemas"]["BookmarkResponseDto"][];
|
|
2290
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2291
|
+
};
|
|
2292
|
+
BookmarkResponseDto: {
|
|
2293
|
+
/**
|
|
2294
|
+
* @description Social actor UUID who saved the post.
|
|
2295
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
2296
|
+
*/
|
|
2297
|
+
actor_id: string;
|
|
2298
|
+
/**
|
|
2299
|
+
* @description Owning community UUID.
|
|
2300
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
2301
|
+
*/
|
|
2302
|
+
community_id: string;
|
|
2303
|
+
/**
|
|
2304
|
+
* @description ISO timestamp the bookmark was created.
|
|
2305
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
2306
|
+
*/
|
|
2307
|
+
created_at: string;
|
|
2308
|
+
/**
|
|
2309
|
+
* @description Saved post UUID.
|
|
2310
|
+
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
2311
|
+
*/
|
|
2312
|
+
post_id: string;
|
|
2313
|
+
};
|
|
2314
|
+
BookmarkToggleResponseDto: {
|
|
2315
|
+
bookmark: components["schemas"]["BookmarkResponseDto"];
|
|
2316
|
+
/**
|
|
2317
|
+
* @description `true` on first call (row inserted); `false` on idempotent retry of an existing bookmark.
|
|
2318
|
+
* @example true
|
|
2319
|
+
*/
|
|
2320
|
+
created: boolean;
|
|
2321
|
+
};
|
|
2322
|
+
CastVoteDto: {
|
|
2323
|
+
/**
|
|
2324
|
+
* @description Voter social actor UUID.
|
|
2325
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
2326
|
+
*/
|
|
2327
|
+
actor_id: string;
|
|
2328
|
+
/**
|
|
2329
|
+
* @description Zero-based index into post.attributes.poll.options.
|
|
1984
2330
|
* @example 1
|
|
1985
2331
|
*/
|
|
1986
2332
|
option_index: number;
|
|
@@ -2019,7 +2365,7 @@ interface components {
|
|
|
2019
2365
|
};
|
|
2020
2366
|
CloseFriendsListResponse: {
|
|
2021
2367
|
data: components["schemas"]["CloseFriendResponse"][];
|
|
2022
|
-
pagination: components["schemas"]["
|
|
2368
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2023
2369
|
};
|
|
2024
2370
|
CommentListResponseDto: {
|
|
2025
2371
|
data: components["schemas"]["CommentResponseDto"][];
|
|
@@ -2107,11 +2453,18 @@ interface components {
|
|
|
2107
2453
|
*/
|
|
2108
2454
|
post_id: string;
|
|
2109
2455
|
/**
|
|
2110
|
-
* @description
|
|
2456
|
+
* @description Map of reaction type to count, denormalised on the comment row in lock-step with the comment-reaction writes.
|
|
2457
|
+
* @example {
|
|
2458
|
+
* "like": 2
|
|
2459
|
+
* }
|
|
2460
|
+
*/
|
|
2461
|
+
reaction_counts: Record<string, never>;
|
|
2462
|
+
/**
|
|
2463
|
+
* @description Lifecycle status. `pending_approval` = held by restricted-commenter pre-moderation; list endpoints surface these rows only to the comment author and the post-author (who publishes them via POST :commentId/approve). `removed` rows are hidden from public reads.
|
|
2111
2464
|
* @example published
|
|
2112
2465
|
* @enum {string}
|
|
2113
2466
|
*/
|
|
2114
|
-
status: "published" | "hidden" | "removed";
|
|
2467
|
+
status: "published" | "hidden" | "removed" | "pending_approval";
|
|
2115
2468
|
/**
|
|
2116
2469
|
* @description ISO timestamp of the last update.
|
|
2117
2470
|
* @example 2026-05-01T12:00:00.000Z
|
|
@@ -2171,6 +2524,48 @@ interface components {
|
|
|
2171
2524
|
*/
|
|
2172
2525
|
total_posts: number;
|
|
2173
2526
|
};
|
|
2527
|
+
CommunityRankingSettingsDto: {
|
|
2528
|
+
/**
|
|
2529
|
+
* @description Ranked-feed candidate window in days — posts older than this are not scored. Strictly positive finite number.
|
|
2530
|
+
* @default 30
|
|
2531
|
+
* @example 30
|
|
2532
|
+
*/
|
|
2533
|
+
candidate_window_days: number;
|
|
2534
|
+
/**
|
|
2535
|
+
* @description Recency half-life in hours for the ranked feed. Strictly positive finite number.
|
|
2536
|
+
* @default 24
|
|
2537
|
+
* @example 24
|
|
2538
|
+
*/
|
|
2539
|
+
half_life_hours: number;
|
|
2540
|
+
/** @description Per-signal weights for the ranked feed. Each key falls back to its default independently. */
|
|
2541
|
+
weights?: components["schemas"]["CommunityRankingWeightsDto"];
|
|
2542
|
+
};
|
|
2543
|
+
CommunityRankingWeightsDto: {
|
|
2544
|
+
/**
|
|
2545
|
+
* @description Engagement signal weight (log-scaled comments + reactions). Non-negative finite number.
|
|
2546
|
+
* @default 0.6
|
|
2547
|
+
* @example 0.6
|
|
2548
|
+
*/
|
|
2549
|
+
engagement: number;
|
|
2550
|
+
/**
|
|
2551
|
+
* @description Follow-graph bias weight. Non-negative finite number.
|
|
2552
|
+
* @default 0.4
|
|
2553
|
+
* @example 0.4
|
|
2554
|
+
*/
|
|
2555
|
+
follow_bias: number;
|
|
2556
|
+
/**
|
|
2557
|
+
* @description Recency signal weight (exponential decay). Non-negative finite number; anything else falls back to the default.
|
|
2558
|
+
* @default 1
|
|
2559
|
+
* @example 1
|
|
2560
|
+
*/
|
|
2561
|
+
recency: number;
|
|
2562
|
+
/**
|
|
2563
|
+
* @description Self-author boost weight (keeps the viewer's own posts visible). Non-negative finite number.
|
|
2564
|
+
* @default 0.2
|
|
2565
|
+
* @example 0.2
|
|
2566
|
+
*/
|
|
2567
|
+
self_boost: number;
|
|
2568
|
+
};
|
|
2174
2569
|
CommunityResponseDto: {
|
|
2175
2570
|
/**
|
|
2176
2571
|
* @description Auth app UUID this community wraps; `null` for standalone communities.
|
|
@@ -2203,12 +2598,12 @@ interface components {
|
|
|
2203
2598
|
*/
|
|
2204
2599
|
id: string;
|
|
2205
2600
|
/**
|
|
2206
|
-
* @description Per-community settings blob
|
|
2601
|
+
* @description Per-community settings blob. See CommunitySettingsDto for every key the service reads; unrecognized keys are stored and returned unchanged but not consumed.
|
|
2207
2602
|
* @example {
|
|
2208
2603
|
* "max_comment_depth": 3
|
|
2209
2604
|
* }
|
|
2210
2605
|
*/
|
|
2211
|
-
settings:
|
|
2606
|
+
settings: components["schemas"]["CommunitySettingsDto"];
|
|
2212
2607
|
/**
|
|
2213
2608
|
* @description URL-friendly community slug.
|
|
2214
2609
|
* @example my-product-community
|
|
@@ -2231,6 +2626,34 @@ interface components {
|
|
|
2231
2626
|
*/
|
|
2232
2627
|
workspace_id: string;
|
|
2233
2628
|
};
|
|
2629
|
+
CommunitySettingsDto: {
|
|
2630
|
+
/**
|
|
2631
|
+
* @description Distinct-reporter count at which a flagged post/comment is auto-hidden. Integer 0..1000; floored. Read by the moderation flag pipeline.
|
|
2632
|
+
* @default 3
|
|
2633
|
+
* @example 3
|
|
2634
|
+
*/
|
|
2635
|
+
auto_hide_flag_threshold: number;
|
|
2636
|
+
/**
|
|
2637
|
+
* @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.
|
|
2638
|
+
* @default 30
|
|
2639
|
+
* @example 30
|
|
2640
|
+
*/
|
|
2641
|
+
edit_window_minutes: number;
|
|
2642
|
+
/**
|
|
2643
|
+
* @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.
|
|
2644
|
+
* @default 3
|
|
2645
|
+
* @example 3
|
|
2646
|
+
*/
|
|
2647
|
+
max_comment_depth: number;
|
|
2648
|
+
/**
|
|
2649
|
+
* @description Maximum participants in a group conversation. Integer 2..200; floored. Exceeding it returns 409 on create / member add.
|
|
2650
|
+
* @default 50
|
|
2651
|
+
* @example 50
|
|
2652
|
+
*/
|
|
2653
|
+
max_group_conversation_size: number;
|
|
2654
|
+
/** @description Ranked-feed tuning (weights, half-life, candidate window). Read at query time by the actor feed, list feeds, and the discover feed. */
|
|
2655
|
+
ranking?: components["schemas"]["CommunityRankingSettingsDto"];
|
|
2656
|
+
};
|
|
2234
2657
|
ConversationAdminListResponseDto: {
|
|
2235
2658
|
data: components["schemas"]["ConversationAdminResponseDto"][];
|
|
2236
2659
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
@@ -2435,8 +2858,8 @@ interface components {
|
|
|
2435
2858
|
* @example My Product Community
|
|
2436
2859
|
*/
|
|
2437
2860
|
display_name: string;
|
|
2438
|
-
/** @description Per-community settings blob
|
|
2439
|
-
settings?:
|
|
2861
|
+
/** @description Per-community settings blob. Supported keys are typed on CommunitySettingsDto; unrecognized keys are stored verbatim but not consumed. */
|
|
2862
|
+
settings?: components["schemas"]["CommunitySettingsDto"];
|
|
2440
2863
|
/**
|
|
2441
2864
|
* @description URL-friendly community slug. Lowercase letters, digits, and hyphens (3-64 chars).
|
|
2442
2865
|
* @example my-product-community
|
|
@@ -2514,6 +2937,20 @@ interface components {
|
|
|
2514
2937
|
*/
|
|
2515
2938
|
target_kind: "post" | "comment";
|
|
2516
2939
|
};
|
|
2940
|
+
CreateFlagResponseDto: {
|
|
2941
|
+
/**
|
|
2942
|
+
* @description `true` when this flag pushed the target over the community's `auto_hide_flag_threshold` and the target was auto-hidden as a side effect.
|
|
2943
|
+
* @example false
|
|
2944
|
+
*/
|
|
2945
|
+
auto_hidden: boolean;
|
|
2946
|
+
/**
|
|
2947
|
+
* @description `true` when this call inserted a new flag; `false` when de-duplicated to an existing open flag from the same reporter on the same target.
|
|
2948
|
+
* @example true
|
|
2949
|
+
*/
|
|
2950
|
+
created: boolean;
|
|
2951
|
+
/** @description The flag row (existing open flag on de-duplicated retry). */
|
|
2952
|
+
flag: components["schemas"]["FlagResponseDto"];
|
|
2953
|
+
};
|
|
2517
2954
|
CreateHashtagFollowDto: {
|
|
2518
2955
|
/**
|
|
2519
2956
|
* @description Lowercase tag (without `#`). Must already exist in the community directory.
|
|
@@ -2618,19 +3055,19 @@ interface components {
|
|
|
2618
3055
|
*/
|
|
2619
3056
|
created: boolean;
|
|
2620
3057
|
/** @description The newly-created (or existing) repost post row. */
|
|
2621
|
-
repost: components["schemas"]["
|
|
3058
|
+
repost: components["schemas"]["PostResponseDto"];
|
|
2622
3059
|
/** @description The source post, with refreshed `repost_count`. */
|
|
2623
|
-
source: components["schemas"]["
|
|
3060
|
+
source: components["schemas"]["PostResponseDto"];
|
|
2624
3061
|
};
|
|
2625
3062
|
CreateWebhookDto: {
|
|
2626
3063
|
/**
|
|
2627
|
-
* @description Event types to subscribe to.
|
|
3064
|
+
* @description Event types to subscribe to. Unknown values are rejected with a 400 naming the valid set — see GET /v1/webhook-event-types.
|
|
2628
3065
|
* @example [
|
|
2629
3066
|
* "post.created",
|
|
2630
3067
|
* "comment.created"
|
|
2631
3068
|
* ]
|
|
2632
3069
|
*/
|
|
2633
|
-
event_types:
|
|
3070
|
+
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")[];
|
|
2634
3071
|
/**
|
|
2635
3072
|
* @description Subscriber URL. Must be `https://`.
|
|
2636
3073
|
* @example https://example.com/webhooks/social
|
|
@@ -2664,13 +3101,13 @@ interface components {
|
|
|
2664
3101
|
*/
|
|
2665
3102
|
disabled_reason: string | null;
|
|
2666
3103
|
/**
|
|
2667
|
-
* @description Subscribed event types. Each item is one of the social event names
|
|
3104
|
+
* @description Subscribed event types. Each item is one of the social event names — see GET /v1/webhook-event-types for the live catalog.
|
|
2668
3105
|
* @example [
|
|
2669
3106
|
* "post.created",
|
|
2670
3107
|
* "comment.created"
|
|
2671
3108
|
* ]
|
|
2672
3109
|
*/
|
|
2673
|
-
event_types:
|
|
3110
|
+
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")[];
|
|
2674
3111
|
/**
|
|
2675
3112
|
* @description Webhook UUID.
|
|
2676
3113
|
* @example wwwwwwww-0000-0000-0000-000000000001
|
|
@@ -2707,18 +3144,6 @@ interface components {
|
|
|
2707
3144
|
*/
|
|
2708
3145
|
url: string;
|
|
2709
3146
|
};
|
|
2710
|
-
CursorPagination: {
|
|
2711
|
-
/**
|
|
2712
|
-
* @description Whether more pages exist after this one.
|
|
2713
|
-
* @example false
|
|
2714
|
-
*/
|
|
2715
|
-
has_more: boolean;
|
|
2716
|
-
/**
|
|
2717
|
-
* @description Opaque base64url cursor; null when no further pages.
|
|
2718
|
-
* @example null
|
|
2719
|
-
*/
|
|
2720
|
-
next_cursor: string | null;
|
|
2721
|
-
};
|
|
2722
3147
|
DeleteActorListDto: {
|
|
2723
3148
|
/**
|
|
2724
3149
|
* @description Caller — social actor UUID. Must equal the list owner.
|
|
@@ -2733,13 +3158,60 @@ interface components {
|
|
|
2733
3158
|
*/
|
|
2734
3159
|
sender_id: string;
|
|
2735
3160
|
};
|
|
3161
|
+
DeliveryJobResponseDto: {
|
|
3162
|
+
/**
|
|
3163
|
+
* @description Delivery attempts made so far.
|
|
3164
|
+
* @example 0
|
|
3165
|
+
*/
|
|
3166
|
+
attempt_count: number;
|
|
3167
|
+
/**
|
|
3168
|
+
* @description ISO timestamp.
|
|
3169
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3170
|
+
*/
|
|
3171
|
+
created_at: string;
|
|
3172
|
+
/**
|
|
3173
|
+
* @description Stable event id (carried in the request body as `id`; stable across retries and redelivers).
|
|
3174
|
+
* @example evt_…
|
|
3175
|
+
*/
|
|
3176
|
+
event_id: string;
|
|
3177
|
+
/**
|
|
3178
|
+
* @description Event type. `ping` for test deliveries.
|
|
3179
|
+
* @example post.created
|
|
3180
|
+
*/
|
|
3181
|
+
event_type: string;
|
|
3182
|
+
/** @description Delivery job UUID. */
|
|
3183
|
+
id: string;
|
|
3184
|
+
/**
|
|
3185
|
+
* @description Error from the most recent failed attempt. Null before the first failure.
|
|
3186
|
+
* @example null
|
|
3187
|
+
*/
|
|
3188
|
+
last_error: string | null;
|
|
3189
|
+
/**
|
|
3190
|
+
* @description ISO timestamp of the next scheduled attempt (backoff: 1m, 5m, 30m, 2h, 6h, 24h).
|
|
3191
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3192
|
+
*/
|
|
3193
|
+
next_attempt_at: string;
|
|
3194
|
+
/**
|
|
3195
|
+
* @description Job state.
|
|
3196
|
+
* @example pending
|
|
3197
|
+
* @enum {string}
|
|
3198
|
+
*/
|
|
3199
|
+
status: "pending" | "delivering" | "succeeded" | "exhausted" | "canceled";
|
|
3200
|
+
/**
|
|
3201
|
+
* @description ISO timestamp.
|
|
3202
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3203
|
+
*/
|
|
3204
|
+
updated_at: string;
|
|
3205
|
+
/** @description Webhook UUID the job targets. */
|
|
3206
|
+
webhook_id: string;
|
|
3207
|
+
};
|
|
2736
3208
|
DeliveryListResponseDto: {
|
|
2737
3209
|
data: components["schemas"]["DeliveryResponseDto"][];
|
|
2738
3210
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
2739
3211
|
};
|
|
2740
3212
|
DeliveryResponseDto: {
|
|
2741
3213
|
/**
|
|
2742
|
-
* @description Attempt number.
|
|
3214
|
+
* @description Attempt number, 1-based. Increments per retry along the backoff schedule (1m, 5m, 30m, 2h, 6h, 24h — 7 attempts total).
|
|
2743
3215
|
* @example 1
|
|
2744
3216
|
*/
|
|
2745
3217
|
attempt_number: number;
|
|
@@ -2766,10 +3238,10 @@ interface components {
|
|
|
2766
3238
|
/** @description Delivery row UUID. */
|
|
2767
3239
|
id: string;
|
|
2768
3240
|
/**
|
|
2769
|
-
* @description Total round-trip time in ms.
|
|
3241
|
+
* @description Total round-trip time in ms. Null on transport-level failure.
|
|
2770
3242
|
* @example 67
|
|
2771
3243
|
*/
|
|
2772
|
-
latency_ms: number;
|
|
3244
|
+
latency_ms: number | null;
|
|
2773
3245
|
/**
|
|
2774
3246
|
* @description Signed request body that was sent.
|
|
2775
3247
|
* @example {}
|
|
@@ -2843,6 +3315,13 @@ interface components {
|
|
|
2843
3315
|
* @enum {string}
|
|
2844
3316
|
*/
|
|
2845
3317
|
kind: "text" | "image" | "video" | "audio" | "system";
|
|
3318
|
+
/**
|
|
3319
|
+
* @description Map of reaction type to count, denormalised on the message row in lock-step with the DM-reaction writes.
|
|
3320
|
+
* @example {
|
|
3321
|
+
* "like": 1
|
|
3322
|
+
* }
|
|
3323
|
+
*/
|
|
3324
|
+
reaction_counts: Record<string, never>;
|
|
2846
3325
|
/**
|
|
2847
3326
|
* @description Threaded inline reply target.
|
|
2848
3327
|
* @example null
|
|
@@ -2968,6 +3447,13 @@ interface components {
|
|
|
2968
3447
|
* @enum {string}
|
|
2969
3448
|
*/
|
|
2970
3449
|
kind: "text" | "image" | "video" | "audio" | "system";
|
|
3450
|
+
/**
|
|
3451
|
+
* @description Map of reaction type to count, denormalised on the message row in lock-step with the DM-reaction writes.
|
|
3452
|
+
* @example {
|
|
3453
|
+
* "like": 1
|
|
3454
|
+
* }
|
|
3455
|
+
*/
|
|
3456
|
+
reaction_counts: Record<string, never>;
|
|
2971
3457
|
/**
|
|
2972
3458
|
* @description Threaded inline reply target.
|
|
2973
3459
|
* @example null
|
|
@@ -2980,95 +3466,8 @@ interface components {
|
|
|
2980
3466
|
sender_id: string;
|
|
2981
3467
|
};
|
|
2982
3468
|
DraftListResponseDto: {
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
};
|
|
2986
|
-
DraftPostResponseDto: {
|
|
2987
|
-
/**
|
|
2988
|
-
* @description Author actor UUID.
|
|
2989
|
-
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
2990
|
-
*/
|
|
2991
|
-
actor_id: string;
|
|
2992
|
-
/**
|
|
2993
|
-
* @description Free-form attributes blob.
|
|
2994
|
-
* @example {}
|
|
2995
|
-
*/
|
|
2996
|
-
attributes: Record<string, never>;
|
|
2997
|
-
/**
|
|
2998
|
-
* @description Body draft text.
|
|
2999
|
-
* @example WIP — half a thought…
|
|
3000
|
-
*/
|
|
3001
|
-
body: string | null;
|
|
3002
|
-
/**
|
|
3003
|
-
* @description Always 0 for drafts.
|
|
3004
|
-
* @example 0
|
|
3005
|
-
*/
|
|
3006
|
-
comment_count: number;
|
|
3007
|
-
/**
|
|
3008
|
-
* @description Owning community UUID.
|
|
3009
|
-
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3010
|
-
*/
|
|
3011
|
-
community_id: string;
|
|
3012
|
-
/**
|
|
3013
|
-
* @description ISO timestamp the draft was created.
|
|
3014
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
3015
|
-
*/
|
|
3016
|
-
created_at: string;
|
|
3017
|
-
/**
|
|
3018
|
-
* @description Optional expires_at carried into the published post.
|
|
3019
|
-
* @example null
|
|
3020
|
-
*/
|
|
3021
|
-
expires_at: string | null;
|
|
3022
|
-
/**
|
|
3023
|
-
* @description Draft post UUID.
|
|
3024
|
-
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
3025
|
-
*/
|
|
3026
|
-
id: string;
|
|
3027
|
-
/**
|
|
3028
|
-
* @description Free-form post kind.
|
|
3029
|
-
* @example text
|
|
3030
|
-
*/
|
|
3031
|
-
kind: string;
|
|
3032
|
-
/**
|
|
3033
|
-
* @description Pinned flag carried into the published post.
|
|
3034
|
-
* @example false
|
|
3035
|
-
*/
|
|
3036
|
-
pinned: boolean;
|
|
3037
|
-
/**
|
|
3038
|
-
* @description Empty for drafts (engagement begins at publish).
|
|
3039
|
-
* @example {}
|
|
3040
|
-
*/
|
|
3041
|
-
reaction_counts: Record<string, never>;
|
|
3042
|
-
/**
|
|
3043
|
-
* @description Always 'draft' for this endpoint.
|
|
3044
|
-
* @example draft
|
|
3045
|
-
* @enum {string}
|
|
3046
|
-
*/
|
|
3047
|
-
status: "draft";
|
|
3048
|
-
/**
|
|
3049
|
-
* @description Optional title.
|
|
3050
|
-
* @example null
|
|
3051
|
-
*/
|
|
3052
|
-
title: string | null;
|
|
3053
|
-
/**
|
|
3054
|
-
* @description ISO timestamp of the last update.
|
|
3055
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
3056
|
-
*/
|
|
3057
|
-
updated_at: string;
|
|
3058
|
-
/**
|
|
3059
|
-
* @description Optional URL.
|
|
3060
|
-
* @example null
|
|
3061
|
-
*/
|
|
3062
|
-
url: string | null;
|
|
3063
|
-
/**
|
|
3064
|
-
* @description Visibility scope chosen at draft time. Applies once promoted to published.
|
|
3065
|
-
* @example public
|
|
3066
|
-
* @enum {string}
|
|
3067
|
-
*/
|
|
3068
|
-
visibility: "public" | "followers" | "close_friends" | "private";
|
|
3069
|
-
};
|
|
3070
|
-
EdgeListResponseDto: {
|
|
3071
|
-
data: components["schemas"]["EdgeResponseDto"][];
|
|
3469
|
+
/** @description Draft post rows — status is always 'draft' on this endpoint. */
|
|
3470
|
+
data: components["schemas"]["PostResponseDto"][];
|
|
3072
3471
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3073
3472
|
};
|
|
3074
3473
|
EdgeResponseDto: {
|
|
@@ -3098,10 +3497,11 @@ interface components {
|
|
|
3098
3497
|
*/
|
|
3099
3498
|
id: string;
|
|
3100
3499
|
/**
|
|
3101
|
-
* @description Edge kind.
|
|
3500
|
+
* @description Edge kind. The actor-edge routes emit exactly these four; post reactions and bookmarks have their own response shapes.
|
|
3102
3501
|
* @example follow
|
|
3502
|
+
* @enum {string}
|
|
3103
3503
|
*/
|
|
3104
|
-
kind:
|
|
3504
|
+
kind: "follow" | "mute" | "block" | "restrict";
|
|
3105
3505
|
/**
|
|
3106
3506
|
* @description Free-form payload stored on the edge (e.g. mute reason).
|
|
3107
3507
|
* @example {}
|
|
@@ -3113,23 +3513,6 @@ interface components {
|
|
|
3113
3513
|
*/
|
|
3114
3514
|
src_actor_id: string;
|
|
3115
3515
|
};
|
|
3116
|
-
ErrorResponse: {
|
|
3117
|
-
/**
|
|
3118
|
-
* @description Stable error code.
|
|
3119
|
-
* @example NOT_FOUND
|
|
3120
|
-
*/
|
|
3121
|
-
code?: string;
|
|
3122
|
-
/**
|
|
3123
|
-
* @description Human-readable error message.
|
|
3124
|
-
* @example Post not found
|
|
3125
|
-
*/
|
|
3126
|
-
message: Record<string, never>;
|
|
3127
|
-
/**
|
|
3128
|
-
* @description HTTP status code echoed in the body.
|
|
3129
|
-
* @example 404
|
|
3130
|
-
*/
|
|
3131
|
-
statusCode: number;
|
|
3132
|
-
};
|
|
3133
3516
|
ErrorResponseDto: {
|
|
3134
3517
|
/**
|
|
3135
3518
|
* @description Stable error code for programmatic handling. Optional — newer routes set it where the message alone is ambiguous.
|
|
@@ -3147,94 +3530,8 @@ interface components {
|
|
|
3147
3530
|
*/
|
|
3148
3531
|
statusCode: number;
|
|
3149
3532
|
};
|
|
3150
|
-
FeedPostResponseDto: {
|
|
3151
|
-
/**
|
|
3152
|
-
* @description Author actor UUID.
|
|
3153
|
-
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
3154
|
-
*/
|
|
3155
|
-
actor_id: string;
|
|
3156
|
-
/**
|
|
3157
|
-
* @description Free-form attributes blob.
|
|
3158
|
-
* @example {}
|
|
3159
|
-
*/
|
|
3160
|
-
attributes: Record<string, never>;
|
|
3161
|
-
/**
|
|
3162
|
-
* @description Body text/markdown.
|
|
3163
|
-
* @example Stories are live!
|
|
3164
|
-
*/
|
|
3165
|
-
body: string | null;
|
|
3166
|
-
/**
|
|
3167
|
-
* @description Live denormalised comment count.
|
|
3168
|
-
* @example 4
|
|
3169
|
-
*/
|
|
3170
|
-
comment_count: number;
|
|
3171
|
-
/**
|
|
3172
|
-
* @description Owning community UUID.
|
|
3173
|
-
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3174
|
-
*/
|
|
3175
|
-
community_id: string;
|
|
3176
|
-
/**
|
|
3177
|
-
* @description ISO timestamp the post was created.
|
|
3178
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
3179
|
-
*/
|
|
3180
|
-
created_at: string;
|
|
3181
|
-
/**
|
|
3182
|
-
* @description ISO timestamp; null = no expiry.
|
|
3183
|
-
* @example null
|
|
3184
|
-
*/
|
|
3185
|
-
expires_at: string | null;
|
|
3186
|
-
/**
|
|
3187
|
-
* @description Post UUID.
|
|
3188
|
-
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
3189
|
-
*/
|
|
3190
|
-
id: string;
|
|
3191
|
-
/**
|
|
3192
|
-
* @description Free-form post kind.
|
|
3193
|
-
* @example text
|
|
3194
|
-
*/
|
|
3195
|
-
kind: string;
|
|
3196
|
-
/**
|
|
3197
|
-
* @description Pinned for highlights.
|
|
3198
|
-
* @example false
|
|
3199
|
-
*/
|
|
3200
|
-
pinned: boolean;
|
|
3201
|
-
/**
|
|
3202
|
-
* @description Live denormalised reaction counts.
|
|
3203
|
-
* @example {
|
|
3204
|
-
* "like": 12
|
|
3205
|
-
* }
|
|
3206
|
-
*/
|
|
3207
|
-
reaction_counts: Record<string, never>;
|
|
3208
|
-
/**
|
|
3209
|
-
* @description Lifecycle status. Feed only returns `published`.
|
|
3210
|
-
* @example published
|
|
3211
|
-
* @enum {string}
|
|
3212
|
-
*/
|
|
3213
|
-
status: "published" | "hidden" | "removed";
|
|
3214
|
-
/**
|
|
3215
|
-
* @description Optional title.
|
|
3216
|
-
* @example null
|
|
3217
|
-
*/
|
|
3218
|
-
title: string | null;
|
|
3219
|
-
/**
|
|
3220
|
-
* @description ISO timestamp of the last update.
|
|
3221
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
3222
|
-
*/
|
|
3223
|
-
updated_at: string;
|
|
3224
|
-
/**
|
|
3225
|
-
* @description Optional URL.
|
|
3226
|
-
* @example null
|
|
3227
|
-
*/
|
|
3228
|
-
url: string | null;
|
|
3229
|
-
/**
|
|
3230
|
-
* @description Visibility scope; the feed is already filtered to what the requester can see.
|
|
3231
|
-
* @example public
|
|
3232
|
-
* @enum {string}
|
|
3233
|
-
*/
|
|
3234
|
-
visibility: "public" | "followers" | "close_friends" | "private";
|
|
3235
|
-
};
|
|
3236
3533
|
FeedResponseDto: {
|
|
3237
|
-
data: components["schemas"]["
|
|
3534
|
+
data: components["schemas"]["PostResponseDto"][];
|
|
3238
3535
|
/** @description Cursor encodes `(score, id)` for `ranked` feeds and `(created_at, id)` for `chronological` feeds. Cursors are NOT interchangeable between modes. */
|
|
3239
3536
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3240
3537
|
};
|
|
@@ -3291,6 +3588,55 @@ interface components {
|
|
|
3291
3588
|
*/
|
|
3292
3589
|
updated_at: string;
|
|
3293
3590
|
};
|
|
3591
|
+
FollowerEdgeListResponseDto: {
|
|
3592
|
+
data: components["schemas"]["FollowerEdgeResponseDto"][];
|
|
3593
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3594
|
+
};
|
|
3595
|
+
FollowerEdgeResponseDto: {
|
|
3596
|
+
/**
|
|
3597
|
+
* @description Owning community UUID.
|
|
3598
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3599
|
+
*/
|
|
3600
|
+
community_id: string;
|
|
3601
|
+
/**
|
|
3602
|
+
* @description ISO timestamp the edge was created.
|
|
3603
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3604
|
+
*/
|
|
3605
|
+
created_at: string;
|
|
3606
|
+
/**
|
|
3607
|
+
* @description Destination actor UUID (for actor edges).
|
|
3608
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
3609
|
+
*/
|
|
3610
|
+
dst_actor_id: string | null;
|
|
3611
|
+
/**
|
|
3612
|
+
* @description Destination post UUID (for reaction / save edges).
|
|
3613
|
+
* @example null
|
|
3614
|
+
*/
|
|
3615
|
+
dst_post_id: string | null;
|
|
3616
|
+
/**
|
|
3617
|
+
* @description Edge UUID.
|
|
3618
|
+
* @example eeeeeeee-0000-0000-0000-000000000001
|
|
3619
|
+
*/
|
|
3620
|
+
id: string;
|
|
3621
|
+
/**
|
|
3622
|
+
* @description Edge kind. The actor-edge routes emit exactly these four; post reactions and bookmarks have their own response shapes.
|
|
3623
|
+
* @example follow
|
|
3624
|
+
* @enum {string}
|
|
3625
|
+
*/
|
|
3626
|
+
kind: "follow" | "mute" | "block" | "restrict";
|
|
3627
|
+
/**
|
|
3628
|
+
* @description Free-form payload stored on the edge (e.g. mute reason).
|
|
3629
|
+
* @example {}
|
|
3630
|
+
*/
|
|
3631
|
+
payload: Record<string, never>;
|
|
3632
|
+
/** @description The follower's full actor row. Present only when requested via `?expand=src_actor`. */
|
|
3633
|
+
src_actor?: components["schemas"]["ActorResponseDto"];
|
|
3634
|
+
/**
|
|
3635
|
+
* @description Source actor UUID.
|
|
3636
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3637
|
+
*/
|
|
3638
|
+
src_actor_id: string;
|
|
3639
|
+
};
|
|
3294
3640
|
HashtagAutocompleteResponseDto: {
|
|
3295
3641
|
data: components["schemas"]["HashtagResponseDto"][];
|
|
3296
3642
|
};
|
|
@@ -3368,12 +3714,9 @@ interface components {
|
|
|
3368
3714
|
tag: string;
|
|
3369
3715
|
};
|
|
3370
3716
|
HighlightsResponse: {
|
|
3371
|
-
/**
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
*/
|
|
3375
|
-
data: string[];
|
|
3376
|
-
pagination: components["schemas"]["CursorPagination"];
|
|
3717
|
+
/** @description Page of pinned posts (full post rows; expiry is bypassed for pinned rows). */
|
|
3718
|
+
data: components["schemas"]["PostResponseDto"][];
|
|
3719
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3377
3720
|
};
|
|
3378
3721
|
LeaveConversationDto: {
|
|
3379
3722
|
/**
|
|
@@ -3443,7 +3786,7 @@ interface components {
|
|
|
3443
3786
|
};
|
|
3444
3787
|
ModerationActionDto: {
|
|
3445
3788
|
/**
|
|
3446
|
-
* @description Action to apply. `hide`/`remove` transition target status; `unhide`/`restore` reverse them. `warn`/`ban` are audit-only. `dismiss` closes the flag with no target change.
|
|
3789
|
+
* @description Action to apply. `hide`/`remove` transition target status; `unhide`/`restore` reverse them. `warn`/`ban` are audit-only — they record the decision without touching the target; for actor-level enforcement use PATCH `/actors/:actorId` with `status=suspended` or the shadow-ban endpoints on this controller. `dismiss` closes the flag with no target change.
|
|
3447
3790
|
* @example hide
|
|
3448
3791
|
* @enum {string}
|
|
3449
3792
|
*/
|
|
@@ -3472,7 +3815,7 @@ interface components {
|
|
|
3472
3815
|
*/
|
|
3473
3816
|
created_at: string;
|
|
3474
3817
|
/**
|
|
3475
|
-
* @description Flag UUID this action
|
|
3818
|
+
* @description Flag UUID this action was applied to.
|
|
3476
3819
|
* @example ffffffff-0000-0000-0000-000000000001
|
|
3477
3820
|
*/
|
|
3478
3821
|
flag_id: string | null;
|
|
@@ -3502,6 +3845,66 @@ interface components {
|
|
|
3502
3845
|
*/
|
|
3503
3846
|
target_kind: "post" | "comment";
|
|
3504
3847
|
};
|
|
3848
|
+
ModerationActorListResponseDto: {
|
|
3849
|
+
data: components["schemas"]["ModerationActorResponseDto"][];
|
|
3850
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3851
|
+
};
|
|
3852
|
+
ModerationActorResponseDto: {
|
|
3853
|
+
/**
|
|
3854
|
+
* @description Avatar URL.
|
|
3855
|
+
* @example https://cdn.example.com/avatars/ada.png
|
|
3856
|
+
*/
|
|
3857
|
+
avatar_url: string | null;
|
|
3858
|
+
/**
|
|
3859
|
+
* @description Owning community UUID.
|
|
3860
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3861
|
+
*/
|
|
3862
|
+
community_id: string;
|
|
3863
|
+
/**
|
|
3864
|
+
* @description ISO timestamp the row was inserted.
|
|
3865
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3866
|
+
*/
|
|
3867
|
+
created_at: string;
|
|
3868
|
+
/**
|
|
3869
|
+
* @description Display name.
|
|
3870
|
+
* @example Ada Lovelace
|
|
3871
|
+
*/
|
|
3872
|
+
display_name: string | null;
|
|
3873
|
+
/**
|
|
3874
|
+
* @description Customer-supplied stable identifier (your user id).
|
|
3875
|
+
* @example user_abc123
|
|
3876
|
+
*/
|
|
3877
|
+
external_id: string;
|
|
3878
|
+
/**
|
|
3879
|
+
* @description Social actor UUID.
|
|
3880
|
+
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
3881
|
+
*/
|
|
3882
|
+
id: string;
|
|
3883
|
+
/**
|
|
3884
|
+
* @description Free-form metadata blob.
|
|
3885
|
+
* @example {
|
|
3886
|
+
* "tier": "pro"
|
|
3887
|
+
* }
|
|
3888
|
+
*/
|
|
3889
|
+
metadata: Record<string, never>;
|
|
3890
|
+
/** @description ISO timestamp the shadow ban was applied, or null. */
|
|
3891
|
+
shadow_banned_at: string | null;
|
|
3892
|
+
/** @description Moderator note attached to the ban. */
|
|
3893
|
+
shadow_banned_reason: string | null;
|
|
3894
|
+
/** @description ISO timestamp the shadow ban auto-expires, or null for indefinite. */
|
|
3895
|
+
shadow_banned_until: string | null;
|
|
3896
|
+
/**
|
|
3897
|
+
* @description Lifecycle status. `suspended` is moderator-applied via PATCH `status=suspended`; `deleted` is soft-deletion. Shadow-banning is a separate moderation mechanism that does not change `status`.
|
|
3898
|
+
* @example active
|
|
3899
|
+
* @enum {string}
|
|
3900
|
+
*/
|
|
3901
|
+
status: "active" | "suspended" | "deleted";
|
|
3902
|
+
/**
|
|
3903
|
+
* @description ISO timestamp of the last update.
|
|
3904
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
3905
|
+
*/
|
|
3906
|
+
updated_at: string;
|
|
3907
|
+
};
|
|
3505
3908
|
MutedTermResponseDto: {
|
|
3506
3909
|
/**
|
|
3507
3910
|
* @description Owning actor UUID.
|
|
@@ -3535,22 +3938,10 @@ interface components {
|
|
|
3535
3938
|
*/
|
|
3536
3939
|
term: string;
|
|
3537
3940
|
};
|
|
3538
|
-
NotificationListPagination: {
|
|
3539
|
-
/**
|
|
3540
|
-
* @description Whether more pages exist after this one.
|
|
3541
|
-
* @example false
|
|
3542
|
-
*/
|
|
3543
|
-
has_more: boolean;
|
|
3544
|
-
/**
|
|
3545
|
-
* @description Opaque base64url cursor for the next page; `null` when no further pages.
|
|
3546
|
-
* @example eyJjcmVhdGVkX2F0IjoiMjAyNi0wNS0wMVQxMjowMDowMC4wMDBaIiwiaWQiOiIxMTExMSJ9
|
|
3547
|
-
*/
|
|
3548
|
-
next_cursor: string | null;
|
|
3549
|
-
};
|
|
3550
3941
|
NotificationListResponse: {
|
|
3551
3942
|
/** @description Page of notifications, newest first. */
|
|
3552
3943
|
data: components["schemas"]["NotificationResponse"][];
|
|
3553
|
-
pagination: components["schemas"]["
|
|
3944
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3554
3945
|
};
|
|
3555
3946
|
NotificationPrefListResponseDto: {
|
|
3556
3947
|
/** @description One row per known NotificationKind. Kinds the actor has not explicitly toggled report `enabled=true` and an epoch `updated_at`, so the client always sees the full catalogue with effective state. */
|
|
@@ -3572,7 +3963,7 @@ interface components {
|
|
|
3572
3963
|
* @example follow
|
|
3573
3964
|
* @enum {string}
|
|
3574
3965
|
*/
|
|
3575
|
-
kind: "follow" | "reaction" | "comment_on_post" | "reply_to_comment" | "mention" | "vote" | "repost" | "quote_post";
|
|
3966
|
+
kind: "follow" | "reaction" | "comment_on_post" | "reply_to_comment" | "mention" | "vote" | "repost" | "quote_post" | "dm_new_message" | "dm_added_to_group" | "dm_role_changed" | "dm_reaction";
|
|
3576
3967
|
/**
|
|
3577
3968
|
* @description ISO timestamp of the last update. Synthesised entries (no explicit row) report epoch.
|
|
3578
3969
|
* @example 2026-05-01T12:00:00.000Z
|
|
@@ -3601,13 +3992,13 @@ interface components {
|
|
|
3601
3992
|
*/
|
|
3602
3993
|
id: string;
|
|
3603
3994
|
/**
|
|
3604
|
-
* @description What happened. `follow`
|
|
3995
|
+
* @description What happened. Content kinds (`follow`, `reaction`, `comment_on_post`, `reply_to_comment`, `mention`, `vote`, `repost`, `quote_post`) plus the DM kinds (`dm_new_message`, `dm_added_to_group`, `dm_role_changed`, `dm_reaction`).
|
|
3605
3996
|
* @example reaction
|
|
3606
3997
|
* @enum {string}
|
|
3607
3998
|
*/
|
|
3608
|
-
kind: "follow" | "reaction" | "comment_on_post" | "reply_to_comment" | "mention";
|
|
3999
|
+
kind: "follow" | "reaction" | "comment_on_post" | "reply_to_comment" | "mention" | "vote" | "repost" | "quote_post" | "dm_new_message" | "dm_added_to_group" | "dm_role_changed" | "dm_reaction";
|
|
3609
4000
|
/**
|
|
3610
|
-
* @description Kind-specific extras. `reaction`: `{type}
|
|
4001
|
+
* @description Kind-specific extras. `reaction`: `{type}` (+ `{post_id}` when the target is a comment). `comment_on_post` / `reply_to_comment`: `{comment_id}`. `mention`: `{post_id}` (+ `{comment_id}` for comment mentions).
|
|
3611
4002
|
* @example {
|
|
3612
4003
|
* "type": "like"
|
|
3613
4004
|
* }
|
|
@@ -3623,17 +4014,71 @@ interface components {
|
|
|
3623
4014
|
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3624
4015
|
*/
|
|
3625
4016
|
recipient_actor_id: string;
|
|
4017
|
+
/**
|
|
4018
|
+
* @description When `true`, the recipient has restricted the triggering actor — the row is hidden from the default `inbox` slice and surfaces on `?status=requests` (or `all`).
|
|
4019
|
+
* @example false
|
|
4020
|
+
*/
|
|
4021
|
+
suppressed: boolean;
|
|
3626
4022
|
/**
|
|
3627
4023
|
* @description id of the actor / post / comment the event happened on.
|
|
3628
4024
|
* @example bbbbbbbb-0000-0000-0000-000000000001
|
|
3629
4025
|
*/
|
|
3630
4026
|
target_id: string;
|
|
3631
4027
|
/**
|
|
3632
|
-
* @description Switches what `target_id` references. `actor` for follow; `post` for
|
|
4028
|
+
* @description Switches what `target_id` references. `actor` for follow; `post` for vote / repost / quote_post / comment_on_post and post-targeted reactions/mentions; `comment` for reply_to_comment and comment-targeted reactions/mentions; `direct_message` for the dm_* kinds.
|
|
3633
4029
|
* @example post
|
|
3634
4030
|
* @enum {string}
|
|
3635
4031
|
*/
|
|
3636
|
-
target_kind: "actor" | "post" | "comment";
|
|
4032
|
+
target_kind: "actor" | "post" | "comment" | "direct_message";
|
|
4033
|
+
};
|
|
4034
|
+
OutboundEdgeListResponseDto: {
|
|
4035
|
+
data: components["schemas"]["OutboundEdgeResponseDto"][];
|
|
4036
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4037
|
+
};
|
|
4038
|
+
OutboundEdgeResponseDto: {
|
|
4039
|
+
/**
|
|
4040
|
+
* @description Owning community UUID.
|
|
4041
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
4042
|
+
*/
|
|
4043
|
+
community_id: string;
|
|
4044
|
+
/**
|
|
4045
|
+
* @description ISO timestamp the edge was created.
|
|
4046
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
4047
|
+
*/
|
|
4048
|
+
created_at: string;
|
|
4049
|
+
/** @description The destination actor's full row. Present only when requested via `?expand=dst_actor`. */
|
|
4050
|
+
dst_actor?: components["schemas"]["ActorResponseDto"];
|
|
4051
|
+
/**
|
|
4052
|
+
* @description Destination actor UUID (for actor edges).
|
|
4053
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4054
|
+
*/
|
|
4055
|
+
dst_actor_id: string | null;
|
|
4056
|
+
/**
|
|
4057
|
+
* @description Destination post UUID (for reaction / save edges).
|
|
4058
|
+
* @example null
|
|
4059
|
+
*/
|
|
4060
|
+
dst_post_id: string | null;
|
|
4061
|
+
/**
|
|
4062
|
+
* @description Edge UUID.
|
|
4063
|
+
* @example eeeeeeee-0000-0000-0000-000000000001
|
|
4064
|
+
*/
|
|
4065
|
+
id: string;
|
|
4066
|
+
/**
|
|
4067
|
+
* @description Edge kind. The actor-edge routes emit exactly these four; post reactions and bookmarks have their own response shapes.
|
|
4068
|
+
* @example follow
|
|
4069
|
+
* @enum {string}
|
|
4070
|
+
*/
|
|
4071
|
+
kind: "follow" | "mute" | "block" | "restrict";
|
|
4072
|
+
/**
|
|
4073
|
+
* @description Free-form payload stored on the edge (e.g. mute reason).
|
|
4074
|
+
* @example {}
|
|
4075
|
+
*/
|
|
4076
|
+
payload: Record<string, never>;
|
|
4077
|
+
/**
|
|
4078
|
+
* @description Source actor UUID.
|
|
4079
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4080
|
+
*/
|
|
4081
|
+
src_actor_id: string;
|
|
3637
4082
|
};
|
|
3638
4083
|
PaginationResponseDto: {
|
|
3639
4084
|
/**
|
|
@@ -3708,6 +4153,37 @@ interface components {
|
|
|
3708
4153
|
data: components["schemas"]["PostResponseDto"][];
|
|
3709
4154
|
pagination: components["schemas"]["PaginationResponseDto"];
|
|
3710
4155
|
};
|
|
4156
|
+
PostReactionEntryDto: {
|
|
4157
|
+
/**
|
|
4158
|
+
* @description Reactor actor UUID.
|
|
4159
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4160
|
+
*/
|
|
4161
|
+
actor_id: string;
|
|
4162
|
+
/**
|
|
4163
|
+
* @description Owning community UUID.
|
|
4164
|
+
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
4165
|
+
*/
|
|
4166
|
+
community_id: string;
|
|
4167
|
+
/**
|
|
4168
|
+
* @description ISO timestamp.
|
|
4169
|
+
* @example 2026-05-01T12:00:00.000Z
|
|
4170
|
+
*/
|
|
4171
|
+
created_at: string;
|
|
4172
|
+
/**
|
|
4173
|
+
* @description Post UUID.
|
|
4174
|
+
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
4175
|
+
*/
|
|
4176
|
+
post_id: string;
|
|
4177
|
+
/**
|
|
4178
|
+
* @description Reaction type label.
|
|
4179
|
+
* @example like
|
|
4180
|
+
*/
|
|
4181
|
+
type: string;
|
|
4182
|
+
};
|
|
4183
|
+
PostReactionListResponseDto: {
|
|
4184
|
+
data: components["schemas"]["PostReactionEntryDto"][];
|
|
4185
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4186
|
+
};
|
|
3711
4187
|
PostResponseDto: {
|
|
3712
4188
|
/**
|
|
3713
4189
|
* @description Author actor UUID.
|
|
@@ -3760,7 +4236,7 @@ interface components {
|
|
|
3760
4236
|
*/
|
|
3761
4237
|
id: string;
|
|
3762
4238
|
/**
|
|
3763
|
-
* @description Free-form post kind. Common: text, link, image, story.
|
|
4239
|
+
* @description Free-form post kind. Common: text, link, image, story, repost, quote.
|
|
3764
4240
|
* @example text
|
|
3765
4241
|
*/
|
|
3766
4242
|
kind: string;
|
|
@@ -3787,17 +4263,22 @@ interface components {
|
|
|
3787
4263
|
* @example 0
|
|
3788
4264
|
*/
|
|
3789
4265
|
repost_count: number;
|
|
4266
|
+
/**
|
|
4267
|
+
* @description ISO publish-at timestamp, set while status='scheduled'. The scheduler cron promotes the post to published and clears this field; a manual PATCH promotion leaves the last value in place unless the caller also passes scheduled_for: null.
|
|
4268
|
+
* @example null
|
|
4269
|
+
*/
|
|
4270
|
+
scheduled_for: string | null;
|
|
3790
4271
|
/**
|
|
3791
4272
|
* @description For kind='repost' / 'quote': the source post UUID.
|
|
3792
4273
|
* @example null
|
|
3793
4274
|
*/
|
|
3794
4275
|
source_post_id: string | null;
|
|
3795
4276
|
/**
|
|
3796
|
-
* @description Lifecycle status. `removed` rows are hidden from
|
|
4277
|
+
* @description Lifecycle status. Public list/feed surfaces only return `published`; `draft` and `scheduled` rows surface exclusively on the author-scoped drafts / scheduled-posts listings and author reads. `removed` rows are hidden from reads.
|
|
3797
4278
|
* @example published
|
|
3798
4279
|
* @enum {string}
|
|
3799
4280
|
*/
|
|
3800
|
-
status: "published" | "hidden" | "removed";
|
|
4281
|
+
status: "published" | "hidden" | "removed" | "draft" | "scheduled";
|
|
3801
4282
|
/**
|
|
3802
4283
|
* @description Optional title (1-240 chars).
|
|
3803
4284
|
* @example Shipping Phase 8
|
|
@@ -3814,7 +4295,7 @@ interface components {
|
|
|
3814
4295
|
*/
|
|
3815
4296
|
url: string | null;
|
|
3816
4297
|
/**
|
|
3817
|
-
* @description Denormalised impression count, bumped via POST /posts/views.
|
|
4298
|
+
* @description Denormalised impression count, bumped via the batch POST /posts/views endpoint.
|
|
3818
4299
|
* @example 0
|
|
3819
4300
|
*/
|
|
3820
4301
|
view_count: number;
|
|
@@ -3862,7 +4343,7 @@ interface components {
|
|
|
3862
4343
|
title: string | null;
|
|
3863
4344
|
};
|
|
3864
4345
|
PostSearchHitDto: {
|
|
3865
|
-
post: components["schemas"]["
|
|
4346
|
+
post: components["schemas"]["PostResponseDto"];
|
|
3866
4347
|
/**
|
|
3867
4348
|
* @description PG ts_rank score on the (title A, body B) tsvector. Higher = more relevant. Returned even when order='recent' so clients can render a relevance badge.
|
|
3868
4349
|
* @example 0.6079
|
|
@@ -3873,41 +4354,9 @@ interface components {
|
|
|
3873
4354
|
/** @description Up to `limit` (default 20, max 50) hits. Not paginated in v1. */
|
|
3874
4355
|
data: components["schemas"]["PostSearchHitDto"][];
|
|
3875
4356
|
};
|
|
3876
|
-
|
|
4357
|
+
PostStateRequestDto: {
|
|
3877
4358
|
/**
|
|
3878
|
-
* @description
|
|
3879
|
-
* @example {
|
|
3880
|
-
* "like": 12
|
|
3881
|
-
* }
|
|
3882
|
-
*/
|
|
3883
|
-
reaction_counts: Record<string, never>;
|
|
3884
|
-
};
|
|
3885
|
-
ReactionResponseDto: {
|
|
3886
|
-
/**
|
|
3887
|
-
* @description `true` on first call; `false` on idempotent retry.
|
|
3888
|
-
* @example true
|
|
3889
|
-
*/
|
|
3890
|
-
created: boolean;
|
|
3891
|
-
edge: components["schemas"]["EdgeResponseDto"];
|
|
3892
|
-
/**
|
|
3893
|
-
* @description Denormalised reaction counts after the write.
|
|
3894
|
-
* @example {
|
|
3895
|
-
* "fire": 3,
|
|
3896
|
-
* "like": 13
|
|
3897
|
-
* }
|
|
3898
|
-
*/
|
|
3899
|
-
reaction_counts: Record<string, never>;
|
|
3900
|
-
};
|
|
3901
|
-
RecordViewDto: {
|
|
3902
|
-
/**
|
|
3903
|
-
* @description Viewer social actor UUID.
|
|
3904
|
-
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
3905
|
-
*/
|
|
3906
|
-
viewer_actor_id: string;
|
|
3907
|
-
};
|
|
3908
|
-
RecordViewsDto: {
|
|
3909
|
-
/**
|
|
3910
|
-
* @description UUIDs of posts that became visible to the viewer in this batch. Capped at 200 to keep the payload sensible — the server will silently skip ids that aren't in the community or have been removed.
|
|
4359
|
+
* @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.
|
|
3911
4360
|
* @example [
|
|
3912
4361
|
* "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
|
3913
4362
|
* "cccccccc-cccc-cccc-cccc-cccccccccccc"
|
|
@@ -3915,127 +4364,50 @@ interface components {
|
|
|
3915
4364
|
*/
|
|
3916
4365
|
post_ids: string[];
|
|
3917
4366
|
};
|
|
3918
|
-
|
|
3919
|
-
/**
|
|
3920
|
-
|
|
3921
|
-
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3922
|
-
*/
|
|
3923
|
-
caller_actor_id: string;
|
|
3924
|
-
};
|
|
3925
|
-
RenameGroupDto: {
|
|
3926
|
-
/**
|
|
3927
|
-
* @description Social actor UUID of the renaming admin.
|
|
3928
|
-
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
3929
|
-
*/
|
|
3930
|
-
caller_actor_id: string;
|
|
3931
|
-
/** @description New display name. Pass null or empty to clear. */
|
|
3932
|
-
name: string | null;
|
|
3933
|
-
};
|
|
3934
|
-
RepostListResponseDto: {
|
|
3935
|
-
/** @description Page of repost post rows, each carrying the reposting actor_id. */
|
|
3936
|
-
data: components["schemas"]["RepostPostResponseDto"][];
|
|
3937
|
-
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4367
|
+
PostStateResponseDto: {
|
|
4368
|
+
/** @description One entry per requested post id (de-duplicated, request order). Unknown / cross-community ids resolve to the empty state. */
|
|
4369
|
+
data: components["schemas"]["PostViewerStateEntryDto"][];
|
|
3938
4370
|
};
|
|
3939
|
-
|
|
3940
|
-
/**
|
|
3941
|
-
* @description Author actor UUID.
|
|
3942
|
-
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
3943
|
-
*/
|
|
3944
|
-
actor_id: string;
|
|
3945
|
-
/**
|
|
3946
|
-
* @description Free-form attributes blob.
|
|
3947
|
-
* @example {}
|
|
3948
|
-
*/
|
|
3949
|
-
attributes: Record<string, never>;
|
|
4371
|
+
PostViewerStateEntryDto: {
|
|
3950
4372
|
/**
|
|
3951
|
-
* @description
|
|
3952
|
-
* @example
|
|
3953
|
-
*/
|
|
3954
|
-
body: string | null;
|
|
3955
|
-
/**
|
|
3956
|
-
* @description Live denormalised comment count.
|
|
3957
|
-
* @example 0
|
|
3958
|
-
*/
|
|
3959
|
-
comment_count: number;
|
|
3960
|
-
/**
|
|
3961
|
-
* @description Owning community UUID.
|
|
3962
|
-
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
3963
|
-
*/
|
|
3964
|
-
community_id: string;
|
|
3965
|
-
/**
|
|
3966
|
-
* @description ISO timestamp.
|
|
3967
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
3968
|
-
*/
|
|
3969
|
-
created_at: string;
|
|
3970
|
-
/**
|
|
3971
|
-
* @description ISO timestamp; null = no expiry.
|
|
3972
|
-
* @example null
|
|
4373
|
+
* @description The viewer has bookmarked the post.
|
|
4374
|
+
* @example true
|
|
3973
4375
|
*/
|
|
3974
|
-
|
|
4376
|
+
bookmarked: boolean;
|
|
3975
4377
|
/**
|
|
3976
|
-
* @description Post UUID.
|
|
4378
|
+
* @description Post UUID this entry describes.
|
|
3977
4379
|
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
3978
4380
|
*/
|
|
3979
|
-
|
|
4381
|
+
post_id: string;
|
|
3980
4382
|
/**
|
|
3981
|
-
* @description
|
|
3982
|
-
* @example
|
|
4383
|
+
* @description Reaction types the viewer currently has on the post, sorted ascending. Empty when the viewer has not reacted.
|
|
4384
|
+
* @example [
|
|
4385
|
+
* "fire",
|
|
4386
|
+
* "like"
|
|
4387
|
+
* ]
|
|
3983
4388
|
*/
|
|
3984
|
-
|
|
4389
|
+
reacted_types: string[];
|
|
3985
4390
|
/**
|
|
3986
|
-
* @description
|
|
4391
|
+
* @description The viewer has a currently-published repost of the post.
|
|
3987
4392
|
* @example false
|
|
3988
4393
|
*/
|
|
3989
|
-
|
|
3990
|
-
/**
|
|
3991
|
-
* @description Live denormalised reaction counts.
|
|
3992
|
-
* @example {}
|
|
3993
|
-
*/
|
|
3994
|
-
reaction_counts: Record<string, never>;
|
|
3995
|
-
/**
|
|
3996
|
-
* @description Reposts of this post (always 0 for the repost row itself).
|
|
3997
|
-
* @example 0
|
|
3998
|
-
*/
|
|
3999
|
-
repost_count: number;
|
|
4394
|
+
reposted: boolean;
|
|
4000
4395
|
/**
|
|
4001
|
-
* @description
|
|
4002
|
-
* @example bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|
|
4003
|
-
*/
|
|
4004
|
-
source_post_id: string | null;
|
|
4005
|
-
/**
|
|
4006
|
-
* @description Lifecycle status.
|
|
4007
|
-
* @example published
|
|
4008
|
-
* @enum {string}
|
|
4009
|
-
*/
|
|
4010
|
-
status: "published" | "hidden" | "removed" | "draft";
|
|
4011
|
-
/**
|
|
4012
|
-
* @description Optional title.
|
|
4396
|
+
* @description Poll option index the viewer voted for; `null` when the viewer has not voted (or the post has no poll).
|
|
4013
4397
|
* @example null
|
|
4014
4398
|
*/
|
|
4015
|
-
|
|
4016
|
-
/**
|
|
4017
|
-
* @description ISO timestamp.
|
|
4018
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
4019
|
-
*/
|
|
4020
|
-
updated_at: string;
|
|
4021
|
-
/**
|
|
4022
|
-
* @description Optional URL.
|
|
4023
|
-
* @example null
|
|
4024
|
-
*/
|
|
4025
|
-
url: string | null;
|
|
4026
|
-
/**
|
|
4027
|
-
* @description Visibility scope (inherited from the source).
|
|
4028
|
-
* @example public
|
|
4029
|
-
* @enum {string}
|
|
4030
|
-
*/
|
|
4031
|
-
visibility: "public" | "followers" | "close_friends" | "private";
|
|
4399
|
+
voted_option: number | null;
|
|
4032
4400
|
};
|
|
4033
|
-
|
|
4401
|
+
ReactionCountsResponseDto: {
|
|
4034
4402
|
/**
|
|
4035
|
-
* @description
|
|
4036
|
-
* @example
|
|
4403
|
+
* @description Denormalised reaction counts after the write.
|
|
4404
|
+
* @example {
|
|
4405
|
+
* "like": 12
|
|
4406
|
+
* }
|
|
4037
4407
|
*/
|
|
4038
|
-
|
|
4408
|
+
reaction_counts: Record<string, never>;
|
|
4409
|
+
};
|
|
4410
|
+
ReactionEdgeResponseDto: {
|
|
4039
4411
|
/**
|
|
4040
4412
|
* @description Owning community UUID.
|
|
4041
4413
|
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
@@ -4047,120 +4419,142 @@ interface components {
|
|
|
4047
4419
|
*/
|
|
4048
4420
|
created_at: string;
|
|
4049
4421
|
/**
|
|
4050
|
-
* @description
|
|
4051
|
-
* @example
|
|
4422
|
+
* @description Destination actor UUID — always `null` for post reactions (the target is `dst_post_id`).
|
|
4423
|
+
* @example null
|
|
4052
4424
|
*/
|
|
4053
|
-
|
|
4425
|
+
dst_actor_id: string | null;
|
|
4054
4426
|
/**
|
|
4055
|
-
* @description
|
|
4056
|
-
* @example
|
|
4427
|
+
* @description Target post UUID.
|
|
4428
|
+
* @example pppppppp-pppp-pppp-pppp-pppppppppppp
|
|
4057
4429
|
*/
|
|
4058
|
-
|
|
4430
|
+
dst_post_id: string;
|
|
4059
4431
|
/**
|
|
4060
|
-
* @description
|
|
4061
|
-
* @example
|
|
4432
|
+
* @description Edge UUID.
|
|
4433
|
+
* @example eeeeeeee-0000-0000-0000-000000000001
|
|
4062
4434
|
*/
|
|
4063
4435
|
id: string;
|
|
4064
4436
|
/**
|
|
4065
|
-
* @description
|
|
4066
|
-
* @example
|
|
4437
|
+
* @description Edge kind (`reaction:<type>`).
|
|
4438
|
+
* @example reaction:like
|
|
4067
4439
|
*/
|
|
4068
|
-
|
|
4440
|
+
kind: string;
|
|
4069
4441
|
/**
|
|
4070
|
-
* @description
|
|
4071
|
-
* @example
|
|
4072
|
-
* @enum {string}
|
|
4442
|
+
* @description Free-form payload.
|
|
4443
|
+
* @example {}
|
|
4073
4444
|
*/
|
|
4074
|
-
|
|
4445
|
+
payload: Record<string, never>;
|
|
4075
4446
|
/**
|
|
4076
|
-
* @description
|
|
4077
|
-
* @example
|
|
4447
|
+
* @description Reactor actor UUID.
|
|
4448
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4078
4449
|
*/
|
|
4079
|
-
|
|
4450
|
+
src_actor_id: string;
|
|
4080
4451
|
};
|
|
4081
|
-
|
|
4082
|
-
/**
|
|
4083
|
-
* @description Author actor UUID.
|
|
4084
|
-
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
4085
|
-
*/
|
|
4086
|
-
actor_id: string;
|
|
4452
|
+
ReactionResponseDto: {
|
|
4087
4453
|
/**
|
|
4088
|
-
* @description
|
|
4089
|
-
* @example
|
|
4454
|
+
* @description `true` on first call; `false` on idempotent retry.
|
|
4455
|
+
* @example true
|
|
4090
4456
|
*/
|
|
4091
|
-
|
|
4457
|
+
created: boolean;
|
|
4458
|
+
edge: components["schemas"]["ReactionEdgeResponseDto"];
|
|
4092
4459
|
/**
|
|
4093
|
-
* @description
|
|
4094
|
-
* @example
|
|
4460
|
+
* @description Denormalised reaction counts after the write.
|
|
4461
|
+
* @example {
|
|
4462
|
+
* "fire": 3,
|
|
4463
|
+
* "like": 13
|
|
4464
|
+
* }
|
|
4095
4465
|
*/
|
|
4096
|
-
|
|
4466
|
+
reaction_counts: Record<string, never>;
|
|
4467
|
+
};
|
|
4468
|
+
RecordViewDto: {
|
|
4097
4469
|
/**
|
|
4098
|
-
* @description
|
|
4099
|
-
* @example
|
|
4470
|
+
* @description Viewer social actor UUID.
|
|
4471
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4100
4472
|
*/
|
|
4101
|
-
|
|
4473
|
+
viewer_actor_id: string;
|
|
4474
|
+
};
|
|
4475
|
+
RecordViewsDto: {
|
|
4102
4476
|
/**
|
|
4103
|
-
* @description
|
|
4104
|
-
* @example
|
|
4477
|
+
* @description UUIDs of posts that became visible to the viewer in this batch. Capped at 200 to keep the payload sensible — the server will silently skip ids that aren't in the community or have been removed.
|
|
4478
|
+
* @example [
|
|
4479
|
+
* "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
|
4480
|
+
* "cccccccc-cccc-cccc-cccc-cccccccccccc"
|
|
4481
|
+
* ]
|
|
4105
4482
|
*/
|
|
4106
|
-
|
|
4483
|
+
post_ids: string[];
|
|
4484
|
+
};
|
|
4485
|
+
RelationshipEntryDto: {
|
|
4107
4486
|
/**
|
|
4108
|
-
* @description
|
|
4109
|
-
* @example
|
|
4487
|
+
* @description This actor has blocked the source actor — surface it BEFORE attempting a follow/react write instead of handling the 409.
|
|
4488
|
+
* @example false
|
|
4110
4489
|
*/
|
|
4111
|
-
|
|
4490
|
+
blocked_by: boolean;
|
|
4112
4491
|
/**
|
|
4113
|
-
* @description
|
|
4114
|
-
* @example
|
|
4492
|
+
* @description The source actor has blocked this actor.
|
|
4493
|
+
* @example false
|
|
4115
4494
|
*/
|
|
4116
|
-
|
|
4495
|
+
blocking: boolean;
|
|
4117
4496
|
/**
|
|
4118
|
-
* @description
|
|
4119
|
-
* @example
|
|
4497
|
+
* @description This actor is on the source actor's close-friend list.
|
|
4498
|
+
* @example false
|
|
4120
4499
|
*/
|
|
4121
|
-
|
|
4500
|
+
close_friend: boolean;
|
|
4122
4501
|
/**
|
|
4123
|
-
* @description
|
|
4124
|
-
* @example
|
|
4502
|
+
* @description Destination actor UUID this entry describes.
|
|
4503
|
+
* @example aaaaaaaa-0000-0000-0000-000000000002
|
|
4125
4504
|
*/
|
|
4126
|
-
|
|
4505
|
+
dst_actor_id: string;
|
|
4127
4506
|
/**
|
|
4128
|
-
* @description
|
|
4507
|
+
* @description This actor follows the source actor.
|
|
4129
4508
|
* @example false
|
|
4130
4509
|
*/
|
|
4131
|
-
|
|
4510
|
+
followed_by: boolean;
|
|
4132
4511
|
/**
|
|
4133
|
-
* @description
|
|
4134
|
-
* @example
|
|
4512
|
+
* @description The source actor follows this actor.
|
|
4513
|
+
* @example true
|
|
4135
4514
|
*/
|
|
4136
|
-
|
|
4515
|
+
following: boolean;
|
|
4137
4516
|
/**
|
|
4138
|
-
* @description
|
|
4139
|
-
* @example
|
|
4140
|
-
* @enum {string}
|
|
4517
|
+
* @description The source actor has muted this actor.
|
|
4518
|
+
* @example false
|
|
4141
4519
|
*/
|
|
4142
|
-
|
|
4520
|
+
muting: boolean;
|
|
4143
4521
|
/**
|
|
4144
|
-
* @description
|
|
4145
|
-
* @example
|
|
4522
|
+
* @description The source actor has restricted this actor.
|
|
4523
|
+
* @example false
|
|
4146
4524
|
*/
|
|
4147
|
-
|
|
4525
|
+
restricting: boolean;
|
|
4526
|
+
};
|
|
4527
|
+
RelationshipListResponseDto: {
|
|
4528
|
+
/** @description One entry per requested id (de-duplicated, request order). Unknown ids resolve to all-false flags. */
|
|
4529
|
+
data: components["schemas"]["RelationshipEntryDto"][];
|
|
4530
|
+
};
|
|
4531
|
+
RemoveListMemberDto: {
|
|
4148
4532
|
/**
|
|
4149
|
-
* @description
|
|
4150
|
-
* @example
|
|
4533
|
+
* @description Caller — social actor UUID. Must equal the list owner.
|
|
4534
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4151
4535
|
*/
|
|
4152
|
-
|
|
4536
|
+
caller_actor_id: string;
|
|
4537
|
+
};
|
|
4538
|
+
RemoveMemberDto: {
|
|
4153
4539
|
/**
|
|
4154
|
-
* @description
|
|
4155
|
-
* @example
|
|
4540
|
+
* @description Social actor UUID of the acting party. Equal to the target for self-leave.
|
|
4541
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4156
4542
|
*/
|
|
4157
|
-
|
|
4543
|
+
caller_actor_id: string;
|
|
4544
|
+
};
|
|
4545
|
+
RenameGroupDto: {
|
|
4158
4546
|
/**
|
|
4159
|
-
* @description
|
|
4160
|
-
* @example
|
|
4161
|
-
* @enum {string}
|
|
4547
|
+
* @description Social actor UUID of the renaming admin.
|
|
4548
|
+
* @example aaaaaaaa-0000-0000-0000-000000000001
|
|
4162
4549
|
*/
|
|
4163
|
-
|
|
4550
|
+
caller_actor_id: string;
|
|
4551
|
+
/** @description New display name. Pass null or empty to clear. */
|
|
4552
|
+
name: string | null;
|
|
4553
|
+
};
|
|
4554
|
+
RepostListResponseDto: {
|
|
4555
|
+
/** @description Page of repost post rows, each carrying the reposting actor_id. */
|
|
4556
|
+
data: components["schemas"]["PostResponseDto"][];
|
|
4557
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4164
4558
|
};
|
|
4165
4559
|
SendMessageDto: {
|
|
4166
4560
|
attachments?: components["schemas"]["DirectMessageAttachmentDto"][];
|
|
@@ -4251,60 +4645,10 @@ interface components {
|
|
|
4251
4645
|
};
|
|
4252
4646
|
StoryViewersResponse: {
|
|
4253
4647
|
data: components["schemas"]["StoryViewerResponse"][];
|
|
4254
|
-
pagination: components["schemas"]["
|
|
4255
|
-
};
|
|
4256
|
-
SuggestedActorResponseDto: {
|
|
4257
|
-
/**
|
|
4258
|
-
* @description Avatar URL.
|
|
4259
|
-
* @example https://cdn.example.com/avatars/ada.png
|
|
4260
|
-
*/
|
|
4261
|
-
avatar_url: string | null;
|
|
4262
|
-
/**
|
|
4263
|
-
* @description Owning community UUID.
|
|
4264
|
-
* @example cccccccc-cccc-cccc-cccc-cccccccccccc
|
|
4265
|
-
*/
|
|
4266
|
-
community_id: string;
|
|
4267
|
-
/**
|
|
4268
|
-
* @description ISO timestamp.
|
|
4269
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
4270
|
-
*/
|
|
4271
|
-
created_at: string;
|
|
4272
|
-
/**
|
|
4273
|
-
* @description Display name.
|
|
4274
|
-
* @example Ada Lovelace
|
|
4275
|
-
*/
|
|
4276
|
-
display_name: string | null;
|
|
4277
|
-
/**
|
|
4278
|
-
* @description Customer-supplied stable identifier.
|
|
4279
|
-
* @example user_abc123
|
|
4280
|
-
*/
|
|
4281
|
-
external_id: string;
|
|
4282
|
-
/**
|
|
4283
|
-
* @description Social actor UUID.
|
|
4284
|
-
* @example aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|
|
4285
|
-
*/
|
|
4286
|
-
id: string;
|
|
4287
|
-
/**
|
|
4288
|
-
* @description Free-form metadata blob.
|
|
4289
|
-
* @example {
|
|
4290
|
-
* "tier": "pro"
|
|
4291
|
-
* }
|
|
4292
|
-
*/
|
|
4293
|
-
metadata: Record<string, never>;
|
|
4294
|
-
/**
|
|
4295
|
-
* @description Lifecycle status. Suggestions only surface `active` actors.
|
|
4296
|
-
* @example active
|
|
4297
|
-
* @enum {string}
|
|
4298
|
-
*/
|
|
4299
|
-
status: "active" | "suspended" | "deleted";
|
|
4300
|
-
/**
|
|
4301
|
-
* @description ISO timestamp.
|
|
4302
|
-
* @example 2026-05-01T12:00:00.000Z
|
|
4303
|
-
*/
|
|
4304
|
-
updated_at: string;
|
|
4648
|
+
pagination: components["schemas"]["PaginationResponseDto"];
|
|
4305
4649
|
};
|
|
4306
4650
|
SuggestedFollowResponseDto: {
|
|
4307
|
-
actor: components["schemas"]["
|
|
4651
|
+
actor: components["schemas"]["ActorResponseDto"];
|
|
4308
4652
|
/**
|
|
4309
4653
|
* @description Why this candidate surfaced. `followed_by_friends` is the friend-of-a-friend signal; `top_in_community` is the cold-start fallback used when FoF doesn't fill the requested limit.
|
|
4310
4654
|
* @example followed_by_friends
|
|
@@ -4372,7 +4716,8 @@ interface components {
|
|
|
4372
4716
|
UpdateCommunityDto: {
|
|
4373
4717
|
description?: string | null;
|
|
4374
4718
|
display_name?: string;
|
|
4375
|
-
settings
|
|
4719
|
+
/** @description Replaces the settings blob. Supported keys are typed on CommunitySettingsDto; unrecognized keys are stored verbatim but not consumed. */
|
|
4720
|
+
settings?: components["schemas"]["CommunitySettingsDto"];
|
|
4376
4721
|
/** @enum {string} */
|
|
4377
4722
|
status?: "active" | "suspended" | "archived";
|
|
4378
4723
|
};
|
|
@@ -4439,7 +4784,7 @@ interface components {
|
|
|
4439
4784
|
/** @description ISO-8601 publish-at timestamp. Updating only valid while the post is `status="scheduled"`. Pass null to clear (typically only the scheduler does this on promotion). */
|
|
4440
4785
|
scheduled_for?: string | null;
|
|
4441
4786
|
/**
|
|
4442
|
-
* @description Direct status transition. Pass `published` to promote a `draft` or `scheduled`. Prefer the moderation lane for `hidden`/`removed`.
|
|
4787
|
+
* @description Direct status transition. Pass `published` to promote a `draft` or `scheduled`. Prefer the moderation lane for `hidden`/`removed`.
|
|
4443
4788
|
* @enum {string}
|
|
4444
4789
|
*/
|
|
4445
4790
|
status?: "published" | "hidden" | "removed" | "draft" | "scheduled";
|
|
@@ -4451,8 +4796,13 @@ interface components {
|
|
|
4451
4796
|
visibility?: "public" | "followers" | "close_friends" | "private";
|
|
4452
4797
|
};
|
|
4453
4798
|
UpdateWebhookDto: {
|
|
4454
|
-
/**
|
|
4455
|
-
|
|
4799
|
+
/**
|
|
4800
|
+
* @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.
|
|
4801
|
+
* @example false
|
|
4802
|
+
*/
|
|
4803
|
+
disabled?: boolean;
|
|
4804
|
+
/** @description New subscription set. Unknown values are rejected with a 400 naming the valid set. */
|
|
4805
|
+
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")[];
|
|
4456
4806
|
/** @description New subscriber URL. */
|
|
4457
4807
|
url?: string;
|
|
4458
4808
|
};
|
|
@@ -4488,6 +4838,21 @@ interface components {
|
|
|
4488
4838
|
*/
|
|
4489
4839
|
created: boolean;
|
|
4490
4840
|
};
|
|
4841
|
+
WebhookEventTypesResponseDto: {
|
|
4842
|
+
/**
|
|
4843
|
+
* @description Every event type a webhook can subscribe to, in catalog order.
|
|
4844
|
+
* @example [
|
|
4845
|
+
* "post.created",
|
|
4846
|
+
* "post.deleted",
|
|
4847
|
+
* "comment.created"
|
|
4848
|
+
* ]
|
|
4849
|
+
*/
|
|
4850
|
+
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")[];
|
|
4851
|
+
};
|
|
4852
|
+
WebhookListResponseDto: {
|
|
4853
|
+
/** @description Every webhook on the community — disabled rows included, so auto-disabled subscribers stay discoverable. */
|
|
4854
|
+
data: components["schemas"]["WebhookResponseDto"][];
|
|
4855
|
+
};
|
|
4491
4856
|
WebhookResponseDto: {
|
|
4492
4857
|
/**
|
|
4493
4858
|
* @description Owning community UUID.
|
|
@@ -4515,13 +4880,13 @@ interface components {
|
|
|
4515
4880
|
*/
|
|
4516
4881
|
disabled_reason: string | null;
|
|
4517
4882
|
/**
|
|
4518
|
-
* @description Subscribed event types. Each item is one of the social event names
|
|
4883
|
+
* @description Subscribed event types. Each item is one of the social event names — see GET /v1/webhook-event-types for the live catalog.
|
|
4519
4884
|
* @example [
|
|
4520
4885
|
* "post.created",
|
|
4521
4886
|
* "comment.created"
|
|
4522
4887
|
* ]
|
|
4523
4888
|
*/
|
|
4524
|
-
event_types:
|
|
4889
|
+
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")[];
|
|
4525
4890
|
/**
|
|
4526
4891
|
* @description Webhook UUID.
|
|
4527
4892
|
* @example wwwwwwww-0000-0000-0000-000000000001
|
|
@@ -4564,10 +4929,12 @@ interface operations {
|
|
|
4564
4929
|
ActorController_list: {
|
|
4565
4930
|
parameters: {
|
|
4566
4931
|
query?: {
|
|
4567
|
-
/** @description Page size; capped at 200. */
|
|
4932
|
+
/** @description Page size; capped at 200. Ignored when `ids` is passed. */
|
|
4568
4933
|
limit?: number;
|
|
4569
|
-
/** @description Opaque cursor from the previous page's `pagination.next_cursor`. */
|
|
4934
|
+
/** @description Opaque cursor from the previous page's `pagination.next_cursor`. Ignored when `ids` is passed. */
|
|
4570
4935
|
cursor?: string;
|
|
4936
|
+
/** @description Comma-separated actor UUIDs (max 100, de-duplicated) to batch-fetch. Returns matching actors in request order; unknown ids are silently omitted. */
|
|
4937
|
+
ids?: string;
|
|
4571
4938
|
};
|
|
4572
4939
|
header?: never;
|
|
4573
4940
|
path: {
|
|
@@ -4578,16 +4945,25 @@ interface operations {
|
|
|
4578
4945
|
};
|
|
4579
4946
|
requestBody?: never;
|
|
4580
4947
|
responses: {
|
|
4581
|
-
/** @description Page of actors with `next_cursor` + `has_more
|
|
4948
|
+
/** @description Page of actors with `next_cursor` + `has_more` (batch-fetch responses always report `has_more: false`). */
|
|
4582
4949
|
200: {
|
|
4583
4950
|
headers: {
|
|
4584
4951
|
[name: string]: unknown;
|
|
4585
4952
|
};
|
|
4586
4953
|
content: {
|
|
4587
|
-
"application/json": components["schemas"]["
|
|
4954
|
+
"application/json": components["schemas"]["ActorPageResponseDto"];
|
|
4588
4955
|
};
|
|
4589
4956
|
};
|
|
4590
|
-
/** @description
|
|
4957
|
+
/** @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). */
|
|
4958
|
+
400: {
|
|
4959
|
+
headers: {
|
|
4960
|
+
[name: string]: unknown;
|
|
4961
|
+
};
|
|
4962
|
+
content: {
|
|
4963
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4964
|
+
};
|
|
4965
|
+
};
|
|
4966
|
+
/** @description PAK lacks `social.list`. */
|
|
4591
4967
|
403: {
|
|
4592
4968
|
headers: {
|
|
4593
4969
|
[name: string]: unknown;
|
|
@@ -4661,6 +5037,114 @@ interface operations {
|
|
|
4661
5037
|
};
|
|
4662
5038
|
};
|
|
4663
5039
|
};
|
|
5040
|
+
ActorController_batchUpsert: {
|
|
5041
|
+
parameters: {
|
|
5042
|
+
query?: never;
|
|
5043
|
+
header?: never;
|
|
5044
|
+
path: {
|
|
5045
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
5046
|
+
communityId: string;
|
|
5047
|
+
};
|
|
5048
|
+
cookie?: never;
|
|
5049
|
+
};
|
|
5050
|
+
requestBody: {
|
|
5051
|
+
content: {
|
|
5052
|
+
"application/json": components["schemas"]["BatchUpsertActorsDto"];
|
|
5053
|
+
};
|
|
5054
|
+
};
|
|
5055
|
+
responses: {
|
|
5056
|
+
/** @description Per-item results, request order. `succeeded` + `failed` summarise the batch. */
|
|
5057
|
+
201: {
|
|
5058
|
+
headers: {
|
|
5059
|
+
[name: string]: unknown;
|
|
5060
|
+
};
|
|
5061
|
+
content: {
|
|
5062
|
+
"application/json": components["schemas"]["BatchActorsResponseDto"];
|
|
5063
|
+
};
|
|
5064
|
+
};
|
|
5065
|
+
/** @description Envelope validation failure: `actors` missing, empty, over 200 items, or an item shape invalid. */
|
|
5066
|
+
400: {
|
|
5067
|
+
headers: {
|
|
5068
|
+
[name: string]: unknown;
|
|
5069
|
+
};
|
|
5070
|
+
content: {
|
|
5071
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5072
|
+
};
|
|
5073
|
+
};
|
|
5074
|
+
/** @description PAK lacks `social.create` for this community. */
|
|
5075
|
+
403: {
|
|
5076
|
+
headers: {
|
|
5077
|
+
[name: string]: unknown;
|
|
5078
|
+
};
|
|
5079
|
+
content: {
|
|
5080
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5081
|
+
};
|
|
5082
|
+
};
|
|
5083
|
+
/** @description Community not found in the PAK's workspace. */
|
|
5084
|
+
404: {
|
|
5085
|
+
headers: {
|
|
5086
|
+
[name: string]: unknown;
|
|
5087
|
+
};
|
|
5088
|
+
content: {
|
|
5089
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5090
|
+
};
|
|
5091
|
+
};
|
|
5092
|
+
};
|
|
5093
|
+
};
|
|
5094
|
+
ActorController_batchGetByExternal: {
|
|
5095
|
+
parameters: {
|
|
5096
|
+
query?: never;
|
|
5097
|
+
header?: never;
|
|
5098
|
+
path: {
|
|
5099
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
5100
|
+
communityId: string;
|
|
5101
|
+
};
|
|
5102
|
+
cookie?: never;
|
|
5103
|
+
};
|
|
5104
|
+
requestBody: {
|
|
5105
|
+
content: {
|
|
5106
|
+
"application/json": components["schemas"]["BatchExternalIdsDto"];
|
|
5107
|
+
};
|
|
5108
|
+
};
|
|
5109
|
+
responses: {
|
|
5110
|
+
/** @description Actors found (request order, de-duplicated) plus the `missing[]` external_ids. */
|
|
5111
|
+
200: {
|
|
5112
|
+
headers: {
|
|
5113
|
+
[name: string]: unknown;
|
|
5114
|
+
};
|
|
5115
|
+
content: {
|
|
5116
|
+
"application/json": components["schemas"]["ActorsByExternalBatchResponseDto"];
|
|
5117
|
+
};
|
|
5118
|
+
};
|
|
5119
|
+
/** @description `external_ids` missing, empty, over 200 items, or an entry exceeding 256 chars. */
|
|
5120
|
+
400: {
|
|
5121
|
+
headers: {
|
|
5122
|
+
[name: string]: unknown;
|
|
5123
|
+
};
|
|
5124
|
+
content: {
|
|
5125
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5126
|
+
};
|
|
5127
|
+
};
|
|
5128
|
+
/** @description PAK lacks `social.read`. */
|
|
5129
|
+
403: {
|
|
5130
|
+
headers: {
|
|
5131
|
+
[name: string]: unknown;
|
|
5132
|
+
};
|
|
5133
|
+
content: {
|
|
5134
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5135
|
+
};
|
|
5136
|
+
};
|
|
5137
|
+
/** @description Community not found in the PAK's workspace. */
|
|
5138
|
+
404: {
|
|
5139
|
+
headers: {
|
|
5140
|
+
[name: string]: unknown;
|
|
5141
|
+
};
|
|
5142
|
+
content: {
|
|
5143
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5144
|
+
};
|
|
5145
|
+
};
|
|
5146
|
+
};
|
|
5147
|
+
};
|
|
4664
5148
|
ActorController_getByExternal: {
|
|
4665
5149
|
parameters: {
|
|
4666
5150
|
query?: never;
|
|
@@ -4840,6 +5324,8 @@ interface operations {
|
|
|
4840
5324
|
query?: {
|
|
4841
5325
|
limit?: number;
|
|
4842
5326
|
cursor?: string;
|
|
5327
|
+
/** @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`. */
|
|
5328
|
+
expand?: "dst_actor";
|
|
4843
5329
|
};
|
|
4844
5330
|
header?: never;
|
|
4845
5331
|
path: {
|
|
@@ -4858,10 +5344,19 @@ interface operations {
|
|
|
4858
5344
|
[name: string]: unknown;
|
|
4859
5345
|
};
|
|
4860
5346
|
content: {
|
|
4861
|
-
"application/json": components["schemas"]["
|
|
5347
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
4862
5348
|
};
|
|
4863
5349
|
};
|
|
4864
|
-
/** @description
|
|
5350
|
+
/** @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`). */
|
|
5351
|
+
400: {
|
|
5352
|
+
headers: {
|
|
5353
|
+
[name: string]: unknown;
|
|
5354
|
+
};
|
|
5355
|
+
content: {
|
|
5356
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5357
|
+
};
|
|
5358
|
+
};
|
|
5359
|
+
/** @description PAK lacks `social.list`. */
|
|
4865
5360
|
403: {
|
|
4866
5361
|
headers: {
|
|
4867
5362
|
[name: string]: unknown;
|
|
@@ -4954,13 +5449,13 @@ interface operations {
|
|
|
4954
5449
|
"application/json": components["schemas"]["CloseFriendsListResponse"];
|
|
4955
5450
|
};
|
|
4956
5451
|
};
|
|
4957
|
-
/** @description
|
|
4958
|
-
|
|
5452
|
+
/** @description Invalid cursor (`INVALID_CURSOR`) — legacy raw-id cursors are rejected; restart from the first page and follow `pagination.next_cursor`. */
|
|
5453
|
+
400: {
|
|
4959
5454
|
headers: {
|
|
4960
5455
|
[name: string]: unknown;
|
|
4961
5456
|
};
|
|
4962
5457
|
content: {
|
|
4963
|
-
"application/json": components["schemas"]["
|
|
5458
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4964
5459
|
};
|
|
4965
5460
|
};
|
|
4966
5461
|
/** @description PAK lacks `social.close-friend.read`. */
|
|
@@ -4969,7 +5464,7 @@ interface operations {
|
|
|
4969
5464
|
[name: string]: unknown;
|
|
4970
5465
|
};
|
|
4971
5466
|
content: {
|
|
4972
|
-
"application/json": components["schemas"]["
|
|
5467
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4973
5468
|
};
|
|
4974
5469
|
};
|
|
4975
5470
|
/** @description Community or actor not found. */
|
|
@@ -4978,7 +5473,7 @@ interface operations {
|
|
|
4978
5473
|
[name: string]: unknown;
|
|
4979
5474
|
};
|
|
4980
5475
|
content: {
|
|
4981
|
-
"application/json": components["schemas"]["
|
|
5476
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4982
5477
|
};
|
|
4983
5478
|
};
|
|
4984
5479
|
};
|
|
@@ -5110,7 +5605,7 @@ interface operations {
|
|
|
5110
5605
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5111
5606
|
};
|
|
5112
5607
|
};
|
|
5113
|
-
/** @description PAK lacks `social.
|
|
5608
|
+
/** @description PAK lacks `social.list`. */
|
|
5114
5609
|
403: {
|
|
5115
5610
|
headers: {
|
|
5116
5611
|
[name: string]: unknown;
|
|
@@ -5135,6 +5630,8 @@ interface operations {
|
|
|
5135
5630
|
query?: {
|
|
5136
5631
|
limit?: number;
|
|
5137
5632
|
cursor?: string;
|
|
5633
|
+
/** @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`. */
|
|
5634
|
+
expand?: "src_actor";
|
|
5138
5635
|
};
|
|
5139
5636
|
header?: never;
|
|
5140
5637
|
path: {
|
|
@@ -5153,10 +5650,19 @@ interface operations {
|
|
|
5153
5650
|
[name: string]: unknown;
|
|
5154
5651
|
};
|
|
5155
5652
|
content: {
|
|
5156
|
-
"application/json": components["schemas"]["
|
|
5653
|
+
"application/json": components["schemas"]["FollowerEdgeListResponseDto"];
|
|
5157
5654
|
};
|
|
5158
5655
|
};
|
|
5159
|
-
/** @description
|
|
5656
|
+
/** @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`). */
|
|
5657
|
+
400: {
|
|
5658
|
+
headers: {
|
|
5659
|
+
[name: string]: unknown;
|
|
5660
|
+
};
|
|
5661
|
+
content: {
|
|
5662
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5663
|
+
};
|
|
5664
|
+
};
|
|
5665
|
+
/** @description PAK lacks `social.list`. */
|
|
5160
5666
|
403: {
|
|
5161
5667
|
headers: {
|
|
5162
5668
|
[name: string]: unknown;
|
|
@@ -5181,6 +5687,8 @@ interface operations {
|
|
|
5181
5687
|
query?: {
|
|
5182
5688
|
limit?: number;
|
|
5183
5689
|
cursor?: string;
|
|
5690
|
+
/** @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`. */
|
|
5691
|
+
expand?: "dst_actor";
|
|
5184
5692
|
};
|
|
5185
5693
|
header?: never;
|
|
5186
5694
|
path: {
|
|
@@ -5199,10 +5707,19 @@ interface operations {
|
|
|
5199
5707
|
[name: string]: unknown;
|
|
5200
5708
|
};
|
|
5201
5709
|
content: {
|
|
5202
|
-
"application/json": components["schemas"]["
|
|
5710
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
5203
5711
|
};
|
|
5204
5712
|
};
|
|
5205
|
-
/** @description
|
|
5713
|
+
/** @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`). */
|
|
5714
|
+
400: {
|
|
5715
|
+
headers: {
|
|
5716
|
+
[name: string]: unknown;
|
|
5717
|
+
};
|
|
5718
|
+
content: {
|
|
5719
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5720
|
+
};
|
|
5721
|
+
};
|
|
5722
|
+
/** @description PAK lacks `social.list`. */
|
|
5206
5723
|
403: {
|
|
5207
5724
|
headers: {
|
|
5208
5725
|
[name: string]: unknown;
|
|
@@ -5383,7 +5900,7 @@ interface operations {
|
|
|
5383
5900
|
limit?: number;
|
|
5384
5901
|
/** @description Cursor from the prior page. */
|
|
5385
5902
|
cursor?: string;
|
|
5386
|
-
/** @description Requester
|
|
5903
|
+
/** @description Requester social actor UUID. Without it, only public pinned posts surface. */
|
|
5387
5904
|
requester_id?: string;
|
|
5388
5905
|
};
|
|
5389
5906
|
header?: never;
|
|
@@ -5406,22 +5923,13 @@ interface operations {
|
|
|
5406
5923
|
"application/json": components["schemas"]["HighlightsResponse"];
|
|
5407
5924
|
};
|
|
5408
5925
|
};
|
|
5409
|
-
/** @description
|
|
5410
|
-
401: {
|
|
5411
|
-
headers: {
|
|
5412
|
-
[name: string]: unknown;
|
|
5413
|
-
};
|
|
5414
|
-
content: {
|
|
5415
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
5416
|
-
};
|
|
5417
|
-
};
|
|
5418
|
-
/** @description PAK lacks `social.read`. */
|
|
5926
|
+
/** @description PAK lacks `social.list`. */
|
|
5419
5927
|
403: {
|
|
5420
5928
|
headers: {
|
|
5421
5929
|
[name: string]: unknown;
|
|
5422
5930
|
};
|
|
5423
5931
|
content: {
|
|
5424
|
-
"application/json": components["schemas"]["
|
|
5932
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5425
5933
|
};
|
|
5426
5934
|
};
|
|
5427
5935
|
/** @description Community or actor not found. */
|
|
@@ -5430,7 +5938,7 @@ interface operations {
|
|
|
5430
5938
|
[name: string]: unknown;
|
|
5431
5939
|
};
|
|
5432
5940
|
content: {
|
|
5433
|
-
"application/json": components["schemas"]["
|
|
5941
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5434
5942
|
};
|
|
5435
5943
|
};
|
|
5436
5944
|
};
|
|
@@ -5629,6 +6137,8 @@ interface operations {
|
|
|
5629
6137
|
query?: {
|
|
5630
6138
|
limit?: number;
|
|
5631
6139
|
cursor?: string;
|
|
6140
|
+
/** @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`. */
|
|
6141
|
+
expand?: "dst_actor";
|
|
5632
6142
|
};
|
|
5633
6143
|
header?: never;
|
|
5634
6144
|
path: {
|
|
@@ -5647,10 +6157,19 @@ interface operations {
|
|
|
5647
6157
|
[name: string]: unknown;
|
|
5648
6158
|
};
|
|
5649
6159
|
content: {
|
|
5650
|
-
"application/json": components["schemas"]["
|
|
6160
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
5651
6161
|
};
|
|
5652
6162
|
};
|
|
5653
|
-
/** @description
|
|
6163
|
+
/** @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`). */
|
|
6164
|
+
400: {
|
|
6165
|
+
headers: {
|
|
6166
|
+
[name: string]: unknown;
|
|
6167
|
+
};
|
|
6168
|
+
content: {
|
|
6169
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6170
|
+
};
|
|
6171
|
+
};
|
|
6172
|
+
/** @description PAK lacks `social.list`. */
|
|
5654
6173
|
403: {
|
|
5655
6174
|
headers: {
|
|
5656
6175
|
[name: string]: unknown;
|
|
@@ -5722,8 +6241,8 @@ interface operations {
|
|
|
5722
6241
|
communityId: string;
|
|
5723
6242
|
/** @description Social actor UUID. */
|
|
5724
6243
|
actorId: string;
|
|
5725
|
-
/** @description NotificationKind label
|
|
5726
|
-
kind:
|
|
6244
|
+
/** @description NotificationKind label. */
|
|
6245
|
+
kind: "follow" | "reaction" | "comment_on_post" | "reply_to_comment" | "mention" | "vote" | "repost" | "quote_post" | "dm_new_message" | "dm_added_to_group" | "dm_role_changed" | "dm_reaction";
|
|
5727
6246
|
};
|
|
5728
6247
|
cookie?: never;
|
|
5729
6248
|
};
|
|
@@ -5803,22 +6322,13 @@ interface operations {
|
|
|
5803
6322
|
"application/json": components["schemas"]["NotificationListResponse"];
|
|
5804
6323
|
};
|
|
5805
6324
|
};
|
|
5806
|
-
/** @description Missing or invalid PAK. */
|
|
5807
|
-
401: {
|
|
5808
|
-
headers: {
|
|
5809
|
-
[name: string]: unknown;
|
|
5810
|
-
};
|
|
5811
|
-
content: {
|
|
5812
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
5813
|
-
};
|
|
5814
|
-
};
|
|
5815
6325
|
/** @description PAK lacks `social.notify.read` for this community. */
|
|
5816
6326
|
403: {
|
|
5817
6327
|
headers: {
|
|
5818
6328
|
[name: string]: unknown;
|
|
5819
6329
|
};
|
|
5820
6330
|
content: {
|
|
5821
|
-
"application/json": components["schemas"]["
|
|
6331
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5822
6332
|
};
|
|
5823
6333
|
};
|
|
5824
6334
|
/** @description Community or actor not found (also returned for cross-workspace probes). */
|
|
@@ -5827,7 +6337,7 @@ interface operations {
|
|
|
5827
6337
|
[name: string]: unknown;
|
|
5828
6338
|
};
|
|
5829
6339
|
content: {
|
|
5830
|
-
"application/json": components["schemas"]["
|
|
6340
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5831
6341
|
};
|
|
5832
6342
|
};
|
|
5833
6343
|
};
|
|
@@ -5865,16 +6375,7 @@ interface operations {
|
|
|
5865
6375
|
[name: string]: unknown;
|
|
5866
6376
|
};
|
|
5867
6377
|
content: {
|
|
5868
|
-
"application/json": components["schemas"]["
|
|
5869
|
-
};
|
|
5870
|
-
};
|
|
5871
|
-
/** @description Missing or invalid PAK. */
|
|
5872
|
-
401: {
|
|
5873
|
-
headers: {
|
|
5874
|
-
[name: string]: unknown;
|
|
5875
|
-
};
|
|
5876
|
-
content: {
|
|
5877
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
6378
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5878
6379
|
};
|
|
5879
6380
|
};
|
|
5880
6381
|
/** @description PAK lacks `social.notify.update` for this community. */
|
|
@@ -5883,7 +6384,7 @@ interface operations {
|
|
|
5883
6384
|
[name: string]: unknown;
|
|
5884
6385
|
};
|
|
5885
6386
|
content: {
|
|
5886
|
-
"application/json": components["schemas"]["
|
|
6387
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5887
6388
|
};
|
|
5888
6389
|
};
|
|
5889
6390
|
/** @description Community or actor not found. */
|
|
@@ -5892,7 +6393,7 @@ interface operations {
|
|
|
5892
6393
|
[name: string]: unknown;
|
|
5893
6394
|
};
|
|
5894
6395
|
content: {
|
|
5895
|
-
"application/json": components["schemas"]["
|
|
6396
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5896
6397
|
};
|
|
5897
6398
|
};
|
|
5898
6399
|
};
|
|
@@ -5920,22 +6421,13 @@ interface operations {
|
|
|
5920
6421
|
"application/json": components["schemas"]["UnreadCountResponse"];
|
|
5921
6422
|
};
|
|
5922
6423
|
};
|
|
5923
|
-
/** @description Missing or invalid PAK. */
|
|
5924
|
-
401: {
|
|
5925
|
-
headers: {
|
|
5926
|
-
[name: string]: unknown;
|
|
5927
|
-
};
|
|
5928
|
-
content: {
|
|
5929
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
5930
|
-
};
|
|
5931
|
-
};
|
|
5932
6424
|
/** @description PAK lacks `social.notify.read` for this community. */
|
|
5933
6425
|
403: {
|
|
5934
6426
|
headers: {
|
|
5935
6427
|
[name: string]: unknown;
|
|
5936
6428
|
};
|
|
5937
6429
|
content: {
|
|
5938
|
-
"application/json": components["schemas"]["
|
|
6430
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5939
6431
|
};
|
|
5940
6432
|
};
|
|
5941
6433
|
/** @description Community or actor not found. */
|
|
@@ -5944,7 +6436,7 @@ interface operations {
|
|
|
5944
6436
|
[name: string]: unknown;
|
|
5945
6437
|
};
|
|
5946
6438
|
content: {
|
|
5947
|
-
"application/json": components["schemas"]["
|
|
6439
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5948
6440
|
};
|
|
5949
6441
|
};
|
|
5950
6442
|
};
|
|
@@ -5982,34 +6474,81 @@ interface operations {
|
|
|
5982
6474
|
[name: string]: unknown;
|
|
5983
6475
|
};
|
|
5984
6476
|
content: {
|
|
5985
|
-
"application/json": components["schemas"]["
|
|
6477
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5986
6478
|
};
|
|
5987
6479
|
};
|
|
5988
|
-
/** @description
|
|
5989
|
-
|
|
6480
|
+
/** @description PAK lacks `social.notify.update` for this community. */
|
|
6481
|
+
403: {
|
|
5990
6482
|
headers: {
|
|
5991
6483
|
[name: string]: unknown;
|
|
5992
6484
|
};
|
|
5993
6485
|
content: {
|
|
5994
|
-
"application/json": components["schemas"]["
|
|
6486
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5995
6487
|
};
|
|
5996
6488
|
};
|
|
5997
|
-
/** @description
|
|
6489
|
+
/** @description Notification not found, or belongs to a different actor. */
|
|
6490
|
+
404: {
|
|
6491
|
+
headers: {
|
|
6492
|
+
[name: string]: unknown;
|
|
6493
|
+
};
|
|
6494
|
+
content: {
|
|
6495
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6496
|
+
};
|
|
6497
|
+
};
|
|
6498
|
+
};
|
|
6499
|
+
};
|
|
6500
|
+
ViewerStateController_postState: {
|
|
6501
|
+
parameters: {
|
|
6502
|
+
query?: never;
|
|
6503
|
+
header?: never;
|
|
6504
|
+
path: {
|
|
6505
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6506
|
+
communityId: string;
|
|
6507
|
+
/** @description Viewer actor UUID — the perspective all state is computed from. */
|
|
6508
|
+
actorId: string;
|
|
6509
|
+
};
|
|
6510
|
+
cookie?: never;
|
|
6511
|
+
};
|
|
6512
|
+
requestBody: {
|
|
6513
|
+
content: {
|
|
6514
|
+
"application/json": components["schemas"]["PostStateRequestDto"];
|
|
6515
|
+
};
|
|
6516
|
+
};
|
|
6517
|
+
responses: {
|
|
6518
|
+
/** @description One state entry per requested post id. */
|
|
6519
|
+
200: {
|
|
6520
|
+
headers: {
|
|
6521
|
+
[name: string]: unknown;
|
|
6522
|
+
};
|
|
6523
|
+
content: {
|
|
6524
|
+
"application/json": components["schemas"]["PostStateResponseDto"];
|
|
6525
|
+
};
|
|
6526
|
+
};
|
|
6527
|
+
/** @description Empty `post_ids`, more than 200 ids, or a non-UUID in the list. */
|
|
6528
|
+
400: {
|
|
6529
|
+
headers: {
|
|
6530
|
+
[name: string]: unknown;
|
|
6531
|
+
};
|
|
6532
|
+
content: {
|
|
6533
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6534
|
+
};
|
|
6535
|
+
};
|
|
6536
|
+
/** @description PAK lacks `social.list`. */
|
|
5998
6537
|
403: {
|
|
5999
6538
|
headers: {
|
|
6000
6539
|
[name: string]: unknown;
|
|
6001
6540
|
};
|
|
6002
6541
|
content: {
|
|
6003
|
-
"application/json": components["schemas"]["
|
|
6542
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6004
6543
|
};
|
|
6005
6544
|
};
|
|
6006
|
-
/** @description
|
|
6545
|
+
/** @description Community or actor not found. */
|
|
6007
6546
|
404: {
|
|
6008
6547
|
headers: {
|
|
6009
6548
|
[name: string]: unknown;
|
|
6010
6549
|
};
|
|
6011
6550
|
content: {
|
|
6012
|
-
"application/json": components["schemas"]["
|
|
6551
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6013
6552
|
};
|
|
6014
6553
|
};
|
|
6015
6554
|
};
|
|
@@ -6019,6 +6558,8 @@ interface operations {
|
|
|
6019
6558
|
query?: {
|
|
6020
6559
|
limit?: number;
|
|
6021
6560
|
cursor?: string;
|
|
6561
|
+
/** @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`. */
|
|
6562
|
+
expand?: "dst_actor";
|
|
6022
6563
|
};
|
|
6023
6564
|
header?: never;
|
|
6024
6565
|
path: {
|
|
@@ -6037,10 +6578,19 @@ interface operations {
|
|
|
6037
6578
|
[name: string]: unknown;
|
|
6038
6579
|
};
|
|
6039
6580
|
content: {
|
|
6040
|
-
"application/json": components["schemas"]["
|
|
6581
|
+
"application/json": components["schemas"]["OutboundEdgeListResponseDto"];
|
|
6582
|
+
};
|
|
6583
|
+
};
|
|
6584
|
+
/** @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`). */
|
|
6585
|
+
400: {
|
|
6586
|
+
headers: {
|
|
6587
|
+
[name: string]: unknown;
|
|
6588
|
+
};
|
|
6589
|
+
content: {
|
|
6590
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6041
6591
|
};
|
|
6042
6592
|
};
|
|
6043
|
-
/** @description PAK lacks `social.
|
|
6593
|
+
/** @description PAK lacks `social.list`. */
|
|
6044
6594
|
403: {
|
|
6045
6595
|
headers: {
|
|
6046
6596
|
[name: string]: unknown;
|
|
@@ -6129,22 +6679,13 @@ interface operations {
|
|
|
6129
6679
|
"application/json": components["schemas"]["StoryTrayResponse"];
|
|
6130
6680
|
};
|
|
6131
6681
|
};
|
|
6132
|
-
/** @description
|
|
6133
|
-
401: {
|
|
6134
|
-
headers: {
|
|
6135
|
-
[name: string]: unknown;
|
|
6136
|
-
};
|
|
6137
|
-
content: {
|
|
6138
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
6139
|
-
};
|
|
6140
|
-
};
|
|
6141
|
-
/** @description PAK lacks `social.read`. */
|
|
6682
|
+
/** @description PAK lacks `social.list`. */
|
|
6142
6683
|
403: {
|
|
6143
6684
|
headers: {
|
|
6144
6685
|
[name: string]: unknown;
|
|
6145
6686
|
};
|
|
6146
6687
|
content: {
|
|
6147
|
-
"application/json": components["schemas"]["
|
|
6688
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6148
6689
|
};
|
|
6149
6690
|
};
|
|
6150
6691
|
/** @description Community or actor not found. */
|
|
@@ -6153,7 +6694,7 @@ interface operations {
|
|
|
6153
6694
|
[name: string]: unknown;
|
|
6154
6695
|
};
|
|
6155
6696
|
content: {
|
|
6156
|
-
"application/json": components["schemas"]["
|
|
6697
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6157
6698
|
};
|
|
6158
6699
|
};
|
|
6159
6700
|
};
|
|
@@ -6204,6 +6745,61 @@ interface operations {
|
|
|
6204
6745
|
};
|
|
6205
6746
|
};
|
|
6206
6747
|
};
|
|
6748
|
+
EdgeController_relationships: {
|
|
6749
|
+
parameters: {
|
|
6750
|
+
query: {
|
|
6751
|
+
/** @description Comma-separated destination actor UUIDs (1-100). */
|
|
6752
|
+
with: string;
|
|
6753
|
+
};
|
|
6754
|
+
header?: never;
|
|
6755
|
+
path: {
|
|
6756
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6757
|
+
communityId: string;
|
|
6758
|
+
/** @description Source actor UUID — the perspective all flags are computed from. */
|
|
6759
|
+
srcActorId: string;
|
|
6760
|
+
};
|
|
6761
|
+
cookie?: never;
|
|
6762
|
+
};
|
|
6763
|
+
requestBody?: never;
|
|
6764
|
+
responses: {
|
|
6765
|
+
/** @description One relationship entry per requested id. */
|
|
6766
|
+
200: {
|
|
6767
|
+
headers: {
|
|
6768
|
+
[name: string]: unknown;
|
|
6769
|
+
};
|
|
6770
|
+
content: {
|
|
6771
|
+
"application/json": components["schemas"]["RelationshipListResponseDto"];
|
|
6772
|
+
};
|
|
6773
|
+
};
|
|
6774
|
+
/** @description Missing `with`, more than 100 ids, or a non-UUID value in the list. */
|
|
6775
|
+
400: {
|
|
6776
|
+
headers: {
|
|
6777
|
+
[name: string]: unknown;
|
|
6778
|
+
};
|
|
6779
|
+
content: {
|
|
6780
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6781
|
+
};
|
|
6782
|
+
};
|
|
6783
|
+
/** @description PAK lacks `social.list`. */
|
|
6784
|
+
403: {
|
|
6785
|
+
headers: {
|
|
6786
|
+
[name: string]: unknown;
|
|
6787
|
+
};
|
|
6788
|
+
content: {
|
|
6789
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6790
|
+
};
|
|
6791
|
+
};
|
|
6792
|
+
/** @description Community or source actor not found. */
|
|
6793
|
+
404: {
|
|
6794
|
+
headers: {
|
|
6795
|
+
[name: string]: unknown;
|
|
6796
|
+
};
|
|
6797
|
+
content: {
|
|
6798
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6799
|
+
};
|
|
6800
|
+
};
|
|
6801
|
+
};
|
|
6802
|
+
};
|
|
6207
6803
|
EdgeController_block: {
|
|
6208
6804
|
parameters: {
|
|
6209
6805
|
query?: never;
|
|
@@ -6256,6 +6852,15 @@ interface operations {
|
|
|
6256
6852
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6257
6853
|
};
|
|
6258
6854
|
};
|
|
6855
|
+
/** @description Cannot block yourself. */
|
|
6856
|
+
422: {
|
|
6857
|
+
headers: {
|
|
6858
|
+
[name: string]: unknown;
|
|
6859
|
+
};
|
|
6860
|
+
content: {
|
|
6861
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6862
|
+
};
|
|
6863
|
+
};
|
|
6259
6864
|
};
|
|
6260
6865
|
};
|
|
6261
6866
|
EdgeController_unblock: {
|
|
@@ -6274,7 +6879,7 @@ interface operations {
|
|
|
6274
6879
|
};
|
|
6275
6880
|
requestBody?: never;
|
|
6276
6881
|
responses: {
|
|
6277
|
-
/** @description Unblocked. */
|
|
6882
|
+
/** @description Unblocked (or no edge to remove). */
|
|
6278
6883
|
204: {
|
|
6279
6884
|
headers: {
|
|
6280
6885
|
[name: string]: unknown;
|
|
@@ -6290,7 +6895,7 @@ interface operations {
|
|
|
6290
6895
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6291
6896
|
};
|
|
6292
6897
|
};
|
|
6293
|
-
/** @description Community not found. */
|
|
6898
|
+
/** @description Community or actor not found. */
|
|
6294
6899
|
404: {
|
|
6295
6900
|
headers: {
|
|
6296
6901
|
[name: string]: unknown;
|
|
@@ -6330,16 +6935,7 @@ interface operations {
|
|
|
6330
6935
|
[name: string]: unknown;
|
|
6331
6936
|
};
|
|
6332
6937
|
content: {
|
|
6333
|
-
"application/json": components["schemas"]["
|
|
6334
|
-
};
|
|
6335
|
-
};
|
|
6336
|
-
/** @description Missing or invalid PAK. */
|
|
6337
|
-
401: {
|
|
6338
|
-
headers: {
|
|
6339
|
-
[name: string]: unknown;
|
|
6340
|
-
};
|
|
6341
|
-
content: {
|
|
6342
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
6938
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6343
6939
|
};
|
|
6344
6940
|
};
|
|
6345
6941
|
/** @description PAK lacks `social.close-friend.manage`. */
|
|
@@ -6348,7 +6944,7 @@ interface operations {
|
|
|
6348
6944
|
[name: string]: unknown;
|
|
6349
6945
|
};
|
|
6350
6946
|
content: {
|
|
6351
|
-
"application/json": components["schemas"]["
|
|
6947
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6352
6948
|
};
|
|
6353
6949
|
};
|
|
6354
6950
|
/** @description Community / owner / member not found. */
|
|
@@ -6357,7 +6953,7 @@ interface operations {
|
|
|
6357
6953
|
[name: string]: unknown;
|
|
6358
6954
|
};
|
|
6359
6955
|
content: {
|
|
6360
|
-
"application/json": components["schemas"]["
|
|
6956
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6361
6957
|
};
|
|
6362
6958
|
};
|
|
6363
6959
|
/** @description Block in place between owner and member. */
|
|
@@ -6366,7 +6962,7 @@ interface operations {
|
|
|
6366
6962
|
[name: string]: unknown;
|
|
6367
6963
|
};
|
|
6368
6964
|
content: {
|
|
6369
|
-
"application/json": components["schemas"]["
|
|
6965
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6370
6966
|
};
|
|
6371
6967
|
};
|
|
6372
6968
|
/** @description Cannot add yourself as a close friend. */
|
|
@@ -6375,7 +6971,7 @@ interface operations {
|
|
|
6375
6971
|
[name: string]: unknown;
|
|
6376
6972
|
};
|
|
6377
6973
|
content: {
|
|
6378
|
-
"application/json": components["schemas"]["
|
|
6974
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6379
6975
|
};
|
|
6380
6976
|
};
|
|
6381
6977
|
};
|
|
@@ -6403,22 +6999,13 @@ interface operations {
|
|
|
6403
6999
|
};
|
|
6404
7000
|
content?: never;
|
|
6405
7001
|
};
|
|
6406
|
-
/** @description Missing or invalid PAK. */
|
|
6407
|
-
401: {
|
|
6408
|
-
headers: {
|
|
6409
|
-
[name: string]: unknown;
|
|
6410
|
-
};
|
|
6411
|
-
content: {
|
|
6412
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
6413
|
-
};
|
|
6414
|
-
};
|
|
6415
7002
|
/** @description PAK lacks `social.close-friend.manage`. */
|
|
6416
7003
|
403: {
|
|
6417
7004
|
headers: {
|
|
6418
7005
|
[name: string]: unknown;
|
|
6419
7006
|
};
|
|
6420
7007
|
content: {
|
|
6421
|
-
"application/json": components["schemas"]["
|
|
7008
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6422
7009
|
};
|
|
6423
7010
|
};
|
|
6424
7011
|
/** @description Community not found. */
|
|
@@ -6427,7 +7014,7 @@ interface operations {
|
|
|
6427
7014
|
[name: string]: unknown;
|
|
6428
7015
|
};
|
|
6429
7016
|
content: {
|
|
6430
|
-
"application/json": components["schemas"]["
|
|
7017
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6431
7018
|
};
|
|
6432
7019
|
};
|
|
6433
7020
|
};
|
|
@@ -6483,7 +7070,10 @@ interface operations {
|
|
|
6483
7070
|
ConversationController_create: {
|
|
6484
7071
|
parameters: {
|
|
6485
7072
|
query?: never;
|
|
6486
|
-
header?:
|
|
7073
|
+
header?: {
|
|
7074
|
+
/** @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`. */
|
|
7075
|
+
"Idempotency-Key"?: string;
|
|
7076
|
+
};
|
|
6487
7077
|
path: {
|
|
6488
7078
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6489
7079
|
communityId: string;
|
|
@@ -6505,7 +7095,7 @@ interface operations {
|
|
|
6505
7095
|
"application/json": components["schemas"]["ConversationResponseDto"];
|
|
6506
7096
|
};
|
|
6507
7097
|
};
|
|
6508
|
-
/** @description Validation failure (missing recipient for direct, missing actor_ids for group, two equal actor ids). */
|
|
7098
|
+
/** @description Validation failure (missing recipient for direct, missing actor_ids for group, two equal actor ids, malformed Idempotency-Key). */
|
|
6509
7099
|
400: {
|
|
6510
7100
|
headers: {
|
|
6511
7101
|
[name: string]: unknown;
|
|
@@ -6532,7 +7122,7 @@ interface operations {
|
|
|
6532
7122
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6533
7123
|
};
|
|
6534
7124
|
};
|
|
6535
|
-
/** @description A block exists,
|
|
7125
|
+
/** @description A block exists, the group exceeds `community.settings.max_group_conversation_size`, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
6536
7126
|
409: {
|
|
6537
7127
|
headers: {
|
|
6538
7128
|
[name: string]: unknown;
|
|
@@ -6966,7 +7556,10 @@ interface operations {
|
|
|
6966
7556
|
ConversationController_send: {
|
|
6967
7557
|
parameters: {
|
|
6968
7558
|
query?: never;
|
|
6969
|
-
header?:
|
|
7559
|
+
header?: {
|
|
7560
|
+
/** @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`. */
|
|
7561
|
+
"Idempotency-Key"?: string;
|
|
7562
|
+
};
|
|
6970
7563
|
path: {
|
|
6971
7564
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
6972
7565
|
communityId: string;
|
|
@@ -6990,7 +7583,7 @@ interface operations {
|
|
|
6990
7583
|
"application/json": components["schemas"]["DirectMessageResponseDto"];
|
|
6991
7584
|
};
|
|
6992
7585
|
};
|
|
6993
|
-
/** @description Validation failure (empty body for text, body too long). */
|
|
7586
|
+
/** @description Validation failure (empty body for text, body too long, malformed Idempotency-Key). */
|
|
6994
7587
|
400: {
|
|
6995
7588
|
headers: {
|
|
6996
7589
|
[name: string]: unknown;
|
|
@@ -7017,7 +7610,7 @@ interface operations {
|
|
|
7017
7610
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7018
7611
|
};
|
|
7019
7612
|
};
|
|
7020
|
-
/** @description A block exists between the sender and another participant. */
|
|
7613
|
+
/** @description A block exists between the sender and another participant, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
7021
7614
|
409: {
|
|
7022
7615
|
headers: {
|
|
7023
7616
|
[name: string]: unknown;
|
|
@@ -7427,6 +8020,59 @@ interface operations {
|
|
|
7427
8020
|
};
|
|
7428
8021
|
};
|
|
7429
8022
|
};
|
|
8023
|
+
CounterController_getBatchCounters: {
|
|
8024
|
+
parameters: {
|
|
8025
|
+
query: {
|
|
8026
|
+
/** @description Comma-separated actor UUIDs (max 100, de-duplicated). */
|
|
8027
|
+
actor_ids: string;
|
|
8028
|
+
};
|
|
8029
|
+
header?: never;
|
|
8030
|
+
path: {
|
|
8031
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8032
|
+
communityId: string;
|
|
8033
|
+
};
|
|
8034
|
+
cookie?: never;
|
|
8035
|
+
};
|
|
8036
|
+
requestBody?: never;
|
|
8037
|
+
responses: {
|
|
8038
|
+
/** @description Counters for each actor found plus the `missing[]` ids. */
|
|
8039
|
+
200: {
|
|
8040
|
+
headers: {
|
|
8041
|
+
[name: string]: unknown;
|
|
8042
|
+
};
|
|
8043
|
+
content: {
|
|
8044
|
+
"application/json": components["schemas"]["BatchCountersResponseDto"];
|
|
8045
|
+
};
|
|
8046
|
+
};
|
|
8047
|
+
/** @description `actor_ids` missing or empty, a non-UUID entry (`INVALID_ID_LIST`), or over 100 ids (`TOO_MANY_IDS`). */
|
|
8048
|
+
400: {
|
|
8049
|
+
headers: {
|
|
8050
|
+
[name: string]: unknown;
|
|
8051
|
+
};
|
|
8052
|
+
content: {
|
|
8053
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8054
|
+
};
|
|
8055
|
+
};
|
|
8056
|
+
/** @description PAK lacks `social.read`. */
|
|
8057
|
+
403: {
|
|
8058
|
+
headers: {
|
|
8059
|
+
[name: string]: unknown;
|
|
8060
|
+
};
|
|
8061
|
+
content: {
|
|
8062
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8063
|
+
};
|
|
8064
|
+
};
|
|
8065
|
+
/** @description Community not found in the PAK's workspace. (Unknown actors land in `missing[]`, not a 404.) */
|
|
8066
|
+
404: {
|
|
8067
|
+
headers: {
|
|
8068
|
+
[name: string]: unknown;
|
|
8069
|
+
};
|
|
8070
|
+
content: {
|
|
8071
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8072
|
+
};
|
|
8073
|
+
};
|
|
8074
|
+
};
|
|
8075
|
+
};
|
|
7430
8076
|
FeedController_getDiscoverFeed: {
|
|
7431
8077
|
parameters: {
|
|
7432
8078
|
query?: {
|
|
@@ -7489,13 +8135,13 @@ interface operations {
|
|
|
7489
8135
|
};
|
|
7490
8136
|
};
|
|
7491
8137
|
responses: {
|
|
7492
|
-
/** @description Flag created (or de-duplicated to existing open flag). */
|
|
8138
|
+
/** @description Flag created (or de-duplicated to existing open flag). `auto_hidden` reports whether the auto-hide threshold tripped. */
|
|
7493
8139
|
201: {
|
|
7494
8140
|
headers: {
|
|
7495
8141
|
[name: string]: unknown;
|
|
7496
8142
|
};
|
|
7497
8143
|
content: {
|
|
7498
|
-
"application/json": components["schemas"]["
|
|
8144
|
+
"application/json": components["schemas"]["CreateFlagResponseDto"];
|
|
7499
8145
|
};
|
|
7500
8146
|
};
|
|
7501
8147
|
/** @description Validation failure (bad reporter / target / reason). */
|
|
@@ -7525,7 +8171,16 @@ interface operations {
|
|
|
7525
8171
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7526
8172
|
};
|
|
7527
8173
|
};
|
|
7528
|
-
/** @description
|
|
8174
|
+
/** @description The target post/comment is already removed; nothing to flag. */
|
|
8175
|
+
409: {
|
|
8176
|
+
headers: {
|
|
8177
|
+
[name: string]: unknown;
|
|
8178
|
+
};
|
|
8179
|
+
content: {
|
|
8180
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8181
|
+
};
|
|
8182
|
+
};
|
|
8183
|
+
/** @description Cannot flag your own content. */
|
|
7529
8184
|
422: {
|
|
7530
8185
|
headers: {
|
|
7531
8186
|
[name: string]: unknown;
|
|
@@ -7597,6 +8252,69 @@ interface operations {
|
|
|
7597
8252
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7598
8253
|
};
|
|
7599
8254
|
};
|
|
8255
|
+
/** @description Cannot follow yourself. */
|
|
8256
|
+
422: {
|
|
8257
|
+
headers: {
|
|
8258
|
+
[name: string]: unknown;
|
|
8259
|
+
};
|
|
8260
|
+
content: {
|
|
8261
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8262
|
+
};
|
|
8263
|
+
};
|
|
8264
|
+
};
|
|
8265
|
+
};
|
|
8266
|
+
EdgeController_batchFollows: {
|
|
8267
|
+
parameters: {
|
|
8268
|
+
query?: never;
|
|
8269
|
+
header?: never;
|
|
8270
|
+
path: {
|
|
8271
|
+
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8272
|
+
communityId: string;
|
|
8273
|
+
};
|
|
8274
|
+
cookie?: never;
|
|
8275
|
+
};
|
|
8276
|
+
requestBody: {
|
|
8277
|
+
content: {
|
|
8278
|
+
"application/json": components["schemas"]["BatchFollowsDto"];
|
|
8279
|
+
};
|
|
8280
|
+
};
|
|
8281
|
+
responses: {
|
|
8282
|
+
/** @description Per-item results, request order. `succeeded` + `failed` summarise the batch. */
|
|
8283
|
+
201: {
|
|
8284
|
+
headers: {
|
|
8285
|
+
[name: string]: unknown;
|
|
8286
|
+
};
|
|
8287
|
+
content: {
|
|
8288
|
+
"application/json": components["schemas"]["BatchFollowsResponseDto"];
|
|
8289
|
+
};
|
|
8290
|
+
};
|
|
8291
|
+
/** @description Envelope validation failure: `follows` missing, empty, over 200 items, or an item shape invalid. */
|
|
8292
|
+
400: {
|
|
8293
|
+
headers: {
|
|
8294
|
+
[name: string]: unknown;
|
|
8295
|
+
};
|
|
8296
|
+
content: {
|
|
8297
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8298
|
+
};
|
|
8299
|
+
};
|
|
8300
|
+
/** @description PAK lacks `social.create`. */
|
|
8301
|
+
403: {
|
|
8302
|
+
headers: {
|
|
8303
|
+
[name: string]: unknown;
|
|
8304
|
+
};
|
|
8305
|
+
content: {
|
|
8306
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8307
|
+
};
|
|
8308
|
+
};
|
|
8309
|
+
/** @description Community not found in the PAK's workspace. (Unknown actors fail per item, not the whole call.) */
|
|
8310
|
+
404: {
|
|
8311
|
+
headers: {
|
|
8312
|
+
[name: string]: unknown;
|
|
8313
|
+
};
|
|
8314
|
+
content: {
|
|
8315
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8316
|
+
};
|
|
8317
|
+
};
|
|
7600
8318
|
};
|
|
7601
8319
|
};
|
|
7602
8320
|
EdgeController_unfollow: {
|
|
@@ -7631,7 +8349,7 @@ interface operations {
|
|
|
7631
8349
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7632
8350
|
};
|
|
7633
8351
|
};
|
|
7634
|
-
/** @description Community not found. */
|
|
8352
|
+
/** @description Community or actor not found. */
|
|
7635
8353
|
404: {
|
|
7636
8354
|
headers: {
|
|
7637
8355
|
[name: string]: unknown;
|
|
@@ -7764,6 +8482,15 @@ interface operations {
|
|
|
7764
8482
|
"application/json": components["schemas"]["HashtagPostListResponseDto"];
|
|
7765
8483
|
};
|
|
7766
8484
|
};
|
|
8485
|
+
/** @description Invalid tag (empty after normalisation, or longer than 32 chars). */
|
|
8486
|
+
400: {
|
|
8487
|
+
headers: {
|
|
8488
|
+
[name: string]: unknown;
|
|
8489
|
+
};
|
|
8490
|
+
content: {
|
|
8491
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8492
|
+
};
|
|
8493
|
+
};
|
|
7767
8494
|
/** @description PAK lacks `social.list`. */
|
|
7768
8495
|
403: {
|
|
7769
8496
|
headers: {
|
|
@@ -7826,7 +8553,10 @@ interface operations {
|
|
|
7826
8553
|
ActorListController_create: {
|
|
7827
8554
|
parameters: {
|
|
7828
8555
|
query?: never;
|
|
7829
|
-
header?:
|
|
8556
|
+
header?: {
|
|
8557
|
+
/** @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`. */
|
|
8558
|
+
"Idempotency-Key"?: string;
|
|
8559
|
+
};
|
|
7830
8560
|
path: {
|
|
7831
8561
|
/** @description Social community UUID. */
|
|
7832
8562
|
communityId: string;
|
|
@@ -7848,7 +8578,7 @@ interface operations {
|
|
|
7848
8578
|
"application/json": components["schemas"]["ActorListResponseDto"];
|
|
7849
8579
|
};
|
|
7850
8580
|
};
|
|
7851
|
-
/** @description Validation failure. */
|
|
8581
|
+
/** @description Validation failure (including malformed Idempotency-Key). */
|
|
7852
8582
|
400: {
|
|
7853
8583
|
headers: {
|
|
7854
8584
|
[name: string]: unknown;
|
|
@@ -7875,6 +8605,15 @@ interface operations {
|
|
|
7875
8605
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
7876
8606
|
};
|
|
7877
8607
|
};
|
|
8608
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
8609
|
+
409: {
|
|
8610
|
+
headers: {
|
|
8611
|
+
[name: string]: unknown;
|
|
8612
|
+
};
|
|
8613
|
+
content: {
|
|
8614
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8615
|
+
};
|
|
8616
|
+
};
|
|
7878
8617
|
};
|
|
7879
8618
|
};
|
|
7880
8619
|
ActorListController_getById: {
|
|
@@ -8144,7 +8883,7 @@ interface operations {
|
|
|
8144
8883
|
};
|
|
8145
8884
|
requestBody: {
|
|
8146
8885
|
content: {
|
|
8147
|
-
"application/json": components["schemas"]["
|
|
8886
|
+
"application/json": components["schemas"]["AddListMemberDto"];
|
|
8148
8887
|
};
|
|
8149
8888
|
};
|
|
8150
8889
|
responses: {
|
|
@@ -8202,7 +8941,7 @@ interface operations {
|
|
|
8202
8941
|
};
|
|
8203
8942
|
requestBody: {
|
|
8204
8943
|
content: {
|
|
8205
|
-
"application/json": components["schemas"]["
|
|
8944
|
+
"application/json": components["schemas"]["RemoveListMemberDto"];
|
|
8206
8945
|
};
|
|
8207
8946
|
};
|
|
8208
8947
|
responses: {
|
|
@@ -8294,6 +9033,15 @@ interface operations {
|
|
|
8294
9033
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8295
9034
|
};
|
|
8296
9035
|
};
|
|
9036
|
+
/** @description Cannot mute yourself. */
|
|
9037
|
+
422: {
|
|
9038
|
+
headers: {
|
|
9039
|
+
[name: string]: unknown;
|
|
9040
|
+
};
|
|
9041
|
+
content: {
|
|
9042
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9043
|
+
};
|
|
9044
|
+
};
|
|
8297
9045
|
};
|
|
8298
9046
|
};
|
|
8299
9047
|
EdgeController_unmute: {
|
|
@@ -8312,7 +9060,7 @@ interface operations {
|
|
|
8312
9060
|
};
|
|
8313
9061
|
requestBody?: never;
|
|
8314
9062
|
responses: {
|
|
8315
|
-
/** @description Unmuted. */
|
|
9063
|
+
/** @description Unmuted (or no edge to remove). */
|
|
8316
9064
|
204: {
|
|
8317
9065
|
headers: {
|
|
8318
9066
|
[name: string]: unknown;
|
|
@@ -8328,7 +9076,7 @@ interface operations {
|
|
|
8328
9076
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8329
9077
|
};
|
|
8330
9078
|
};
|
|
8331
|
-
/** @description Community not found. */
|
|
9079
|
+
/** @description Community or actor not found. */
|
|
8332
9080
|
404: {
|
|
8333
9081
|
headers: {
|
|
8334
9082
|
[name: string]: unknown;
|
|
@@ -8365,7 +9113,7 @@ interface operations {
|
|
|
8365
9113
|
"application/json": components["schemas"]["PostListResponseDto"];
|
|
8366
9114
|
};
|
|
8367
9115
|
};
|
|
8368
|
-
/** @description PAK lacks `social.
|
|
9116
|
+
/** @description PAK lacks `social.list`. */
|
|
8369
9117
|
403: {
|
|
8370
9118
|
headers: {
|
|
8371
9119
|
[name: string]: unknown;
|
|
@@ -8388,7 +9136,10 @@ interface operations {
|
|
|
8388
9136
|
PostController_create: {
|
|
8389
9137
|
parameters: {
|
|
8390
9138
|
query?: never;
|
|
8391
|
-
header?:
|
|
9139
|
+
header?: {
|
|
9140
|
+
/** @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`. */
|
|
9141
|
+
"Idempotency-Key"?: string;
|
|
9142
|
+
};
|
|
8392
9143
|
path: {
|
|
8393
9144
|
communityId: string;
|
|
8394
9145
|
};
|
|
@@ -8409,7 +9160,7 @@ interface operations {
|
|
|
8409
9160
|
"application/json": components["schemas"]["PostResponseDto"];
|
|
8410
9161
|
};
|
|
8411
9162
|
};
|
|
8412
|
-
/** @description Validation failure (missing actor_id; body/title/url all empty; bad URL; bad ISO timestamp). */
|
|
9163
|
+
/** @description Validation failure (missing actor_id; body/title/url all empty; bad URL; bad ISO timestamp; malformed Idempotency-Key). */
|
|
8413
9164
|
400: {
|
|
8414
9165
|
headers: {
|
|
8415
9166
|
[name: string]: unknown;
|
|
@@ -8427,8 +9178,26 @@ interface operations {
|
|
|
8427
9178
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8428
9179
|
};
|
|
8429
9180
|
};
|
|
8430
|
-
/** @description Community or
|
|
8431
|
-
404: {
|
|
9181
|
+
/** @description Community, actor, or quote source post not found in the PAK's workspace. */
|
|
9182
|
+
404: {
|
|
9183
|
+
headers: {
|
|
9184
|
+
[name: string]: unknown;
|
|
9185
|
+
};
|
|
9186
|
+
content: {
|
|
9187
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9188
|
+
};
|
|
9189
|
+
};
|
|
9190
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
9191
|
+
409: {
|
|
9192
|
+
headers: {
|
|
9193
|
+
[name: string]: unknown;
|
|
9194
|
+
};
|
|
9195
|
+
content: {
|
|
9196
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9197
|
+
};
|
|
9198
|
+
};
|
|
9199
|
+
/** @description Quote rules: `CANNOT_QUOTE_SELF` (kind='quote' with your own post as source) or `CANNOT_QUOTE_PRIVATE` (source post is private). */
|
|
9200
|
+
422: {
|
|
8432
9201
|
headers: {
|
|
8433
9202
|
[name: string]: unknown;
|
|
8434
9203
|
};
|
|
@@ -8618,6 +9387,15 @@ interface operations {
|
|
|
8618
9387
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8619
9388
|
};
|
|
8620
9389
|
};
|
|
9390
|
+
/** @description `EDIT_WINDOW_EXPIRED` (content edit after the community's edit window), or `scheduled_for` passed while the post is not `status='scheduled'`. */
|
|
9391
|
+
422: {
|
|
9392
|
+
headers: {
|
|
9393
|
+
[name: string]: unknown;
|
|
9394
|
+
};
|
|
9395
|
+
content: {
|
|
9396
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9397
|
+
};
|
|
9398
|
+
};
|
|
8621
9399
|
};
|
|
8622
9400
|
};
|
|
8623
9401
|
BookmarkController_create: {
|
|
@@ -8760,7 +9538,7 @@ interface operations {
|
|
|
8760
9538
|
"application/json": components["schemas"]["CommentListResponseDto"];
|
|
8761
9539
|
};
|
|
8762
9540
|
};
|
|
8763
|
-
/** @description PAK lacks `social.
|
|
9541
|
+
/** @description PAK lacks `social.list`. */
|
|
8764
9542
|
403: {
|
|
8765
9543
|
headers: {
|
|
8766
9544
|
[name: string]: unknown;
|
|
@@ -8783,7 +9561,10 @@ interface operations {
|
|
|
8783
9561
|
CommentController_create: {
|
|
8784
9562
|
parameters: {
|
|
8785
9563
|
query?: never;
|
|
8786
|
-
header?:
|
|
9564
|
+
header?: {
|
|
9565
|
+
/** @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`. */
|
|
9566
|
+
"Idempotency-Key"?: string;
|
|
9567
|
+
};
|
|
8787
9568
|
path: {
|
|
8788
9569
|
/** @description Social community UUID. Must belong to the PAK's workspace. */
|
|
8789
9570
|
communityId: string;
|
|
@@ -8807,7 +9588,7 @@ interface operations {
|
|
|
8807
9588
|
"application/json": components["schemas"]["CommentResponseDto"];
|
|
8808
9589
|
};
|
|
8809
9590
|
};
|
|
8810
|
-
/** @description Validation failure (missing actor_id, empty body, body too long). */
|
|
9591
|
+
/** @description Validation failure (missing actor_id, empty body, body too long, malformed Idempotency-Key). */
|
|
8811
9592
|
400: {
|
|
8812
9593
|
headers: {
|
|
8813
9594
|
[name: string]: unknown;
|
|
@@ -8834,7 +9615,7 @@ interface operations {
|
|
|
8834
9615
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
8835
9616
|
};
|
|
8836
9617
|
};
|
|
8837
|
-
/** @description Block exists between commenter and post author,
|
|
9618
|
+
/** @description Block exists between commenter and post author, depth exceeds community.settings.max_comment_depth, or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
8838
9619
|
409: {
|
|
8839
9620
|
headers: {
|
|
8840
9621
|
[name: string]: unknown;
|
|
@@ -9256,22 +10037,13 @@ interface operations {
|
|
|
9256
10037
|
"application/json": components["schemas"]["PollResultsResponse"];
|
|
9257
10038
|
};
|
|
9258
10039
|
};
|
|
9259
|
-
/** @description Missing or invalid PAK. */
|
|
9260
|
-
401: {
|
|
9261
|
-
headers: {
|
|
9262
|
-
[name: string]: unknown;
|
|
9263
|
-
};
|
|
9264
|
-
content: {
|
|
9265
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
9266
|
-
};
|
|
9267
|
-
};
|
|
9268
10040
|
/** @description PAK lacks `social.read`. */
|
|
9269
10041
|
403: {
|
|
9270
10042
|
headers: {
|
|
9271
10043
|
[name: string]: unknown;
|
|
9272
10044
|
};
|
|
9273
10045
|
content: {
|
|
9274
|
-
"application/json": components["schemas"]["
|
|
10046
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9275
10047
|
};
|
|
9276
10048
|
};
|
|
9277
10049
|
/** @description Community or post not found. */
|
|
@@ -9280,7 +10052,7 @@ interface operations {
|
|
|
9280
10052
|
[name: string]: unknown;
|
|
9281
10053
|
};
|
|
9282
10054
|
content: {
|
|
9283
|
-
"application/json": components["schemas"]["
|
|
10055
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9284
10056
|
};
|
|
9285
10057
|
};
|
|
9286
10058
|
/** @description Post does not contain a poll. */
|
|
@@ -9289,7 +10061,7 @@ interface operations {
|
|
|
9289
10061
|
[name: string]: unknown;
|
|
9290
10062
|
};
|
|
9291
10063
|
content: {
|
|
9292
|
-
"application/json": components["schemas"]["
|
|
10064
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9293
10065
|
};
|
|
9294
10066
|
};
|
|
9295
10067
|
};
|
|
@@ -9339,6 +10111,63 @@ interface operations {
|
|
|
9339
10111
|
};
|
|
9340
10112
|
};
|
|
9341
10113
|
};
|
|
10114
|
+
PostReactionController_list: {
|
|
10115
|
+
parameters: {
|
|
10116
|
+
query?: {
|
|
10117
|
+
/** @description Filter to a single reaction type label. */
|
|
10118
|
+
type?: string;
|
|
10119
|
+
limit?: number;
|
|
10120
|
+
cursor?: string;
|
|
10121
|
+
};
|
|
10122
|
+
header?: never;
|
|
10123
|
+
path: {
|
|
10124
|
+
/** @description Social community UUID. */
|
|
10125
|
+
communityId: string;
|
|
10126
|
+
/** @description Social post UUID. */
|
|
10127
|
+
postId: string;
|
|
10128
|
+
};
|
|
10129
|
+
cookie?: never;
|
|
10130
|
+
};
|
|
10131
|
+
requestBody?: never;
|
|
10132
|
+
responses: {
|
|
10133
|
+
/** @description Page of reactions. */
|
|
10134
|
+
200: {
|
|
10135
|
+
headers: {
|
|
10136
|
+
[name: string]: unknown;
|
|
10137
|
+
};
|
|
10138
|
+
content: {
|
|
10139
|
+
"application/json": components["schemas"]["PostReactionListResponseDto"];
|
|
10140
|
+
};
|
|
10141
|
+
};
|
|
10142
|
+
/** @description Overlong `type` filter (max 64 chars). */
|
|
10143
|
+
400: {
|
|
10144
|
+
headers: {
|
|
10145
|
+
[name: string]: unknown;
|
|
10146
|
+
};
|
|
10147
|
+
content: {
|
|
10148
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10149
|
+
};
|
|
10150
|
+
};
|
|
10151
|
+
/** @description PAK lacks `social.list`. */
|
|
10152
|
+
403: {
|
|
10153
|
+
headers: {
|
|
10154
|
+
[name: string]: unknown;
|
|
10155
|
+
};
|
|
10156
|
+
content: {
|
|
10157
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10158
|
+
};
|
|
10159
|
+
};
|
|
10160
|
+
/** @description Community or post not found (or post removed). */
|
|
10161
|
+
404: {
|
|
10162
|
+
headers: {
|
|
10163
|
+
[name: string]: unknown;
|
|
10164
|
+
};
|
|
10165
|
+
content: {
|
|
10166
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10167
|
+
};
|
|
10168
|
+
};
|
|
10169
|
+
};
|
|
10170
|
+
};
|
|
9342
10171
|
PostReactionController_react: {
|
|
9343
10172
|
parameters: {
|
|
9344
10173
|
query?: never;
|
|
@@ -9673,7 +10502,7 @@ interface operations {
|
|
|
9673
10502
|
StoryController_listViewers: {
|
|
9674
10503
|
parameters: {
|
|
9675
10504
|
query: {
|
|
9676
|
-
/** @description
|
|
10505
|
+
/** @description Requester social actor UUID — must resolve to the post author. */
|
|
9677
10506
|
requester_id: string;
|
|
9678
10507
|
limit?: number;
|
|
9679
10508
|
/** @description Cursor from the prior page. */
|
|
@@ -9699,22 +10528,13 @@ interface operations {
|
|
|
9699
10528
|
"application/json": components["schemas"]["StoryViewersResponse"];
|
|
9700
10529
|
};
|
|
9701
10530
|
};
|
|
9702
|
-
/** @description
|
|
9703
|
-
401: {
|
|
9704
|
-
headers: {
|
|
9705
|
-
[name: string]: unknown;
|
|
9706
|
-
};
|
|
9707
|
-
content: {
|
|
9708
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
9709
|
-
};
|
|
9710
|
-
};
|
|
9711
|
-
/** @description PAK lacks `social.read` OR requester is not the post author. */
|
|
10531
|
+
/** @description PAK lacks `social.list` OR requester is not the post author. */
|
|
9712
10532
|
403: {
|
|
9713
10533
|
headers: {
|
|
9714
10534
|
[name: string]: unknown;
|
|
9715
10535
|
};
|
|
9716
10536
|
content: {
|
|
9717
|
-
"application/json": components["schemas"]["
|
|
10537
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9718
10538
|
};
|
|
9719
10539
|
};
|
|
9720
10540
|
/** @description Community or post not found. */
|
|
@@ -9723,7 +10543,7 @@ interface operations {
|
|
|
9723
10543
|
[name: string]: unknown;
|
|
9724
10544
|
};
|
|
9725
10545
|
content: {
|
|
9726
|
-
"application/json": components["schemas"]["
|
|
10546
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9727
10547
|
};
|
|
9728
10548
|
};
|
|
9729
10549
|
};
|
|
@@ -9759,16 +10579,7 @@ interface operations {
|
|
|
9759
10579
|
[name: string]: unknown;
|
|
9760
10580
|
};
|
|
9761
10581
|
content: {
|
|
9762
|
-
"application/json": components["schemas"]["
|
|
9763
|
-
};
|
|
9764
|
-
};
|
|
9765
|
-
/** @description Missing or invalid PAK. */
|
|
9766
|
-
401: {
|
|
9767
|
-
headers: {
|
|
9768
|
-
[name: string]: unknown;
|
|
9769
|
-
};
|
|
9770
|
-
content: {
|
|
9771
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
10582
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9772
10583
|
};
|
|
9773
10584
|
};
|
|
9774
10585
|
/** @description PAK lacks `social.view`. */
|
|
@@ -9777,7 +10588,7 @@ interface operations {
|
|
|
9777
10588
|
[name: string]: unknown;
|
|
9778
10589
|
};
|
|
9779
10590
|
content: {
|
|
9780
|
-
"application/json": components["schemas"]["
|
|
10591
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9781
10592
|
};
|
|
9782
10593
|
};
|
|
9783
10594
|
/** @description Community / post / viewer not found, or the post is invisible to the viewer. */
|
|
@@ -9786,7 +10597,7 @@ interface operations {
|
|
|
9786
10597
|
[name: string]: unknown;
|
|
9787
10598
|
};
|
|
9788
10599
|
content: {
|
|
9789
|
-
"application/json": components["schemas"]["
|
|
10600
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9790
10601
|
};
|
|
9791
10602
|
};
|
|
9792
10603
|
/** @description Cannot view your own story. */
|
|
@@ -9795,7 +10606,7 @@ interface operations {
|
|
|
9795
10606
|
[name: string]: unknown;
|
|
9796
10607
|
};
|
|
9797
10608
|
content: {
|
|
9798
|
-
"application/json": components["schemas"]["
|
|
10609
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9799
10610
|
};
|
|
9800
10611
|
};
|
|
9801
10612
|
};
|
|
@@ -9831,16 +10642,7 @@ interface operations {
|
|
|
9831
10642
|
[name: string]: unknown;
|
|
9832
10643
|
};
|
|
9833
10644
|
content: {
|
|
9834
|
-
"application/json": components["schemas"]["
|
|
9835
|
-
};
|
|
9836
|
-
};
|
|
9837
|
-
/** @description Missing or invalid PAK. */
|
|
9838
|
-
401: {
|
|
9839
|
-
headers: {
|
|
9840
|
-
[name: string]: unknown;
|
|
9841
|
-
};
|
|
9842
|
-
content: {
|
|
9843
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
10645
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9844
10646
|
};
|
|
9845
10647
|
};
|
|
9846
10648
|
/** @description PAK lacks `social.vote`. */
|
|
@@ -9849,7 +10651,7 @@ interface operations {
|
|
|
9849
10651
|
[name: string]: unknown;
|
|
9850
10652
|
};
|
|
9851
10653
|
content: {
|
|
9852
|
-
"application/json": components["schemas"]["
|
|
10654
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9853
10655
|
};
|
|
9854
10656
|
};
|
|
9855
10657
|
/** @description Community / post / voter not found, or post invisible. */
|
|
@@ -9858,7 +10660,7 @@ interface operations {
|
|
|
9858
10660
|
[name: string]: unknown;
|
|
9859
10661
|
};
|
|
9860
10662
|
content: {
|
|
9861
|
-
"application/json": components["schemas"]["
|
|
10663
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9862
10664
|
};
|
|
9863
10665
|
};
|
|
9864
10666
|
/** @description Block in place between voter and poll author. */
|
|
@@ -9867,7 +10669,7 @@ interface operations {
|
|
|
9867
10669
|
[name: string]: unknown;
|
|
9868
10670
|
};
|
|
9869
10671
|
content: {
|
|
9870
|
-
"application/json": components["schemas"]["
|
|
10672
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9871
10673
|
};
|
|
9872
10674
|
};
|
|
9873
10675
|
/** @description Self-vote / no poll / option_index out of range. */
|
|
@@ -9876,7 +10678,7 @@ interface operations {
|
|
|
9876
10678
|
[name: string]: unknown;
|
|
9877
10679
|
};
|
|
9878
10680
|
content: {
|
|
9879
|
-
"application/json": components["schemas"]["
|
|
10681
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9880
10682
|
};
|
|
9881
10683
|
};
|
|
9882
10684
|
};
|
|
@@ -9933,6 +10735,24 @@ interface operations {
|
|
|
9933
10735
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9934
10736
|
};
|
|
9935
10737
|
};
|
|
10738
|
+
/** @description Block exists between the pair. */
|
|
10739
|
+
409: {
|
|
10740
|
+
headers: {
|
|
10741
|
+
[name: string]: unknown;
|
|
10742
|
+
};
|
|
10743
|
+
content: {
|
|
10744
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10745
|
+
};
|
|
10746
|
+
};
|
|
10747
|
+
/** @description Cannot restrict yourself. */
|
|
10748
|
+
422: {
|
|
10749
|
+
headers: {
|
|
10750
|
+
[name: string]: unknown;
|
|
10751
|
+
};
|
|
10752
|
+
content: {
|
|
10753
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10754
|
+
};
|
|
10755
|
+
};
|
|
9936
10756
|
};
|
|
9937
10757
|
};
|
|
9938
10758
|
EdgeController_unrestrict: {
|
|
@@ -9951,7 +10771,7 @@ interface operations {
|
|
|
9951
10771
|
};
|
|
9952
10772
|
requestBody?: never;
|
|
9953
10773
|
responses: {
|
|
9954
|
-
/** @description Unrestricted. */
|
|
10774
|
+
/** @description Unrestricted (or no edge to remove). */
|
|
9955
10775
|
204: {
|
|
9956
10776
|
headers: {
|
|
9957
10777
|
[name: string]: unknown;
|
|
@@ -9967,7 +10787,7 @@ interface operations {
|
|
|
9967
10787
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
9968
10788
|
};
|
|
9969
10789
|
};
|
|
9970
|
-
/** @description Community not found. */
|
|
10790
|
+
/** @description Community or actor not found. */
|
|
9971
10791
|
404: {
|
|
9972
10792
|
headers: {
|
|
9973
10793
|
[name: string]: unknown;
|
|
@@ -10144,7 +10964,7 @@ interface operations {
|
|
|
10144
10964
|
};
|
|
10145
10965
|
};
|
|
10146
10966
|
};
|
|
10147
|
-
|
|
10967
|
+
WebhookController_list: {
|
|
10148
10968
|
parameters: {
|
|
10149
10969
|
query?: never;
|
|
10150
10970
|
header?: never;
|
|
@@ -10156,13 +10976,13 @@ interface operations {
|
|
|
10156
10976
|
};
|
|
10157
10977
|
requestBody?: never;
|
|
10158
10978
|
responses: {
|
|
10159
|
-
/** @description
|
|
10979
|
+
/** @description All webhooks on the community (no pagination — capped at 10 rows). */
|
|
10160
10980
|
200: {
|
|
10161
10981
|
headers: {
|
|
10162
10982
|
[name: string]: unknown;
|
|
10163
10983
|
};
|
|
10164
10984
|
content: {
|
|
10165
|
-
"application/json": components["schemas"]["
|
|
10985
|
+
"application/json": components["schemas"]["WebhookListResponseDto"];
|
|
10166
10986
|
};
|
|
10167
10987
|
};
|
|
10168
10988
|
/** @description Community not found. */
|
|
@@ -10179,7 +10999,10 @@ interface operations {
|
|
|
10179
10999
|
WebhookController_create: {
|
|
10180
11000
|
parameters: {
|
|
10181
11001
|
query?: never;
|
|
10182
|
-
header?:
|
|
11002
|
+
header?: {
|
|
11003
|
+
/** @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`. */
|
|
11004
|
+
"Idempotency-Key"?: string;
|
|
11005
|
+
};
|
|
10183
11006
|
path: {
|
|
10184
11007
|
/** @description Social community UUID. */
|
|
10185
11008
|
communityId: string;
|
|
@@ -10201,7 +11024,7 @@ interface operations {
|
|
|
10201
11024
|
"application/json": components["schemas"]["CreatedWebhookResponseDto"];
|
|
10202
11025
|
};
|
|
10203
11026
|
};
|
|
10204
|
-
/** @description Validation failure (bad url, empty event_types). */
|
|
11027
|
+
/** @description Validation failure (bad url, empty or unknown event_types — the message names the valid set; malformed Idempotency-Key). */
|
|
10205
11028
|
400: {
|
|
10206
11029
|
headers: {
|
|
10207
11030
|
[name: string]: unknown;
|
|
@@ -10228,7 +11051,7 @@ interface operations {
|
|
|
10228
11051
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10229
11052
|
};
|
|
10230
11053
|
};
|
|
10231
|
-
/** @description
|
|
11054
|
+
/** @description Webhook cap reached (10 per community), or `IDEMPOTENCY_KEY_REUSE` (same Idempotency-Key, different body). */
|
|
10232
11055
|
409: {
|
|
10233
11056
|
headers: {
|
|
10234
11057
|
[name: string]: unknown;
|
|
@@ -10389,10 +11212,58 @@ interface operations {
|
|
|
10389
11212
|
};
|
|
10390
11213
|
};
|
|
10391
11214
|
};
|
|
10392
|
-
|
|
11215
|
+
WebhookController_redeliver: {
|
|
10393
11216
|
parameters: {
|
|
10394
11217
|
query?: never;
|
|
10395
11218
|
header?: never;
|
|
11219
|
+
path: {
|
|
11220
|
+
/** @description Social community UUID. */
|
|
11221
|
+
communityId: string;
|
|
11222
|
+
/** @description Webhook UUID. */
|
|
11223
|
+
webhookId: string;
|
|
11224
|
+
/** @description Delivery row UUID (from GET …/deliveries). */
|
|
11225
|
+
deliveryId: string;
|
|
11226
|
+
};
|
|
11227
|
+
cookie?: never;
|
|
11228
|
+
};
|
|
11229
|
+
requestBody?: never;
|
|
11230
|
+
responses: {
|
|
11231
|
+
/** @description Redelivery enqueued. */
|
|
11232
|
+
202: {
|
|
11233
|
+
headers: {
|
|
11234
|
+
[name: string]: unknown;
|
|
11235
|
+
};
|
|
11236
|
+
content: {
|
|
11237
|
+
"application/json": components["schemas"]["DeliveryJobResponseDto"];
|
|
11238
|
+
};
|
|
11239
|
+
};
|
|
11240
|
+
/** @description Webhook or delivery not found. */
|
|
11241
|
+
404: {
|
|
11242
|
+
headers: {
|
|
11243
|
+
[name: string]: unknown;
|
|
11244
|
+
};
|
|
11245
|
+
content: {
|
|
11246
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11247
|
+
};
|
|
11248
|
+
};
|
|
11249
|
+
/** @description Webhook is disabled — re-enable it first. */
|
|
11250
|
+
409: {
|
|
11251
|
+
headers: {
|
|
11252
|
+
[name: string]: unknown;
|
|
11253
|
+
};
|
|
11254
|
+
content: {
|
|
11255
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11256
|
+
};
|
|
11257
|
+
};
|
|
11258
|
+
};
|
|
11259
|
+
};
|
|
11260
|
+
WebhookController_rotateSecret: {
|
|
11261
|
+
parameters: {
|
|
11262
|
+
query?: never;
|
|
11263
|
+
header?: {
|
|
11264
|
+
/** @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`. */
|
|
11265
|
+
"Idempotency-Key"?: string;
|
|
11266
|
+
};
|
|
10396
11267
|
path: {
|
|
10397
11268
|
/** @description Social community UUID. */
|
|
10398
11269
|
communityId: string;
|
|
@@ -10412,6 +11283,58 @@ interface operations {
|
|
|
10412
11283
|
"application/json": components["schemas"]["CreatedWebhookResponseDto"];
|
|
10413
11284
|
};
|
|
10414
11285
|
};
|
|
11286
|
+
/** @description Malformed Idempotency-Key header. */
|
|
11287
|
+
400: {
|
|
11288
|
+
headers: {
|
|
11289
|
+
[name: string]: unknown;
|
|
11290
|
+
};
|
|
11291
|
+
content: {
|
|
11292
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11293
|
+
};
|
|
11294
|
+
};
|
|
11295
|
+
/** @description Webhook not found. */
|
|
11296
|
+
404: {
|
|
11297
|
+
headers: {
|
|
11298
|
+
[name: string]: unknown;
|
|
11299
|
+
};
|
|
11300
|
+
content: {
|
|
11301
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11302
|
+
};
|
|
11303
|
+
};
|
|
11304
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
11305
|
+
409: {
|
|
11306
|
+
headers: {
|
|
11307
|
+
[name: string]: unknown;
|
|
11308
|
+
};
|
|
11309
|
+
content: {
|
|
11310
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11311
|
+
};
|
|
11312
|
+
};
|
|
11313
|
+
};
|
|
11314
|
+
};
|
|
11315
|
+
WebhookController_testPing: {
|
|
11316
|
+
parameters: {
|
|
11317
|
+
query?: never;
|
|
11318
|
+
header?: never;
|
|
11319
|
+
path: {
|
|
11320
|
+
/** @description Social community UUID. */
|
|
11321
|
+
communityId: string;
|
|
11322
|
+
/** @description Webhook UUID. */
|
|
11323
|
+
webhookId: string;
|
|
11324
|
+
};
|
|
11325
|
+
cookie?: never;
|
|
11326
|
+
};
|
|
11327
|
+
requestBody?: never;
|
|
11328
|
+
responses: {
|
|
11329
|
+
/** @description Ping enqueued. */
|
|
11330
|
+
202: {
|
|
11331
|
+
headers: {
|
|
11332
|
+
[name: string]: unknown;
|
|
11333
|
+
};
|
|
11334
|
+
content: {
|
|
11335
|
+
"application/json": components["schemas"]["DeliveryJobResponseDto"];
|
|
11336
|
+
};
|
|
11337
|
+
};
|
|
10415
11338
|
/** @description Webhook not found. */
|
|
10416
11339
|
404: {
|
|
10417
11340
|
headers: {
|
|
@@ -10421,6 +11344,35 @@ interface operations {
|
|
|
10421
11344
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10422
11345
|
};
|
|
10423
11346
|
};
|
|
11347
|
+
/** @description Webhook is disabled — re-enable it first. */
|
|
11348
|
+
409: {
|
|
11349
|
+
headers: {
|
|
11350
|
+
[name: string]: unknown;
|
|
11351
|
+
};
|
|
11352
|
+
content: {
|
|
11353
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11354
|
+
};
|
|
11355
|
+
};
|
|
11356
|
+
};
|
|
11357
|
+
};
|
|
11358
|
+
WebhookEventTypesController_list: {
|
|
11359
|
+
parameters: {
|
|
11360
|
+
query?: never;
|
|
11361
|
+
header?: never;
|
|
11362
|
+
path?: never;
|
|
11363
|
+
cookie?: never;
|
|
11364
|
+
};
|
|
11365
|
+
requestBody?: never;
|
|
11366
|
+
responses: {
|
|
11367
|
+
/** @description The full event-type catalog. */
|
|
11368
|
+
200: {
|
|
11369
|
+
headers: {
|
|
11370
|
+
[name: string]: unknown;
|
|
11371
|
+
};
|
|
11372
|
+
content: {
|
|
11373
|
+
"application/json": components["schemas"]["WebhookEventTypesResponseDto"];
|
|
11374
|
+
};
|
|
11375
|
+
};
|
|
10424
11376
|
};
|
|
10425
11377
|
};
|
|
10426
11378
|
CommunityController_list: {
|
|
@@ -10444,7 +11396,7 @@ interface operations {
|
|
|
10444
11396
|
"application/json": components["schemas"]["CommunityResponseDto"][];
|
|
10445
11397
|
};
|
|
10446
11398
|
};
|
|
10447
|
-
/** @description Caller lacks `social.
|
|
11399
|
+
/** @description Caller lacks `social.list`, or the workspace has not enabled the `social` service. */
|
|
10448
11400
|
403: {
|
|
10449
11401
|
headers: {
|
|
10450
11402
|
[name: string]: unknown;
|
|
@@ -10460,6 +11412,8 @@ interface operations {
|
|
|
10460
11412
|
query?: never;
|
|
10461
11413
|
header: {
|
|
10462
11414
|
authorization: string;
|
|
11415
|
+
/** @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`. */
|
|
11416
|
+
"Idempotency-Key"?: string;
|
|
10463
11417
|
};
|
|
10464
11418
|
path: {
|
|
10465
11419
|
/** @description ProductCraft workspace UUID owning the community. */
|
|
@@ -10482,7 +11436,7 @@ interface operations {
|
|
|
10482
11436
|
"application/json": components["schemas"]["CommunityResponseDto"];
|
|
10483
11437
|
};
|
|
10484
11438
|
};
|
|
10485
|
-
/** @description Validation failure (slug shape, display_name length). */
|
|
11439
|
+
/** @description Validation failure (slug shape, display_name length, malformed Idempotency-Key). */
|
|
10486
11440
|
400: {
|
|
10487
11441
|
headers: {
|
|
10488
11442
|
[name: string]: unknown;
|
|
@@ -10518,7 +11472,7 @@ interface operations {
|
|
|
10518
11472
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10519
11473
|
};
|
|
10520
11474
|
};
|
|
10521
|
-
/** @description Community slug already taken in this workspace,
|
|
11475
|
+
/** @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). */
|
|
10522
11476
|
409: {
|
|
10523
11477
|
headers: {
|
|
10524
11478
|
[name: string]: unknown;
|
|
@@ -10715,7 +11669,10 @@ interface operations {
|
|
|
10715
11669
|
ModerationAdminController_shadowBan: {
|
|
10716
11670
|
parameters: {
|
|
10717
11671
|
query?: never;
|
|
10718
|
-
header?:
|
|
11672
|
+
header?: {
|
|
11673
|
+
/** @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`. */
|
|
11674
|
+
"Idempotency-Key"?: string;
|
|
11675
|
+
};
|
|
10719
11676
|
path: {
|
|
10720
11677
|
workspaceId: string;
|
|
10721
11678
|
communityId: string;
|
|
@@ -10735,10 +11692,10 @@ interface operations {
|
|
|
10735
11692
|
[name: string]: unknown;
|
|
10736
11693
|
};
|
|
10737
11694
|
content: {
|
|
10738
|
-
"application/json": components["schemas"]["
|
|
11695
|
+
"application/json": components["schemas"]["ModerationActorResponseDto"];
|
|
10739
11696
|
};
|
|
10740
11697
|
};
|
|
10741
|
-
/** @description Invalid duration_hours or reason. */
|
|
11698
|
+
/** @description Invalid duration_hours or reason, or malformed Idempotency-Key. */
|
|
10742
11699
|
400: {
|
|
10743
11700
|
headers: {
|
|
10744
11701
|
[name: string]: unknown;
|
|
@@ -10765,6 +11722,15 @@ interface operations {
|
|
|
10765
11722
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
10766
11723
|
};
|
|
10767
11724
|
};
|
|
11725
|
+
/** @description `IDEMPOTENCY_KEY_REUSE` — the supplied Idempotency-Key was already used with a different request body. */
|
|
11726
|
+
409: {
|
|
11727
|
+
headers: {
|
|
11728
|
+
[name: string]: unknown;
|
|
11729
|
+
};
|
|
11730
|
+
content: {
|
|
11731
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11732
|
+
};
|
|
11733
|
+
};
|
|
10768
11734
|
};
|
|
10769
11735
|
};
|
|
10770
11736
|
ModerationAdminController_unshadow: {
|
|
@@ -10786,7 +11752,7 @@ interface operations {
|
|
|
10786
11752
|
[name: string]: unknown;
|
|
10787
11753
|
};
|
|
10788
11754
|
content: {
|
|
10789
|
-
"application/json": components["schemas"]["
|
|
11755
|
+
"application/json": components["schemas"]["ModerationActorResponseDto"];
|
|
10790
11756
|
};
|
|
10791
11757
|
};
|
|
10792
11758
|
/** @description Caller lacks `social.moderate`. */
|
|
@@ -11000,7 +11966,10 @@ interface operations {
|
|
|
11000
11966
|
ModerationAdminController_act: {
|
|
11001
11967
|
parameters: {
|
|
11002
11968
|
query?: never;
|
|
11003
|
-
header?:
|
|
11969
|
+
header?: {
|
|
11970
|
+
/** @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`. */
|
|
11971
|
+
"Idempotency-Key"?: string;
|
|
11972
|
+
};
|
|
11004
11973
|
path: {
|
|
11005
11974
|
workspaceId: string;
|
|
11006
11975
|
communityId: string;
|
|
@@ -11014,16 +11983,16 @@ interface operations {
|
|
|
11014
11983
|
};
|
|
11015
11984
|
};
|
|
11016
11985
|
responses: {
|
|
11017
|
-
/** @description Action recorded; target status updated where applicable. */
|
|
11986
|
+
/** @description Action recorded; target status updated where applicable. Returns the updated flag and the audit row. */
|
|
11018
11987
|
201: {
|
|
11019
11988
|
headers: {
|
|
11020
11989
|
[name: string]: unknown;
|
|
11021
11990
|
};
|
|
11022
11991
|
content: {
|
|
11023
|
-
"application/json": components["schemas"]["
|
|
11992
|
+
"application/json": components["schemas"]["ActOnFlagResponseDto"];
|
|
11024
11993
|
};
|
|
11025
11994
|
};
|
|
11026
|
-
/** @description Invalid action or notes. */
|
|
11995
|
+
/** @description Invalid action or notes, or malformed Idempotency-Key. */
|
|
11027
11996
|
400: {
|
|
11028
11997
|
headers: {
|
|
11029
11998
|
[name: string]: unknown;
|
|
@@ -11050,7 +12019,7 @@ interface operations {
|
|
|
11050
12019
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
11051
12020
|
};
|
|
11052
12021
|
};
|
|
11053
|
-
/** @description
|
|
12022
|
+
/** @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). */
|
|
11054
12023
|
409: {
|
|
11055
12024
|
headers: {
|
|
11056
12025
|
[name: string]: unknown;
|
|
@@ -11082,7 +12051,7 @@ interface operations {
|
|
|
11082
12051
|
[name: string]: unknown;
|
|
11083
12052
|
};
|
|
11084
12053
|
content: {
|
|
11085
|
-
"application/json": components["schemas"]["
|
|
12054
|
+
"application/json": components["schemas"]["ModerationActorListResponseDto"];
|
|
11086
12055
|
};
|
|
11087
12056
|
};
|
|
11088
12057
|
/** @description Caller lacks `social.audit.read`. */
|