x-developer 2.6.4 → 2.6.6
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/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +5 -3
- package/.codex-plugin/plugin.json +5 -5
- package/CHANGELOG.md +23 -3
- package/README.md +111 -70
- package/commands/post.md +5 -5
- package/commands/search.md +5 -8
- package/commands/trending.md +3 -5
- package/commands/user.md +4 -10
- package/context7.json +9 -9
- package/openclaw.plugin.json +4 -4
- package/package.json +10 -2
- package/scripts/check-versions.mjs +1 -1
- package/scripts/release-guard/content-policy.mjs +17 -17
- package/scripts/release-guard/policy.mjs +2 -2
- package/server.json +1 -1
- package/skills/x-twitter-scraper/SKILL.md +96 -90
- package/skills/x-twitter-scraper/metadata.json +2 -2
- package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +5 -5
- package/skills/x-twitter-scraper/references/api-endpoints-compose.md +16 -16
- package/skills/x-twitter-scraper/references/api-endpoints-credits.md +3 -3
- package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +21 -21
- package/skills/x-twitter-scraper/references/api-endpoints-draws.md +15 -15
- package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +4 -4
- package/skills/x-twitter-scraper/references/api-endpoints-events.md +8 -8
- package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +24 -23
- package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +21 -21
- package/skills/x-twitter-scraper/references/api-endpoints-radar.md +13 -13
- package/skills/x-twitter-scraper/references/api-endpoints-support.md +6 -6
- package/skills/x-twitter-scraper/references/api-endpoints-trends.md +20 -5
- package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +39 -39
- package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +24 -24
- package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +13 -13
- package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +41 -41
- package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +9 -9
- package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +73 -73
- package/skills/x-twitter-scraper/references/api-endpoints.md +11 -11
- package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +13 -13
- package/skills/x-twitter-scraper/references/best-x-api-alternative.md +38 -38
- package/skills/x-twitter-scraper/references/compare-twitter-apis.md +23 -24
- package/skills/x-twitter-scraper/references/draws.md +14 -14
- package/skills/x-twitter-scraper/references/export-twitter-followers.md +12 -12
- package/skills/x-twitter-scraper/references/extract-x-community-data.md +10 -10
- package/skills/x-twitter-scraper/references/extractions.md +54 -48
- package/skills/x-twitter-scraper/references/mcp-setup.md +30 -36
- package/skills/x-twitter-scraper/references/mcp-tools.md +59 -69
- package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +17 -18
- package/skills/x-twitter-scraper/references/python-examples.md +18 -26
- package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +58 -60
- package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +25 -27
- package/skills/x-twitter-scraper/references/security.md +9 -22
- package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +18 -18
- package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +17 -17
- package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +10 -11
- package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +23 -23
- package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +50 -50
- package/skills/x-twitter-scraper/references/types-account-identity.md +1 -1
- package/skills/x-twitter-scraper/references/types-account.md +1 -1
- package/skills/x-twitter-scraper/references/types-api-keys.md +1 -1
- package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +1 -1
- package/skills/x-twitter-scraper/references/types-credits.md +1 -1
- package/skills/x-twitter-scraper/references/types-download-media.md +4 -4
- package/skills/x-twitter-scraper/references/types-draws.md +1 -1
- package/skills/x-twitter-scraper/references/types-error.md +1 -1
- package/skills/x-twitter-scraper/references/types-events.md +1 -1
- package/skills/x-twitter-scraper/references/types-extractions.md +79 -96
- package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +1 -1
- package/skills/x-twitter-scraper/references/types-monitors.md +1 -1
- package/skills/x-twitter-scraper/references/types-radar.md +1 -1
- package/skills/x-twitter-scraper/references/types-request-bodies.md +1 -1
- package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +1 -1
- package/skills/x-twitter-scraper/references/types-support.md +1 -1
- package/skills/x-twitter-scraper/references/types-trends.md +1 -1
- package/skills/x-twitter-scraper/references/types-tweet-drafts.md +1 -1
- package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +1 -1
- package/skills/x-twitter-scraper/references/types-user-activity.md +1 -1
- package/skills/x-twitter-scraper/references/types-webhooks.md +1 -1
- package/skills/x-twitter-scraper/references/types-x-accounts.md +3 -3
- package/skills/x-twitter-scraper/references/types-x-api.md +25 -31
- package/skills/x-twitter-scraper/references/types-x-articles.md +1 -1
- package/skills/x-twitter-scraper/references/types-x-write.md +3 -3
- package/skills/x-twitter-scraper/references/types.md +15 -15
- package/skills/x-twitter-scraper/references/usage.md +6 -6
- package/skills/x-twitter-scraper/references/webhooks.md +27 -37
- package/skills/x-twitter-scraper/references/workflows.md +54 -63
- package/skills/x-twitter-scraper/skill-card.md +35 -27
- package/skills/x-twitter-scraper/skillspector-report.md +2 -2
- package/skills/xquik-social-research/SKILL.md +19 -16
- package/skills.sh.json +8 -8
- package/stub-server.mjs +42 -42
- package/task-guides/check-mutuals.md +9 -9
- package/task-guides/clean-followers.md +15 -15
- package/task-guides/export-tweets-csv.md +12 -12
- package/task-guides/extract-followers.md +16 -16
- package/task-guides/find-bangers.md +14 -14
- package/task-guides/find-influencers.md +10 -10
- package/task-guides/find-viral-tweets.md +15 -15
- package/task-guides/follow-unfollow.md +16 -15
- package/task-guides/for-you-feed.md +10 -10
- package/task-guides/going-viral.md +19 -18
- package/task-guides/grow-followers.md +13 -13
- package/task-guides/monitor-accounts.md +16 -16
- package/task-guides/optimize-tweets.md +16 -15
- package/task-guides/post-tweets.md +19 -18
- package/task-guides/run-giveaway.md +15 -15
- package/task-guides/search-tweets.md +13 -13
- package/task-guides/send-dms.md +13 -13
- package/task-guides/top-replies.md +10 -10
- package/task-guides/track-competitors.md +16 -16
- package/task-guides/track-hashtags.md +10 -10
- package/task-guides/track-mentions.md +12 -12
- package/task-guides/trending-news.md +11 -11
- package/task-guides/tweet-analytics.md +16 -16
- package/task-guides/tweet-ideas.md +10 -10
- package/task-guides/tweet-replies.md +15 -15
- package/task-guides/tweet-style.md +10 -10
- package/task-guides/tweet-webhooks.md +12 -12
- package/task-guides/update-x-profile.md +15 -15
- package/task-guides/user-tweets.md +21 -21
- package/task-guides/who-liked.md +10 -10
- package/task-guides/who-quoted.md +10 -10
- package/task-guides/who-retweeted.md +10 -10
- package/task-guides/write-threads.md +13 -13
- package/task-guides/write-tweets.md +15 -15
- package/task-guides/x-articles.md +9 -9
- package/task-guides/x-bookmarks.md +10 -10
- package/task-guides/x-communities.md +10 -10
- package/task-guides/x-lists.md +8 -8
- package/task-guides/x-spaces.md +9 -9
- package/task-guides/x-trends.md +11 -11
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: compose
|
|
2
2
|
|
|
3
|
-
### Compose
|
|
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.
|
|
9
|
+
Compose, refine, and score tweets with Xquik style signals. Run each step separately.
|
|
10
10
|
|
|
11
|
-
|
|
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
|
|
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
|
|
19
|
-
| `tone` | string | No | Desired tone
|
|
20
|
-
| `additionalContext` | string | No | Extra context or URLs
|
|
21
|
-
| `callToAction` | string | No | Desired
|
|
22
|
-
| `mediaType` | string | No | `photo`, `video`, `none`
|
|
23
|
-
| `draft` | string | No | Tweet text to evaluate
|
|
24
|
-
| `hasLink` | boolean | No |
|
|
25
|
-
| `hasMedia` | boolean | No |
|
|
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
|
-
|
|
27
|
+
For `step=compose`, the API returns `contentRules`, `scorerWeights`, `followUpQuestions`, `algorithmInsights`, `engagementMultipliers`, and `topPenalties`.
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
For `step=refine`, the API returns `compositionGuidance` and `examplePatterns`.
|
|
30
30
|
|
|
31
|
-
|
|
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
|
|
1
|
+
# Xquik REST API endpoints: credits
|
|
2
2
|
|
|
3
|
-
### Get
|
|
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
|
|
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
|
|
1
|
+
# Xquik REST API endpoints: drafts
|
|
2
2
|
|
|
3
|
-
##
|
|
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
|
|
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
|
|
11
|
+
### Create draft
|
|
12
12
|
|
|
13
13
|
`POST /drafts`
|
|
14
14
|
|
|
15
15
|
Save a tweet draft for later.
|
|
16
16
|
|
|
17
|
-
|
|
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
|
-
|
|
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 |
|
|
26
|
+
| `goal` | string | No | `engagement`, `followers`, `authority`, or `conversation` |
|
|
27
27
|
|
|
28
|
-
|
|
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
|
|
43
|
+
### List drafts
|
|
44
44
|
|
|
45
45
|
`GET /drafts`
|
|
46
46
|
|
|
47
47
|
List saved tweet drafts with cursor pagination.
|
|
48
48
|
|
|
49
|
-
|
|
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
|
-
|
|
52
|
+
Use these query parameters:
|
|
53
53
|
|
|
54
54
|
| Parameter | Type | Required | Default | Description |
|
|
55
55
|
|-----------|------|----------|---------|-------------|
|
|
56
|
-
| `limit` | number | No | 50 | Results per page
|
|
56
|
+
| `limit` | number | No | 50 | Results per page; maximum 50 |
|
|
57
57
|
| `afterCursor` | string | No | - | Pagination cursor from previous response |
|
|
58
58
|
|
|
59
|
-
|
|
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
|
|
80
|
+
### Get draft
|
|
81
81
|
|
|
82
82
|
`GET /drafts/{id}`
|
|
83
83
|
|
|
84
84
|
Get a specific draft by ID.
|
|
85
85
|
|
|
86
|
-
|
|
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
|
-
|
|
89
|
+
For a 200 response, the API returns 1 draft object.
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
Possible errors include `400 invalid_id` and `404 draft_not_found`.
|
|
92
92
|
|
|
93
93
|
---
|
|
94
94
|
|
|
95
|
-
### Delete
|
|
95
|
+
### Delete draft
|
|
96
96
|
|
|
97
|
-
delete request to `/drafts/{id}
|
|
97
|
+
Send a delete request to `/drafts/{id}`.
|
|
98
98
|
|
|
99
|
-
|
|
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
|
-
|
|
103
|
+
Possible errors include `400 invalid_id` and `404 draft_not_found`.
|
|
104
104
|
|
|
105
105
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: draws
|
|
2
2
|
|
|
3
|
-
##
|
|
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
|
|
13
|
+
### Create draw
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
POST /draws
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Run a giveaway draw from a tweet.
|
|
19
|
+
Run a giveaway draw from a tweet. The draw selects random winners from replies.
|
|
20
20
|
|
|
21
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
88
|
+
### Export draw
|
|
89
89
|
|
|
90
90
|
```
|
|
91
91
|
GET /draws/{id}/export?format=csv&type=winners
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1
|
+
# Xquik REST API endpoints: events
|
|
2
2
|
|
|
3
|
-
### List
|
|
3
|
+
### List events
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
GET /events
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Use these query parameters:
|
|
10
10
|
|
|
11
|
-
|
|
|
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
|
|
16
|
+
| `limit` | number | Results per page from 1-100; defaults to 50 |
|
|
17
17
|
| `cursor` | string | Previous `nextCursor` |
|
|
18
18
|
|
|
19
|
-
|
|
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
|
|
42
|
+
### Get event
|
|
43
43
|
|
|
44
44
|
```
|
|
45
45
|
GET /events/{id}
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Returns
|
|
48
|
+
Returns 1 event.
|
|
49
49
|
|
|
50
50
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: extractions
|
|
2
2
|
|
|
3
|
-
##
|
|
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
|
|
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
|
|
19
|
+
Run a bulk data extraction job. See `references/extractions.md` for all 23 tools.
|
|
20
20
|
|
|
21
|
-
|
|
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
|
-
|
|
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
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
79
|
-
scope. Also show
|
|
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
|
|
83
|
+
### Get extraction
|
|
83
84
|
|
|
84
85
|
```
|
|
85
86
|
GET /extractions/{id}
|
|
86
87
|
```
|
|
87
88
|
|
|
88
|
-
Returns job details with
|
|
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
|
-
|
|
93
|
-
show
|
|
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
|
|
97
|
+
### Export extraction
|
|
97
98
|
|
|
98
99
|
```
|
|
99
100
|
GET /extractions/{id}/export?format=csv
|
|
100
101
|
```
|
|
101
102
|
|
|
102
|
-
|
|
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
|
-
|
|
109
|
-
recipients, storage, and retention.
|
|
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
|
|
1
|
+
# Xquik REST API endpoints: monitors
|
|
2
2
|
|
|
3
|
-
##
|
|
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
|
|
13
|
+
### Create monitor
|
|
14
14
|
|
|
15
15
|
```http
|
|
16
16
|
POST /monitors
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
49
|
+
### List monitors
|
|
50
50
|
|
|
51
51
|
```
|
|
52
52
|
GET /monitors
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Returns
|
|
55
|
+
Returns up to 200 monitors without pagination. The response includes `monitors` and `total`.
|
|
56
56
|
|
|
57
|
-
|
|
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
|
|
60
|
+
### Get monitor
|
|
61
61
|
|
|
62
62
|
```http
|
|
63
63
|
GET /monitors/{id}
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
|
|
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
|
|
69
|
+
### Update monitor
|
|
70
70
|
|
|
71
71
|
```http
|
|
72
72
|
PATCH /monitors/{id}
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
|
|
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
|
-
|
|
78
|
+
Send `{ "eventTypes": [...], "isActive": true|false }`. Both fields are optional.
|
|
79
79
|
|
|
80
|
-
### Delete
|
|
80
|
+
### Delete monitor
|
|
81
81
|
|
|
82
82
|
```
|
|
83
|
-
|
|
83
|
+
DELETE /monitors/{id}
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
|
|
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
|
|
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
|
-
|
|
97
|
+
DELETE /monitors/keywords/{id}
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
Create and manage ongoing keyword monitors.
|
|
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
|
|
1
|
+
# Xquik REST API endpoints: radar
|
|
2
2
|
|
|
3
|
-
### List
|
|
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
|
-
|
|
11
|
+
Use these query parameters:
|
|
12
12
|
|
|
13
|
-
|
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
14
|
|-------|------|-------------|
|
|
15
15
|
| `after` | string | Previous `nextCursor` |
|
|
16
|
-
| `source` | string |
|
|
17
|
-
| `category` | string |
|
|
18
|
-
| `limit` | number | Items per page
|
|
19
|
-
| `hours` | number | Look-back window
|
|
20
|
-
| `region` | string |
|
|
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
|
-
|
|
22
|
+
The API returns:
|
|
23
23
|
```json
|
|
24
24
|
{
|
|
25
25
|
"items": [
|
|
26
26
|
{
|
|
27
27
|
"id": "12345",
|
|
28
|
-
"title": "Claude 4.6
|
|
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
|
-
|
|
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
|
---
|