x-developer 2.6.5 → 2.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/.codex-plugin/plugin.json +5 -5
  4. package/CHANGELOG.md +19 -3
  5. package/README.md +111 -70
  6. package/commands/post.md +5 -5
  7. package/commands/search.md +5 -8
  8. package/commands/trending.md +3 -5
  9. package/commands/user.md +4 -10
  10. package/context7.json +9 -9
  11. package/openclaw.plugin.json +4 -4
  12. package/package.json +10 -2
  13. package/scripts/check-versions.mjs +1 -1
  14. package/scripts/release-guard/content-policy.mjs +17 -17
  15. package/scripts/release-guard/policy.mjs +2 -2
  16. package/server.json +1 -1
  17. package/skills/x-twitter-scraper/SKILL.md +96 -90
  18. package/skills/x-twitter-scraper/metadata.json +2 -2
  19. package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +5 -5
  20. package/skills/x-twitter-scraper/references/api-endpoints-compose.md +16 -16
  21. package/skills/x-twitter-scraper/references/api-endpoints-credits.md +3 -3
  22. package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +21 -21
  23. package/skills/x-twitter-scraper/references/api-endpoints-draws.md +15 -15
  24. package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +4 -4
  25. package/skills/x-twitter-scraper/references/api-endpoints-events.md +8 -8
  26. package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +24 -23
  27. package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +21 -21
  28. package/skills/x-twitter-scraper/references/api-endpoints-radar.md +13 -13
  29. package/skills/x-twitter-scraper/references/api-endpoints-support.md +6 -6
  30. package/skills/x-twitter-scraper/references/api-endpoints-trends.md +20 -5
  31. package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +39 -39
  32. package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +24 -24
  33. package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +13 -13
  34. package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +41 -41
  35. package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +9 -9
  36. package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +73 -73
  37. package/skills/x-twitter-scraper/references/api-endpoints.md +11 -11
  38. package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +13 -13
  39. package/skills/x-twitter-scraper/references/best-x-api-alternative.md +38 -38
  40. package/skills/x-twitter-scraper/references/compare-twitter-apis.md +23 -24
  41. package/skills/x-twitter-scraper/references/draws.md +14 -14
  42. package/skills/x-twitter-scraper/references/export-twitter-followers.md +12 -12
  43. package/skills/x-twitter-scraper/references/extract-x-community-data.md +10 -10
  44. package/skills/x-twitter-scraper/references/extractions.md +54 -48
  45. package/skills/x-twitter-scraper/references/mcp-setup.md +30 -36
  46. package/skills/x-twitter-scraper/references/mcp-tools.md +59 -69
  47. package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +17 -18
  48. package/skills/x-twitter-scraper/references/python-examples.md +18 -26
  49. package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +58 -60
  50. package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +25 -27
  51. package/skills/x-twitter-scraper/references/security.md +9 -22
  52. package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +18 -18
  53. package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +17 -17
  54. package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +10 -11
  55. package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +23 -23
  56. package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +50 -50
  57. package/skills/x-twitter-scraper/references/types-account-identity.md +1 -1
  58. package/skills/x-twitter-scraper/references/types-account.md +1 -1
  59. package/skills/x-twitter-scraper/references/types-api-keys.md +1 -1
  60. package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +1 -1
  61. package/skills/x-twitter-scraper/references/types-credits.md +1 -1
  62. package/skills/x-twitter-scraper/references/types-download-media.md +4 -4
  63. package/skills/x-twitter-scraper/references/types-draws.md +1 -1
  64. package/skills/x-twitter-scraper/references/types-error.md +1 -1
  65. package/skills/x-twitter-scraper/references/types-events.md +1 -1
  66. package/skills/x-twitter-scraper/references/types-extractions.md +79 -96
  67. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +1 -1
  68. package/skills/x-twitter-scraper/references/types-monitors.md +1 -1
  69. package/skills/x-twitter-scraper/references/types-radar.md +1 -1
  70. package/skills/x-twitter-scraper/references/types-request-bodies.md +1 -1
  71. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +1 -1
  72. package/skills/x-twitter-scraper/references/types-support.md +1 -1
  73. package/skills/x-twitter-scraper/references/types-trends.md +1 -1
  74. package/skills/x-twitter-scraper/references/types-tweet-drafts.md +1 -1
  75. package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +1 -1
  76. package/skills/x-twitter-scraper/references/types-user-activity.md +1 -1
  77. package/skills/x-twitter-scraper/references/types-webhooks.md +1 -1
  78. package/skills/x-twitter-scraper/references/types-x-accounts.md +3 -3
  79. package/skills/x-twitter-scraper/references/types-x-api.md +25 -31
  80. package/skills/x-twitter-scraper/references/types-x-articles.md +1 -1
  81. package/skills/x-twitter-scraper/references/types-x-write.md +3 -3
  82. package/skills/x-twitter-scraper/references/types.md +15 -15
  83. package/skills/x-twitter-scraper/references/usage.md +6 -6
  84. package/skills/x-twitter-scraper/references/webhooks.md +27 -37
  85. package/skills/x-twitter-scraper/references/workflows.md +54 -63
  86. package/skills/x-twitter-scraper/skill-card.md +35 -27
  87. package/skills/x-twitter-scraper/skillspector-report.md +2 -2
  88. package/skills/xquik-social-research/SKILL.md +19 -16
  89. package/skills.sh.json +8 -8
  90. package/stub-server.mjs +42 -42
  91. package/task-guides/check-mutuals.md +9 -9
  92. package/task-guides/clean-followers.md +15 -15
  93. package/task-guides/export-tweets-csv.md +12 -12
  94. package/task-guides/extract-followers.md +16 -16
  95. package/task-guides/find-bangers.md +14 -14
  96. package/task-guides/find-influencers.md +10 -10
  97. package/task-guides/find-viral-tweets.md +15 -15
  98. package/task-guides/follow-unfollow.md +16 -15
  99. package/task-guides/for-you-feed.md +10 -10
  100. package/task-guides/going-viral.md +19 -18
  101. package/task-guides/grow-followers.md +13 -13
  102. package/task-guides/monitor-accounts.md +16 -16
  103. package/task-guides/optimize-tweets.md +16 -15
  104. package/task-guides/post-tweets.md +19 -18
  105. package/task-guides/run-giveaway.md +15 -15
  106. package/task-guides/search-tweets.md +13 -13
  107. package/task-guides/send-dms.md +13 -13
  108. package/task-guides/top-replies.md +10 -10
  109. package/task-guides/track-competitors.md +16 -16
  110. package/task-guides/track-hashtags.md +10 -10
  111. package/task-guides/track-mentions.md +12 -12
  112. package/task-guides/trending-news.md +11 -11
  113. package/task-guides/tweet-analytics.md +16 -16
  114. package/task-guides/tweet-ideas.md +10 -10
  115. package/task-guides/tweet-replies.md +15 -15
  116. package/task-guides/tweet-style.md +10 -10
  117. package/task-guides/tweet-webhooks.md +12 -12
  118. package/task-guides/update-x-profile.md +15 -15
  119. package/task-guides/user-tweets.md +21 -21
  120. package/task-guides/who-liked.md +10 -10
  121. package/task-guides/who-quoted.md +10 -10
  122. package/task-guides/who-retweeted.md +10 -10
  123. package/task-guides/write-threads.md +12 -16
  124. package/task-guides/write-tweets.md +15 -15
  125. package/task-guides/x-articles.md +9 -9
  126. package/task-guides/x-bookmarks.md +10 -10
  127. package/task-guides/x-communities.md +10 -10
  128. package/task-guides/x-lists.md +8 -8
  129. package/task-guides/x-spaces.md +9 -9
  130. package/task-guides/x-trends.md +11 -11
