x-developer 2.4.13 → 2.5.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/.claude-plugin/marketplace.json +60 -0
- package/.claude-plugin/plugin.json +45 -0
- package/.codex-plugin/plugin.json +61 -0
- package/.mcp.json +11 -0
- package/README.md +148 -100
- package/assets/icon.svg +1 -0
- package/commands/post.md +15 -0
- package/commands/search.md +16 -0
- package/commands/trending.md +17 -0
- package/commands/user.md +19 -0
- package/context7.json +33 -0
- package/logo.png +0 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +31 -8
- package/scripts/check-versions.mjs +381 -0
- package/scripts/release-guard/content-policy.mjs +337 -0
- package/scripts/release-guard/frontmatter.mjs +148 -0
- package/scripts/release-guard/policy.mjs +227 -0
- package/server.json +33 -0
- package/skills/x-twitter-scraper/SKILL.md +214 -44
- package/skills/x-twitter-scraper/metadata.json +30 -6
- package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +31 -0
- package/skills/x-twitter-scraper/references/api-endpoints-compose.md +33 -0
- package/skills/x-twitter-scraper/references/api-endpoints-credits.md +11 -0
- package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +86 -0
- package/skills/x-twitter-scraper/references/api-endpoints-draws.md +75 -0
- package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +37 -0
- package/skills/x-twitter-scraper/references/api-endpoints-events.md +48 -0
- package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +97 -0
- package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +74 -0
- package/skills/x-twitter-scraper/references/api-endpoints-radar.md +49 -0
- package/skills/x-twitter-scraper/references/api-endpoints-support.md +47 -0
- package/skills/x-twitter-scraper/references/api-endpoints-trends.md +25 -0
- package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +155 -0
- package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +74 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +42 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +206 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +40 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +204 -0
- package/skills/x-twitter-scraper/references/api-endpoints.md +26 -1421
- package/skills/x-twitter-scraper/references/draws.md +2 -2
- package/skills/x-twitter-scraper/references/extractions.md +9 -1
- package/skills/x-twitter-scraper/references/mcp-setup.md +41 -24
- package/skills/x-twitter-scraper/references/mcp-tools.md +36 -27
- package/skills/x-twitter-scraper/references/python-examples.md +70 -38
- package/skills/x-twitter-scraper/references/security.md +47 -14
- package/skills/x-twitter-scraper/references/types-account-identity.md +9 -0
- package/skills/x-twitter-scraper/references/types-account.md +26 -0
- package/skills/x-twitter-scraper/references/types-api-keys.md +22 -0
- package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +46 -0
- package/skills/x-twitter-scraper/references/types-credits.md +11 -0
- package/skills/x-twitter-scraper/references/types-download-media.md +22 -0
- package/skills/x-twitter-scraper/references/types-draws.md +60 -0
- package/skills/x-twitter-scraper/references/types-error.md +10 -0
- package/skills/x-twitter-scraper/references/types-events.md +43 -0
- package/skills/x-twitter-scraper/references/types-extractions.md +106 -0
- package/skills/x-twitter-scraper/references/types-mcp-add-webhook.md +14 -0
- package/skills/x-twitter-scraper/references/types-mcp-check-follow.md +10 -0
- package/skills/x-twitter-scraper/references/types-mcp-compose-tweet.md +31 -0
- package/skills/x-twitter-scraper/references/types-mcp-estimate-extraction.md +15 -0
- package/skills/x-twitter-scraper/references/types-mcp-get-account.md +26 -0
- package/skills/x-twitter-scraper/references/types-mcp-get-draw.md +30 -0
- package/skills/x-twitter-scraper/references/types-mcp-get-events.md +19 -0
- package/skills/x-twitter-scraper/references/types-mcp-get-trends.md +16 -0
- package/skills/x-twitter-scraper/references/types-mcp-get-user-info.md +16 -0
- package/skills/x-twitter-scraper/references/types-mcp-list-monitors.md +15 -0
- package/skills/x-twitter-scraper/references/types-mcp-lookup-tweet.md +25 -0
- package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +22 -0
- package/skills/x-twitter-scraper/references/types-mcp-refine-tweet.md +13 -0
- package/skills/x-twitter-scraper/references/types-mcp-run-draw.md +18 -0
- package/skills/x-twitter-scraper/references/types-mcp-run-extraction.md +12 -0
- package/skills/x-twitter-scraper/references/types-mcp-score-tweet.md +16 -0
- package/skills/x-twitter-scraper/references/types-mcp-search-tweets.md +17 -0
- package/skills/x-twitter-scraper/references/types-mcp-test-webhook.md +11 -0
- package/skills/x-twitter-scraper/references/types-monitors.md +20 -0
- package/skills/x-twitter-scraper/references/types-radar.md +40 -0
- package/skills/x-twitter-scraper/references/types-request-bodies.md +30 -0
- package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +15 -0
- package/skills/x-twitter-scraper/references/types-support.md +25 -0
- package/skills/x-twitter-scraper/references/types-trends.md +18 -0
- package/skills/x-twitter-scraper/references/types-tweet-drafts.md +20 -0
- package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +50 -0
- package/skills/x-twitter-scraper/references/types-user-activity.md +35 -0
- package/skills/x-twitter-scraper/references/types-webhooks.md +38 -0
- package/skills/x-twitter-scraper/references/types-x-accounts.md +16 -0
- package/skills/x-twitter-scraper/references/types-x-api.md +69 -0
- package/skills/x-twitter-scraper/references/types-x-articles.md +21 -0
- package/skills/x-twitter-scraper/references/types-x-write.md +39 -0
- package/skills/x-twitter-scraper/references/types.md +46 -1038
- package/skills/x-twitter-scraper/references/usage.md +50 -0
- package/skills/x-twitter-scraper/references/webhooks.md +78 -48
- package/skills/x-twitter-scraper/references/workflows.md +50 -40
- package/skills/x-twitter-scraper/skill-card.md +76 -0
- package/skills/x-twitter-scraper/skillspector-report.md +17 -0
- package/skills/xquik-social-research/LICENSE +21 -0
- package/skills/xquik-social-research/SKILL.md +77 -0
- package/skills.sh.json +77 -0
- package/start.sh +2 -0
- package/stub-server.mjs +209 -0
- package/task-guides/check-mutuals.md +55 -0
- package/task-guides/clean-followers.md +71 -0
- package/task-guides/export-tweets-csv.md +70 -0
- package/task-guides/extract-followers.md +83 -0
- package/task-guides/find-bangers.md +61 -0
- package/task-guides/find-influencers.md +72 -0
- package/task-guides/find-viral-tweets.md +80 -0
- package/task-guides/follow-unfollow.md +83 -0
- package/task-guides/for-you-feed.md +63 -0
- package/task-guides/going-viral.md +68 -0
- package/task-guides/grow-followers.md +66 -0
- package/task-guides/monitor-accounts.md +81 -0
- package/task-guides/optimize-tweets.md +80 -0
- package/task-guides/post-tweets.md +108 -0
- package/task-guides/run-giveaway.md +90 -0
- package/task-guides/search-tweets.md +122 -0
- package/task-guides/send-dms.md +92 -0
- package/task-guides/top-replies.md +71 -0
- package/task-guides/track-competitors.md +73 -0
- package/task-guides/track-hashtags.md +86 -0
- package/task-guides/track-mentions.md +88 -0
- package/task-guides/trending-news.md +68 -0
- package/task-guides/tweet-analytics.md +129 -0
- package/task-guides/tweet-ideas.md +65 -0
- package/task-guides/tweet-replies.md +82 -0
- package/task-guides/tweet-style.md +72 -0
- package/task-guides/tweet-webhooks.md +84 -0
- package/task-guides/update-x-profile.md +75 -0
- package/task-guides/user-tweets.md +148 -0
- package/task-guides/who-liked.md +68 -0
- package/task-guides/who-quoted.md +68 -0
- package/task-guides/who-retweeted.md +67 -0
- package/task-guides/write-threads.md +72 -0
- package/task-guides/write-tweets.md +84 -0
- package/task-guides/x-articles.md +84 -0
- package/task-guides/x-bookmarks.md +63 -0
- package/task-guides/x-communities.md +71 -0
- package/task-guides/x-lists.md +70 -0
- package/task-guides/x-spaces.md +67 -0
- package/task-guides/x-trends.md +74 -0
- package/skills/x-twitter-scraper/references/pricing.md +0 -145
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Xquik REST API Endpoints: X Write
|
|
2
|
+
|
|
3
|
+
Write actions performed through connected X accounts. All endpoints are metered. Every request requires an `account` field (username or account ID) identifying which connected account to use.
|
|
4
|
+
|
|
5
|
+
### Create Tweet
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
POST /x/tweets
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Body:**
|
|
12
|
+
|
|
13
|
+
| Field | Type | Required | Description |
|
|
14
|
+
|-------|------|----------|-------------|
|
|
15
|
+
| `account` | string | Yes | Connected X username or account ID |
|
|
16
|
+
| `text` | string | No | Tweet text (280 chars, or 25,000 if `is_note_tweet` is true). Required unless `media` is provided |
|
|
17
|
+
| `reply_to_tweet_id` | string | No | Tweet ID to reply to |
|
|
18
|
+
| `attachment_url` | string | No | URL to attach as a card |
|
|
19
|
+
| `community_id` | string | No | Community ID to post into |
|
|
20
|
+
| `is_note_tweet` | boolean | No | Long-form note tweet (up to 25,000 chars) |
|
|
21
|
+
| `media` | string[] | No | Public image URLs to attach (max 4). `POST /x/media` returns `mediaUrl` values for this field |
|
|
22
|
+
|
|
23
|
+
**Response:** `{ tweetId, success: true }`
|
|
24
|
+
|
|
25
|
+
**Errors:** `502 x_write_failed`
|
|
26
|
+
|
|
27
|
+
### Delete Tweet
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
delete request to `/x/tweets/{id}`
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Body:** `{ "account": "username" }`
|
|
34
|
+
|
|
35
|
+
**Response:** `{ success: true }`
|
|
36
|
+
|
|
37
|
+
### Like Tweet
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
POST /x/tweets/{id}/like
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Body:** `{ "account": "username" }`
|
|
44
|
+
|
|
45
|
+
### Unlike Tweet
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
delete request to `/x/tweets/{id}/like`
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Body:** `{ "account": "username" }`
|
|
52
|
+
|
|
53
|
+
### Retweet
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
POST /x/tweets/{id}/retweet
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Body:** `{ "account": "username" }`
|
|
60
|
+
|
|
61
|
+
### Unretweet
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
delete request to `/x/tweets/{id}/retweet`
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Body:** `{ "account": "username" }`
|
|
68
|
+
|
|
69
|
+
### Follow User
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
POST /x/users/{id}/follow
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Body:** `{ "account": "username" }`
|
|
76
|
+
|
|
77
|
+
**Errors:** `502 x_write_failed`
|
|
78
|
+
|
|
79
|
+
### Unfollow User
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
delete request to `/x/users/{id}/follow`
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Body:** `{ "account": "username" }`
|
|
86
|
+
|
|
87
|
+
### Remove Follower
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
POST /x/users/{id}/remove-follower
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Remove a user from your followers without blocking them.
|
|
94
|
+
|
|
95
|
+
**Body:** `{ "account": "username" }`
|
|
96
|
+
|
|
97
|
+
**Usage:** Metered per call.
|
|
98
|
+
|
|
99
|
+
### Send DM
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
POST /x/dm/{userId}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Body:**
|
|
106
|
+
|
|
107
|
+
| Field | Type | Required | Description |
|
|
108
|
+
|-------|------|----------|-------------|
|
|
109
|
+
| `account` | string | Yes | Connected X username or account ID |
|
|
110
|
+
| `text` | string | Yes | Message text |
|
|
111
|
+
| `media_ids` | string[] | No | Media IDs to attach |
|
|
112
|
+
| `reply_to_message_id` | string | No | Message ID to reply to |
|
|
113
|
+
|
|
114
|
+
### Get DM History
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
GET /x/dm/{userId}/history
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Get DM conversation history with a user. Requires a connected X account. Metered per returned result.
|
|
121
|
+
|
|
122
|
+
**Sensitive:** Returns private DM conversations. Confirm with user before calling. Forward to other tools only after explicit approval.
|
|
123
|
+
|
|
124
|
+
### Update Profile
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
PATCH /x/profile
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Body:** `{ "account": "username", "name": "...", "description": "...", "location": "...", "url": "..." }` (account required, others optional)
|
|
131
|
+
|
|
132
|
+
### Update Avatar
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
PATCH /x/profile/avatar
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Update profile avatar. Max 700 KB, GIF/JPEG/PNG. Metered.
|
|
139
|
+
|
|
140
|
+
**Body:** FormData with `account` (required) and `file` (required, max 700 KB).
|
|
141
|
+
|
|
142
|
+
### Update Banner
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
PATCH /x/profile/banner
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Update profile banner. Max 2 MB, GIF/JPEG/PNG. Metered.
|
|
149
|
+
|
|
150
|
+
**Body:** FormData with `account` (required) and `file` (required, max 2 MB).
|
|
151
|
+
|
|
152
|
+
### Upload Media
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
POST /x/media
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Body:** FormData with `account` (required), `file` (required), and `is_long_video` (optional boolean). Alternatively, JSON body with `account` (required) and `url` (required, direct media URL) for URL-based upload.
|
|
159
|
+
|
|
160
|
+
**Response:** Returns `mediaId`, `mediaUrl`, and `success`. Pass `mediaUrl` in the `media` array when creating a tweet.
|
|
161
|
+
|
|
162
|
+
### Create Community
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
POST /x/communities
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Body:** `{ "account": "username", "name": "...", "description": "..." }` (all required)
|
|
169
|
+
|
|
170
|
+
### Delete Community
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
delete request to `/x/communities/{id}`
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Body:** `{ "account": "username", "community_name": "..." }` (name required for confirmation)
|
|
177
|
+
|
|
178
|
+
### Join Community
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
POST /x/communities/{id}/join
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Body:** `{ "account": "username" }`
|
|
185
|
+
|
|
186
|
+
**Errors:** `409 already_member`
|
|
187
|
+
|
|
188
|
+
### Leave Community
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
delete request to `/x/communities/{id}/join`
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Body:** `{ "account": "username" }`
|
|
195
|
+
|
|
196
|
+
### Get Write Action Status
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
GET /x/write-actions/{id}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Check a pending write action by the ID returned from an earlier write response.
|
|
203
|
+
|
|
204
|
+
---
|