@@ -1,33 +1,33 @@
1
- # Xquik REST API Endpoints: Compose
1
+ # Xquik REST API endpoints: compose
2
2
 
3
- ### Compose Tweet
3
+ ### Compose tweet
4
4
 
5
5
  ```
6
6
  POST /compose
7
7
  ```
8
8
 
9
- Compose, refine, and score tweets with Xquik style signals. Three-step workflow.
9
+ Compose, refine, and score tweets with Xquik style signals. Run each step separately.
10
10
 
11
- **Body:**
11
+ Send this body:
12
12
 
13
13
  | Field | Type | Required | Description |
14
14
  |-------|------|----------|-------------|
15
15
  | `step` | string | Yes | `compose`, `refine`, or `score` |
16
- | `topic` | string | No | Tweet topic (compose, refine) |
16
+ | `topic` | string | No | Tweet topic for compose or refine |
17
17
  | `goal` | string | No | `engagement`, `followers`, `authority`, `conversation` |
18
- | `styleUsername` | string | No | Cached style username for voice matching (compose) |
19
- | `tone` | string | No | Desired tone (refine) |
20
- | `additionalContext` | string | No | Extra context or URLs (refine) |
21
- | `callToAction` | string | No | Desired CTA (refine) |
22
- | `mediaType` | string | No | `photo`, `video`, `none` (refine) |
23
- | `draft` | string | No | Tweet text to evaluate (score) |
24
- | `hasLink` | boolean | No | Link attached (score) |
25
- | `hasMedia` | boolean | No | Media attached (score) |
18
+ | `styleUsername` | string | No | Cached style username for compose |
19
+ | `tone` | string | No | Desired tone for refine |
20
+ | `additionalContext` | string | No | Extra context or URLs for refine |
21
+ | `callToAction` | string | No | Desired call to action for refine |
22
+ | `mediaType` | string | No | `photo`, `video`, or `none` for refine |
23
+ | `draft` | string | No | Tweet text to evaluate for score |
24
+ | `hasLink` | boolean | No | Whether score evaluates a link |
25
+ | `hasMedia` | boolean | No | Whether score evaluates media |
26
26
 
27
- **Response (step=compose):** Returns `contentRules`, `scorerWeights`, `followUpQuestions`, `algorithmInsights`, `engagementMultipliers`, `topPenalties`.
27
+ For `step=compose`, the API returns `contentRules`, `scorerWeights`, `followUpQuestions`, `algorithmInsights`, `engagementMultipliers`, and `topPenalties`.
28
28
 
29
- **Response (step=refine):** Returns `compositionGuidance`, `examplePatterns`.
29
+ For `step=refine`, the API returns `compositionGuidance` and `examplePatterns`.
30
30
 
31
- **Response (step=score):** Returns `totalChecks`, `passedCount`, `topSuggestion`, `checklist[]` with `factor`, `passed`, `suggestion`.
31
+ For `step=score`, the API returns `totalChecks`, `passedCount`, `topSuggestion`, and `checklist[]`. Each checklist item contains `factor`, `passed`, and `suggestion`.
32
32
 
33
33
  ---
@@ -1,11 +1,11 @@
1
- # Xquik REST API Endpoints: Credits
1
+ # Xquik REST API endpoints: credits
2
2
 
3
- ### Get Credit Balance
3
+ ### Get credit balance
4
4
 
5
5
  ```
6
6
  GET /credits
7
7
  ```
8
8
 
9
- Get credit balance and lifetime usage fields. Plan and credit changes are dashboard-only and intentionally omitted from this installable skill.
9
+ Get the credit balance and lifetime usage fields. Plan and credit changes are dashboard-only. This installable Skill omits those routes.
10
10
 
11
11
  ---
@@ -1,31 +1,31 @@
1
- # Xquik REST API Endpoints: Drafts
1
+ # Xquik REST API endpoints: drafts
2
2
 
3
- ## Safety Boundary
3
+ ## Require approval for drafts
4
4
 
5
5
  `GET` operations expose private saved content. State the exact draft scope and
6
- obtain explicit approval immediately before each read. `POST` and delete
6
+ obtain explicit approval immediately before each read. `POST` and `DELETE`
7
7
  operations are non-default writes. Show the exact draft text or draft ID and
8
8
  obtain explicit approval immediately before each write. Never infer approval
9
9
  from an earlier request or retry a failed write automatically.
10
10
 
11
- ### Create Draft
11
+ ### Create draft
12
12
 
13
13
  `POST /drafts`
14
14
 
15
15
  Save a tweet draft for later.
16
16
 
17
- **Approval required:** Preview the complete text and metadata. Create the draft
17
+ Get approval first. Preview the complete text and metadata. Create the draft
18
18
  only after the user explicitly approves that exact payload.
19
19
 
20
- **Request body:**
20
+ Send this request body:
21
21
 
22
22
  | Field | Type | Required | Description |
23
23
  |-------|------|----------|-------------|
24
24
  | `text` | string | Yes | The draft tweet text |
25
25
  | `topic` | string | No | Topic the tweet is about |
26
- | `goal` | string | No | Optimization goal: `engagement`, `followers`, `authority`, `conversation` |
26
+ | `goal` | string | No | `engagement`, `followers`, `authority`, or `conversation` |
27
27
 
28
- **Response (201):**
28
+ For a 201 response, the API returns:
29
29
 
30
30
  ```json
31
31
  {
@@ -40,23 +40,23 @@ only after the user explicitly approves that exact payload.
40
40
 
41
41
  ---
42
42
 
43
- ### List Drafts
43
+ ### List drafts
44
44
 
45
45
  `GET /drafts`
46
46
 
47
47
  List saved tweet drafts with cursor pagination.
48
48
 
49
- **Private read:** Show the requested page size and account scope. List drafts
49
+ This is a private read. Show the requested page size and account scope. List drafts
50
50
  only after explicit approval for that exact read.
51
51
 
52
- **Query parameters:**
52
+ Use these query parameters:
53
53
 
54
54
  | Parameter | Type | Required | Default | Description |
55
55
  |-----------|------|----------|---------|-------------|
56
- | `limit` | number | No | 50 | Results per page (max 50) |
56
+ | `limit` | number | No | 50 | Results per page; maximum 50 |
57
57
  | `afterCursor` | string | No | - | Pagination cursor from previous response |
58
58
 
59
- **Response (200):**
59
+ For a 200 response, the API returns:
60
60
 
61
61
  ```json
62
62
  {
@@ -77,29 +77,29 @@ only after explicit approval for that exact read.
77
77
 
78
78
  ---
79
79
 
80
- ### Get Draft
80
+ ### Get draft
81
81
 
82
82
  `GET /drafts/{id}`
83
83
 
84
84
  Get a specific draft by ID.
85
85
 
86
- **Private read:** Show the draft ID. Fetch it only after explicit approval for
86
+ This is a private read. Show the draft ID. Fetch it only after explicit approval for
87
87
  that exact read, including any preview before deletion.
88
88
 
89
- **Response (200):** Single draft object.
89
+ For a 200 response, the API returns 1 draft object.
90
90
 
91
- **Errors:** `400 invalid_id`, `404 draft_not_found`
91
+ Possible errors include `400 invalid_id` and `404 draft_not_found`.
92
92
 
93
93
  ---
94
94
 
95
- ### Delete Draft
95
+ ### Delete draft
96
96
 
97
- delete request to `/drafts/{id}`
97
+ Send a delete request to `/drafts/{id}`.
98
98
 
99
- **Destructive action:** Deletion is permanent and cannot be recovered through
99
+ This action is destructive. Deletion is permanent and cannot be recovered through
100
100
  this API. Show the draft ID and text, then obtain explicit approval immediately
101
101
  before deleting it. Returns `204 No Content`.
102
102
 
103
- **Errors:** `400 invalid_id`, `404 draft_not_found`
103
+ Possible errors include `400 invalid_id` and `404 draft_not_found`.
104
104
 
105
105
  ---
@@ -1,6 +1,6 @@
1
- # Xquik REST API Endpoints: Draws
1
+ # Xquik REST API endpoints: draws
2
2
 
3
- ## Safety Boundary
3
+ ## Protect giveaway participant data
4
4
 
5
5
  Draw creation and participant exports are metered or privacy-sensitive actions.
6
6
  Confirm the source tweet, eligibility rules, requested data type, export
@@ -10,20 +10,20 @@ secondary use.
10
10
  Draw history and results are account-scoped private reads. Require exact-scope
11
11
  approval before listing draws or retrieving winners.
12
12
 
13
- ### Create Draw
13
+ ### Create draw
14
14
 
15
15
  ```
16
16
  POST /draws
17
17
  ```
18
18
 
19
- Run a giveaway draw from a tweet. Picks random winners from replies.
19
+ Run a giveaway draw from a tweet. The draw selects random winners from replies.
20
20
 
21
- **Approval required:** Show the source tweet, winner count, backup count,
21
+ Get approval first. Show the source tweet, winner count, backup count,
22
22
  filters, and estimated usage. Also show the lawful purpose, participant-data
23
23
  handling, export audience, and retention plan. Record every field before
24
24
  persisting participant data.
25
25
 
26
- **Body:**
26
+ Send this body:
27
27
  ```json
28
28
  {
29
29
  "tweetUrl": "https://x.com/user/status/1893456789012345678",
@@ -43,13 +43,13 @@ persisting participant data.
43
43
 
44
44
  All filter fields are optional. Only `tweetUrl` is required.
45
45
 
46
- **Response:**
46
+ The API returns:
47
47
  ```json
48
48
  {
49
49
  "id": "42",
50
50
  "tweetId": "1893456789012345678",
51
51
  "tweetUrl": "https://x.com/user/status/1893456789012345678",
52
- "tweetText": "Like & RT to enter! Picking 3 winners tomorrow.",
52
+ "tweetText": "Like and repost to enter. We will select 3 winners tomorrow.",
53
53
  "tweetAuthorUsername": "xquik",
54
54
  "tweetLikeCount": 4200,
55
55
  "tweetRetweetCount": 1800,
@@ -63,7 +63,7 @@ All filter fields are optional. Only `tweetUrl` is required.
63
63
  }
64
64
  ```
65
65
 
66
- ### List Draws
66
+ ### List draws
67
67
 
68
68
  ```
69
69
  GET /draws
@@ -71,10 +71,10 @@ GET /draws
71
71
 
72
72
  Cursor-paginated. Returns compact draw objects.
73
73
 
74
- **Private read:** Show the exact account, requested page scope, and returned
74
+ This is a private read. Show the exact account, requested page scope, and returned
75
75
  field scope. List draws only after explicit approval for that exact read.
76
76
 
77
- ### Get Draw
77
+ ### Get draw
78
78
 
79
79
  ```
80
80
  GET /draws/{id}
@@ -82,18 +82,18 @@ GET /draws/{id}
82
82
 
83
83
  Returns full draw details including winners.
84
84
 
85
- **Private read:** Show the exact account, draw ID, and returned-data scope.
85
+ This is a private read. Show the exact account, draw ID, and returned-data scope.
86
86
  Retrieve details only after explicit approval for that exact read.
87
87
 
88
- ### Export Draw
88
+ ### Export draw
89
89
 
90
90
  ```
91
91
  GET /draws/{id}/export?format=csv&type=winners
92
92
  ```
93
93
 
94
- Formats: `csv`, `json`, `md`, `md-document`, `pdf`, `txt`, `xlsx`. Types: `winners` (default), `entries`. Entry exports capped at 100,000 rows (PDF capped at 10,000).
94
+ Choose `csv`, `json`, `md`, `md-document`, `pdf`, `txt`, or `xlsx`. Choose `winners` or `entries`; the default is `winners`. Entry exports support 100,000 rows, except PDF supports 10,000.
95
95
 
96
- **Approval required:** Full entry exports can contain participant identity and
96
+ Get approval first. Full entry exports can contain participant identity and
97
97
  activity data. Show the lawful purpose, exact draw, type, format, audience, and
98
98
  retention period. Export only after explicit approval for that exact request.
99
99
  Prefer winners-only output. Do not retain data beyond the approved purpose.
@@ -1,4 +1,4 @@
1
- # Xquik REST API Endpoints: Error Codes
1
+ # Xquik REST API endpoints: error codes
2
2
 
3
3
  Default v1 responses put a legacy string code in `error`. Send
4
4
  `xquik-api-contract: 2026-04-29` to receive an object with `message`, `type`,
@@ -21,14 +21,14 @@ and `code`. OpenAPI enumerates 112 codes, including `closed`, `expired`,
21
21
  | 400 | `missing_query` | Required query parameter is missing |
22
22
  | 400 | `missing_params` | Required query parameters are missing |
23
23
  | 400 | `no_media` | Tweet has no downloadable media |
24
- | 400 | `webhook_inactive` | Webhook is disabled (test-webhook only) |
24
+ | 400 | `webhook_inactive` | Webhook is disabled; applies only to webhook tests |
25
25
  | 401 | `unauthenticated` | Missing or invalid API key |
26
26
  | 403 | `account_needs_reauth` | X account session expired; use dashboard re-auth flow |
27
27
  | 402 | `no_subscription` | No active plan |
28
28
  | 402 | `subscription_inactive` | Plan is not active |
29
29
  | 402 | `no_credits` | No credit balance record exists |
30
30
  | 402 | `insufficient_credits` | Credit balance is too low |
31
- | 403 | `api_key_limit_reached` | API key limit reached (100 max) |
31
+ | 403 | `api_key_limit_reached` | API key limit reached; maximum 100 |
32
32
  | 404 | `not_found` | Resource does not exist |
33
33
  | 404 | `user_not_found` | X user not found |
34
34
  | 404 | `tweet_not_found` | Tweet not found |
@@ -44,7 +44,7 @@ and `code`. OpenAPI enumerates 112 codes, including `closed`, `expired`,
44
44
  | 502 | `x_api_unavailable` | X data source temporarily unavailable |
45
45
  | 502 | `x_api_unauthorized` | X data source authentication failed. Retry |
46
46
 
47
- ## Cursor Recovery Examples
47
+ ## Cursor recovery examples
48
48
 
49
49
  `409 coverage_cursor_unavailable` requires an integer `Retry-After` response
50
50
  header. Wait that many seconds, then retry the same cursor once.
@@ -1,22 +1,22 @@
1
- # Xquik REST API Endpoints: Events
1
+ # Xquik REST API endpoints: events
2
2
 
3
- ### List Events
3
+ ### List events
4
4
 
5
5
  ```
6
6
  GET /events
7
7
  ```
8
8
 
9
- **Query parameters:**
9
+ Use these query parameters:
10
10
 
11
- | Param | Type | Description |
11
+ | Parameter | Type | Description |
12
12
  |-------|------|-------------|
13
13
  | `monitorId` | string | Filter by monitor ID |
14
14
  | `keywordMonitorId` | string | Filter by keyword monitor ID |
15
15
  | `eventType` | string | Filter by event type |
16
- | `limit` | number | Results per page (1-100, default 50) |
16
+ | `limit` | number | Results per page from 1-100; defaults to 50 |
17
17
  | `cursor` | string | Previous `nextCursor` |
18
18
 
19
- **Response:**
19
+ The API returns:
20
20
  ```json
21
21
  {
22
22
  "events": [
@@ -39,12 +39,12 @@ GET /events
39
39
  }
40
40
  ```
41
41
 
42
- ### Get Event
42
+ ### Get event
43
43
 
44
44
  ```
45
45
  GET /events/{id}
46
46
  ```
47
47
 
48
- Returns a single event with full details.
48
+ Returns 1 event.
49
49
 
50
50
  ---
@@ -1,6 +1,6 @@
1
- # Xquik REST API Endpoints: Extractions
1
+ # Xquik REST API endpoints: extractions
2
2
 
3
- ## Safety Boundary
3
+ ## Protect extracted data
4
4
 
5
5
  Extraction creation and export can collect and disclose large datasets. First
6
6
  confirm the lawful purpose, exact target, `resultsLimit`, recipients, and
@@ -10,19 +10,19 @@ surveillance, discrimination, harassment, doxxing, or unrelated secondary use.
10
10
  Extraction history and results are account-scoped private reads. Require
11
11
  exact-scope approval before listing jobs or retrieving results.
12
12
 
13
- ### Create Extraction
13
+ ### Create extraction
14
14
 
15
15
  ```
16
16
  POST /extractions
17
17
  ```
18
18
 
19
- Run a bulk data extraction job. See `references/extractions.md` for all 23 tool types.
19
+ Run a bulk data extraction job. See `references/extractions.md` for all 23 tools.
20
20
 
21
- **Approval required:** Call the estimate endpoint with the same body first.
21
+ Get approval first. Call the estimate endpoint with the same body first.
22
22
  Create the job only when the estimate returns `allowed: true`. Then require
23
23
  approval for the target, bound, usage, and data-handling plan.
24
24
 
25
- **Body:**
25
+ Send this body:
26
26
  ```json
27
27
  {
28
28
  "toolType": "reply_extractor",
@@ -34,11 +34,12 @@ approval for the target, bound, usage, and data-handling plan.
34
34
  The API accepts an omitted `resultsLimit`. This Skill must always send an
35
35
  explicit finite positive bound. The bound stops early and limits usage.
36
36
 
37
- The request also accepts current Tweet, profile, collection, and reply filters.
38
- See [Extraction Tools](extractions.md) and the OpenAPI schema. Send the same
39
- filters to estimate and create.
37
+ The request accepts single or batch targets, mixed targets, relation targets,
38
+ deduplication controls, output metadata, and current result filters. See
39
+ [Extraction Tools](extractions.md) and the OpenAPI schema. Send the same body
40
+ to estimate and create.
40
41
 
41
- **Response:**
42
+ The API returns:
42
43
  ```json
43
44
  {
44
45
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
@@ -47,7 +48,7 @@ filters to estimate and create.
47
48
  }
48
49
  ```
49
50
 
50
- ### Estimate Extraction
51
+ ### Estimate extraction
51
52
 
52
53
  ```
53
54
  POST /extractions/estimate
@@ -55,7 +56,7 @@ POST /extractions/estimate
55
56
 
56
57
  Preview usage before running. Same body as create.
57
58
 
58
- **Response:**
59
+ The API returns:
59
60
  ```json
60
61
  {
61
62
  "allowed": true,
@@ -66,7 +67,7 @@ Preview usage before running. Same body as create.
66
67
  }
67
68
  ```
68
69
 
69
- ### List Extractions
70
+ ### List extractions
70
71
 
71
72
  ```
72
73
  GET /extractions
@@ -75,38 +76,38 @@ GET /extractions
75
76
  Cursor-paginated. Use `limit`, `cursor`, `status`, and `toolType`. Pass each
76
77
  `nextCursor` unchanged while `hasMore` is true.
77
78
 
78
- **Private read:** Show the exact account, purpose, requested filters, and page
79
- scope. Also show downstream recipients and the retention plan. List jobs only
79
+ This is a private read. Show the exact account, purpose, requested filters, and page
80
+ scope. Also show recipients and the retention plan. List jobs only
80
81
  after explicit approval for that exact read.
81
82
 
82
- ### Get Extraction
83
+ ### Get extraction
83
84
 
84
85
  ```
85
86
  GET /extractions/{id}
86
87
  ```
87
88
 
88
- Returns job details with paginated results (up to 1,000 per page).
89
+ Returns job details with up to 1,000 results per page.
89
90
  Use `limit` and `cursor`. Optional result-shaping parameters are `outputMode`,
90
91
  `outputPreset`, and `fieldStyle`. `includeRaw` is deprecated.
91
92
 
92
- **Private read:** Show the exact account, job ID, purpose, and page scope. Also
93
- show downstream recipients and the retention plan. Retrieve results only after
93
+ This is a private read. Show the exact account, job ID, purpose, and page scope. Also
94
+ show recipients and the retention plan. Retrieve results only after
94
95
  explicit approval for that exact read.
95
96
 
96
- ### Export Extraction
97
+ ### Export extraction
97
98
 
98
99
  ```
99
100
  GET /extractions/{id}/export?format=csv
100
101
  ```
101
102
 
102
- Formats: `csv`, `json`, `md`, `md-document`, `pdf`, `txt`, and `xlsx`.
103
+ Choose `csv`, `json`, `md`, `md-document`, `pdf`, `txt`, or `xlsx`.
103
104
  Exports can include enrichment columns not present in paginated API results.
104
105
 
105
106
  Use documented row filters for follower, following, post, engagement, profile,
106
107
  media, language, search, and date fields. The endpoint does not project fields.
107
108
 
108
- **Approval required:** Show the job, filters, format, row count, schema,
109
- recipients, storage, and retention. Materialize or transmit the export only
109
+ Get approval first. Show the job, filters, format, row count, schema,
110
+ recipients, storage, and retention. Create or send the export only
110
111
  after explicit approval.
111
112
 
112
113
  ---
@@ -1,6 +1,6 @@
1
- # Xquik REST API Endpoints: Monitors
1
+ # Xquik REST API endpoints: monitors
2
2
 
3
- ## Safety Boundary
3
+ ## Require approval for monitors
4
4
 
5
5
  Monitor reads expose private configuration and require exact-scope approval.
6
6
  Creating, updating, enabling, disabling, or deleting a monitor changes a
@@ -10,17 +10,17 @@ plan, ongoing usage, and disable path. If delivery uses a webhook, show its
10
10
  exact URL and HMAC verification plan. Proceed only after explicit approval for
11
11
  that exact action. Never create monitoring from an ambiguous request.
12
12
 
13
- ### Create Monitor
13
+ ### Create monitor
14
14
 
15
15
  ```http
16
16
  POST /monitors
17
17
  ```
18
18
 
19
- **Approval required:** This starts persistent monitoring. Confirm the exact
19
+ Get approval first. This starts persistent monitoring. Confirm the exact
20
20
  username, event types, delivery plan, ongoing usage, and disable path first.
21
21
  Include the exact URL and HMAC verification plan for webhook delivery.
22
22
 
23
- **Body:**
23
+ Send this body:
24
24
  ```json
25
25
  {
26
26
  "username": "elonmusk",
@@ -28,7 +28,7 @@ Include the exact URL and HMAC verification plan for webhook delivery.
28
28
  }
29
29
  ```
30
30
 
31
- **Response:**
31
+ The API returns:
32
32
  ```json
33
33
  {
34
34
  "id": "7",
@@ -41,63 +41,63 @@ Include the exact URL and HMAC verification plan for webhook delivery.
41
41
  }
42
42
  ```
43
43
 
44
- Event types include Tweet activity and profile-change events. Use the OpenAPI
44
+ Event types include tweet activity and profile-change events. Use the OpenAPI
45
45
  `EventType` enum for the current values. `webhook.test` is only a test payload.
46
46
 
47
47
  Returns `409 monitor_already_exists` if the username is already monitored.
48
48
 
49
- ### List Monitors
49
+ ### List monitors
50
50
 
51
51
  ```
52
52
  GET /monitors
53
53
  ```
54
54
 
55
- Returns all monitors (up to 200, no pagination). Response includes `monitors` array and `total` count.
55
+ Returns up to 200 monitors without pagination. The response includes `monitors` and `total`.
56
56
 
57
- **Private read:** List monitor targets and delivery configuration only after
57
+ This is a private read. List monitor targets and delivery configuration only after
58
58
  explicit approval for that account scope.
59
59
 
60
- ### Get Monitor
60
+ ### Get monitor
61
61
 
62
62
  ```http
63
63
  GET /monitors/{id}
64
64
  ```
65
65
 
66
- **Private read:** Show the monitor ID. Retrieve its configuration only after
66
+ This is a private read. Show the monitor ID. Retrieve its configuration only after
67
67
  explicit approval for that exact read.
68
68
 
69
- ### Update Monitor
69
+ ### Update monitor
70
70
 
71
71
  ```http
72
72
  PATCH /monitors/{id}
73
73
  ```
74
74
 
75
- **Approval required:** Show the current and proposed event types and active
75
+ Get approval first. Show the current and proposed event types and active
76
76
  state. Apply only the explicitly approved change.
77
77
 
78
- **Body:** `{ "eventTypes": [...], "isActive": true|false }` (both optional)
78
+ Send `{ "eventTypes": [...], "isActive": true|false }`. Both fields are optional.
79
79
 
80
- ### Delete Monitor
80
+ ### Delete monitor
81
81
 
82
82
  ```
83
- delete request to `/monitors/{id}`
83
+ DELETE /monitors/{id}
84
84
  ```
85
85
 
86
- **Destructive action:** This permanently stops tracking and deletes associated
86
+ This action is destructive. This permanently stops tracking and deletes associated
87
87
  monitor data. Show the monitor ID, target, and lost data. Delete only after
88
88
  explicit approval immediately before the call.
89
89
 
90
- ### Keyword Monitors
90
+ ### Keyword monitors
91
91
 
92
92
  ```
93
93
  GET /monitors/keywords
94
94
  POST /monitors/keywords
95
95
  GET /monitors/keywords/{id}
96
96
  PATCH /monitors/keywords/{id}
97
- delete request to `/monitors/keywords/{id}`
97
+ DELETE /monitors/keywords/{id}
98
98
  ```
99
99
 
100
- Create and manage ongoing keyword monitors. Treat these as persistent resources: confirm the keyword query, event delivery plan, and ongoing usage before creating or enabling one.
100
+ Create and manage ongoing keyword monitors. They are persistent resources. Confirm the query, event delivery, and ongoing usage before creating or enabling one.
101
101
 
102
102
  Create with `{ "query": "#buildinpublic", "eventTypes": ["tweet.new"] }`.
103
103
  Poll its events with `GET /events?keywordMonitorId=<id>`.
@@ -1,6 +1,6 @@
1
- # Xquik REST API Endpoints: Radar
1
+ # Xquik REST API endpoints: radar
2
2
 
3
- ### List Radar Items
3
+ ### List radar items
4
4
 
5
5
  ```
6
6
  GET /radar
@@ -8,25 +8,25 @@ GET /radar
8
8
 
9
9
  Get trending topics and news from supported trend and news sources.
10
10
 
11
- **Query parameters:**
11
+ Use these query parameters:
12
12
 
13
- | Param | Type | Description |
13
+ | Parameter | Type | Description |
14
14
  |-------|------|-------------|
15
15
  | `after` | string | Previous `nextCursor` |
16
- | `source` | string | Filter by `github`, `google_trends`, `hacker_news`, `polymarket`, `reddit`, `trustmrr`, or `wikipedia` |
17
- | `category` | string | Filter by category: `general`, `tech`, `dev`, `science`, `culture`, `politics`, `business`, `entertainment` |
18
- | `limit` | number | Items per page (1-100, default 50) |
19
- | `hours` | number | Look-back window in hours (1-72, default 6) |
20
- | `region` | string | Region code: `US`, `GB`, `TR`, `ES`, `DE`, `FR`, `JP`, `IN`, `BR`, `CA`, `MX`, `global` (default) |
16
+ | `source` | string | `github`, `google_trends`, `hacker_news`, `polymarket`, `reddit`, `trustmrr`, or `wikipedia` |
17
+ | `category` | string | `general`, `tech`, `dev`, `science`, `culture`, `politics`, `business`, or `entertainment` |
18
+ | `limit` | number | Items per page from 1-100; defaults to 50 |
19
+ | `hours` | number | Look-back window from 1-72 hours; defaults to 6 |
20
+ | `region` | string | `US`, `GB`, `TR`, `ES`, `DE`, `FR`, `JP`, `IN`, `BR`, `CA`, `MX`, or `global`; defaults to `global` |
21
21
 
22
- **Response:**
22
+ The API returns:
23
23
  ```json
24
24
  {
25
25
  "items": [
26
26
  {
27
27
  "id": "12345",
28
- "title": "Claude 4.6 Released",
29
- "description": "Anthropic releases Claude 4.6...",
28
+ "title": "Claude 4.6 released",
29
+ "description": "Anthropic releases Claude 4.6.",
30
30
  "url": "https://example.com/article",
31
31
  "imageUrl": "https://example.com/image.png",
32
32
  "source": "hacker_news",
@@ -45,6 +45,6 @@ Get trending topics and news from supported trend and news sources.
45
45
  }
46
46
  ```
47
47
 
48
- Fields: `id`, `title`, `description?`, `url?`, `imageUrl?`, `source`, `sourceId`, `category`, `region`, `language`, `score`, `metadata`, `publishedAt`, `createdAt`. Response includes `hasMore` and `nextCursor` for pagination.
48
+ Each item contains `id`, `title`, `source`, `sourceId`, `category`, `region`, `language`, `score`, `metadata`, `publishedAt`, and `createdAt`. It may include `description`, `url`, and `imageUrl`. The response also returns `hasMore` and `nextCursor`.
49
49
 
50
50
  ---