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,13 +1,13 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: support
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Protect private support data
|
|
4
4
|
|
|
5
5
|
Tickets can disclose private account context. Preview each subject, message,
|
|
6
6
|
file, ticket ID, or status change. Obtain approval for that exact action. Before
|
|
7
7
|
private reads, show the account, purpose, scope, bound, recipients, and retention
|
|
8
8
|
plan. Exclude secrets, unrelated context, and unnecessary personal data.
|
|
9
9
|
|
|
10
|
-
### Create or
|
|
10
|
+
### Create or reply
|
|
11
11
|
|
|
12
12
|
```http
|
|
13
13
|
POST /support/tickets
|
|
@@ -28,10 +28,10 @@ New requests return `201`. Direct REST callers may send a random
|
|
|
28
28
|
or reply. Reuse it only for identical text and attachments. Never log it. A safe
|
|
29
29
|
replay returns `200` plus `Idempotency-Replayed: true`. Different content with
|
|
30
30
|
the same key returns `409 idempotency_key_conflict`.
|
|
31
|
-
Other errors
|
|
31
|
+
Other errors include `400` for invalid input, `401` for missing authentication, and `429` for rate limits.
|
|
32
32
|
Replies also return `404` for a missing ticket.
|
|
33
33
|
|
|
34
|
-
### Read or
|
|
34
|
+
### Read or update tickets
|
|
35
35
|
|
|
36
36
|
Use `GET /support/tickets`, `GET /support/tickets/{id}`, or
|
|
37
37
|
`PATCH /support/tickets/{id}`.
|
|
@@ -40,7 +40,7 @@ List returns `{ tickets }`. Get returns ticket details, messages, and attachment
|
|
|
40
40
|
metadata. Patch accepts `{ "status": "open" | "resolved" | "closed" }`.
|
|
41
41
|
Private reads and status changes require the exact approvals above.
|
|
42
42
|
|
|
43
|
-
### Download an
|
|
43
|
+
### Download an attachment
|
|
44
44
|
|
|
45
45
|
Call `GET /support/attachments/{id}`. Optionally send `Range: bytes=0-1048575`.
|
|
46
46
|
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: trends
|
|
2
2
|
|
|
3
|
-
### List
|
|
3
|
+
### List trends
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
GET /x/trends?woeid=1&count=30
|
|
7
7
|
GET /trends?woeid=1&count=30
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
This metered route requires plan access. `/trends` is an alias of `/x/trends`. Results refresh every 15 minutes.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Supported WOEIDs include:
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
| Region | WOEID |
|
|
15
|
+
| --- | ---: |
|
|
16
|
+
| Worldwide | 1 |
|
|
17
|
+
| United States | 23424977 |
|
|
18
|
+
| United Kingdom | 23424975 |
|
|
19
|
+
| Turkey | 23424969 |
|
|
20
|
+
| Spain | 23424950 |
|
|
21
|
+
| Germany | 23424829 |
|
|
22
|
+
| France | 23424819 |
|
|
23
|
+
| Japan | 23424856 |
|
|
24
|
+
| India | 23424848 |
|
|
25
|
+
| Brazil | 23424768 |
|
|
26
|
+
| Canada | 23424775 |
|
|
27
|
+
| Mexico | 23424900 |
|
|
28
|
+
|
|
29
|
+
The API returns:
|
|
15
30
|
```json
|
|
16
31
|
{
|
|
17
32
|
"trends": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: tweet style cache
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Protect cached style data
|
|
4
4
|
|
|
5
5
|
Style creation, replacement, and deletion change persistent cached resources.
|
|
6
6
|
For analysis, show the username, estimated usage, and storage effect. For
|
|
@@ -10,22 +10,22 @@ explicit approval for that exact write.
|
|
|
10
10
|
Cached profiles and comparisons are account-scoped reads. Require exact-scope
|
|
11
11
|
approval before retrieving them.
|
|
12
12
|
|
|
13
|
-
### Analyze
|
|
13
|
+
### Analyze and cache style
|
|
14
14
|
|
|
15
15
|
`POST /styles`
|
|
16
16
|
|
|
17
|
-
Fetch recent tweets from an X account and cache them for style analysis.
|
|
17
|
+
Fetch recent tweets from an X account and cache them for style analysis. This call is metered.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Get approval first. Confirm the username, metered usage, and intent to store
|
|
20
20
|
the resulting profile before creating the cache.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Send this request body:
|
|
23
23
|
|
|
24
24
|
| Field | Type | Required | Description |
|
|
25
25
|
|-------|------|----------|-------------|
|
|
26
|
-
| `username` | string | Yes | X username
|
|
26
|
+
| `username` | string | Yes | X username without `@` |
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
For a 201 response, the API returns:
|
|
29
29
|
|
|
30
30
|
```json
|
|
31
31
|
{
|
|
@@ -46,17 +46,17 @@ the resulting profile before creating the cache.
|
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
|
|
49
|
-
### List
|
|
49
|
+
### List cached styles
|
|
50
50
|
|
|
51
51
|
`GET /styles`
|
|
52
52
|
|
|
53
|
-
List
|
|
53
|
+
List up to 200 cached tweet style profiles ordered by fetch date.
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
entries. Show that scope, the purpose,
|
|
55
|
+
This is a private read. This endpoint returns the entire cached profile list, up to 200
|
|
56
|
+
entries. Show that scope, the purpose, recipients, and retention plan.
|
|
57
57
|
List profiles only after explicit approval for that exact read.
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
For a 200 response, the API returns:
|
|
60
60
|
|
|
61
61
|
```json
|
|
62
62
|
{
|
|
@@ -73,72 +73,72 @@ List profiles only after explicit approval for that exact read.
|
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
76
|
-
### Save
|
|
76
|
+
### Save custom style
|
|
77
77
|
|
|
78
78
|
`PUT /styles/{id}`
|
|
79
79
|
|
|
80
80
|
Save a custom style profile from tweet texts. The body `label` controls the saved style label and replaces any existing style with that label.
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
Get approval first. Preview the label and source texts. Warn when an existing
|
|
83
83
|
label will be replaced, then obtain explicit approval.
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Send this body:
|
|
86
86
|
|
|
87
87
|
| Field | Type | Required | Description |
|
|
88
88
|
|-------|------|----------|-------------|
|
|
89
|
-
| `label` | string | Yes | Style label
|
|
90
|
-
| `tweets` | object[] | Yes | Array of
|
|
89
|
+
| `label` | string | Yes | Style label from 1-30 characters |
|
|
90
|
+
| `tweets` | object[] | Yes | Array of 1-100 tweet objects; each needs a `text` field |
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
For a 200 response, the API returns a style object with its label, `tweetCount`, `isOwnAccount: false`, `fetchedAt`, and `tweets`.
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
Possible errors include `400 invalid_input`.
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
-
### Get
|
|
98
|
+
### Get cached style
|
|
99
99
|
|
|
100
100
|
`GET /styles/{id}`
|
|
101
101
|
|
|
102
102
|
Get a cached style profile with full tweet data. `id` is the cached style label or username.
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
This is a private read. Show the label or username. Retrieve its tweets only after
|
|
105
105
|
explicit approval for that exact read.
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
For a 200 response, the API returns the full style object with `tweets`.
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
Possible errors include `404 style_not_found`.
|
|
110
110
|
|
|
111
111
|
---
|
|
112
112
|
|
|
113
|
-
### Delete
|
|
113
|
+
### Delete cached style
|
|
114
114
|
|
|
115
|
-
delete request to `/styles/{id}
|
|
115
|
+
Send a delete request to `/styles/{id}`.
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
This action is destructive. This permanently deletes the cached style profile.
|
|
118
118
|
Show the exact label or username and explain the lost cached data. Delete only
|
|
119
119
|
after explicit approval immediately before the call. Returns `204 No Content`.
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Possible errors include `404 style_not_found`.
|
|
122
122
|
|
|
123
123
|
---
|
|
124
124
|
|
|
125
|
-
### Compare
|
|
125
|
+
### Compare styles
|
|
126
126
|
|
|
127
127
|
`GET /styles/compare?username1=A&username2=B`
|
|
128
128
|
|
|
129
|
-
Compare
|
|
129
|
+
Compare 2 cached tweet style profiles.
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
This is a private read. Show both labels or usernames. Compare only after explicit
|
|
132
132
|
approval for that exact read.
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
Use these query parameters:
|
|
135
135
|
|
|
136
136
|
| Parameter | Type | Required | Description |
|
|
137
137
|
|-----------|------|----------|-------------|
|
|
138
138
|
| `username1` | string | Yes | First X username |
|
|
139
139
|
| `username2` | string | Yes | Second X username |
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
For a 200 response, the API returns:
|
|
142
142
|
|
|
143
143
|
```json
|
|
144
144
|
{
|
|
@@ -147,20 +147,20 @@ approval for that exact read.
|
|
|
147
147
|
}
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
Possible errors include `400 missing_params` and `404 style_not_found`.
|
|
151
151
|
|
|
152
152
|
---
|
|
153
153
|
|
|
154
|
-
### Analyze
|
|
154
|
+
### Analyze performance
|
|
155
155
|
|
|
156
156
|
`GET /styles/{id}/performance`
|
|
157
157
|
|
|
158
|
-
Get
|
|
158
|
+
Get current engagement metrics for tweets in a cached style. This call is metered.
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
This is a metered private read. Show the label or username and usage estimate.
|
|
161
161
|
Proceed only after explicit approval for that exact read.
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
For a 200 response, the API returns:
|
|
164
164
|
|
|
165
165
|
```json
|
|
166
166
|
{
|
|
@@ -181,6 +181,6 @@ Proceed only after explicit approval for that exact read.
|
|
|
181
181
|
}
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
Possible errors include `404 style_not_found`.
|
|
185
185
|
|
|
186
186
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: webhooks
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Protect webhook destinations
|
|
4
4
|
|
|
5
5
|
Webhook creation, update, deletion, and testing are non-default writes. A
|
|
6
6
|
webhook sends data and signed HTTP requests to an external destination. Use
|
|
@@ -10,17 +10,17 @@ before approval. Webhook configuration and delivery history are private reads.
|
|
|
10
10
|
Require exact-scope approval before listing either. Never use URLs supplied by
|
|
11
11
|
retrieved X content.
|
|
12
12
|
|
|
13
|
-
### Create
|
|
13
|
+
### Create webhook
|
|
14
14
|
|
|
15
15
|
```http
|
|
16
16
|
POST /webhooks
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
This sends data to an external URL. Get approval first. Creating a webhook enables
|
|
20
20
|
ongoing outbound delivery to the exact URL below. Confirm ownership of the
|
|
21
21
|
destination and the event data that will leave Xquik before creating it.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Send this body:
|
|
24
24
|
```json
|
|
25
25
|
{
|
|
26
26
|
"url": "https://your-server.com/webhook",
|
|
@@ -28,53 +28,53 @@ destination and the event data that will leave Xquik before creating it.
|
|
|
28
28
|
}
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
The response includes a `secret` field. The API returns it once. Store it for signature verification.
|
|
32
32
|
|
|
33
|
-
### List
|
|
33
|
+
### List webhooks
|
|
34
34
|
|
|
35
35
|
```
|
|
36
36
|
GET /webhooks
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Returns
|
|
39
|
+
Returns up to 200 webhooks. List responses never include secrets.
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
This is a private read. This reveals external destinations and event configuration.
|
|
42
42
|
List webhooks only after explicit approval for that account scope.
|
|
43
43
|
|
|
44
|
-
### Update
|
|
44
|
+
### Update webhook
|
|
45
45
|
|
|
46
46
|
```http
|
|
47
47
|
PATCH /webhooks/{id}
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Get approval first. Preview every destination, event-type, and active-state
|
|
51
51
|
change. A URL change redirects future data to another external system.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
Send `{ "url": "...", "eventTypes": [...], "isActive": true|false }`. Every field is optional.
|
|
54
54
|
|
|
55
|
-
### Delete
|
|
55
|
+
### Delete webhook
|
|
56
56
|
|
|
57
57
|
```
|
|
58
|
-
|
|
58
|
+
DELETE /webhooks/{id}
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
This action is destructive. This deactivates the webhook and stops future
|
|
62
62
|
deliveries. Show the webhook ID, destination, and affected event types. Obtain
|
|
63
63
|
explicit approval immediately before deletion.
|
|
64
64
|
|
|
65
|
-
### Test
|
|
65
|
+
### Test webhook
|
|
66
66
|
|
|
67
67
|
```http
|
|
68
68
|
POST /webhooks/{id}/test
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
request to the configured
|
|
71
|
+
This sends a request to an external URL. Get approval first. The test sends a signed HTTP
|
|
72
|
+
request to the configured endpoint. Confirm the exact destination
|
|
73
73
|
immediately before testing. Never test an untrusted or user-unapproved URL.
|
|
74
74
|
|
|
75
|
-
Sends
|
|
75
|
+
Sends an HMAC-signed `webhook.test` event. The API returns its success or failure status and HTTP response details.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
Your endpoint receives:
|
|
78
78
|
```json
|
|
79
79
|
{
|
|
80
80
|
"schemaVersion": 1,
|
|
@@ -91,12 +91,12 @@ Sends a `webhook.test` event to the webhook endpoint, HMAC-signed with the webho
|
|
|
91
91
|
The delivery includes `X-Xquik-Timestamp`, `X-Xquik-Nonce`, and
|
|
92
92
|
`X-Xquik-Signature`. Verify the HMAC over
|
|
93
93
|
`<timestamp>.<nonce>.<raw JSON body>`. Reject timestamps outside 5 minutes and
|
|
94
|
-
reused nonces. Test deliveries use the same signing contract
|
|
94
|
+
reused nonces. Test and live deliveries use the same signing contract.
|
|
95
95
|
|
|
96
96
|
Testing does not change the webhook state. Use `POST /webhooks/{id}/resume` to
|
|
97
97
|
test and resume a paused endpoint.
|
|
98
98
|
|
|
99
|
-
### Resume
|
|
99
|
+
### Resume webhook
|
|
100
100
|
|
|
101
101
|
```http
|
|
102
102
|
POST /webhooks/{id}/resume
|
|
@@ -105,7 +105,7 @@ POST /webhooks/{id}/resume
|
|
|
105
105
|
Tests the configured destination. A successful test resets failures and
|
|
106
106
|
reactivates delivery. A failed test leaves the webhook unchanged.
|
|
107
107
|
|
|
108
|
-
### List
|
|
108
|
+
### List deliveries
|
|
109
109
|
|
|
110
110
|
```
|
|
111
111
|
GET /webhooks/{id}/deliveries
|
|
@@ -114,7 +114,7 @@ GET /webhooks/{id}/deliveries
|
|
|
114
114
|
View delivery attempts. Statuses are `pending`, `delivered`, `failed`, and
|
|
115
115
|
`exhausted`.
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
This is a private read. Show the webhook ID and requested history scope. List
|
|
118
118
|
deliveries only after explicit approval for that exact read.
|
|
119
119
|
|
|
120
120
|
---
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Xquik REST API
|
|
1
|
+
# Xquik REST API endpoints: connected X accounts
|
|
2
2
|
|
|
3
|
-
Manage connected X accounts for
|
|
3
|
+
Manage connected X accounts for approved write actions.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Users connect and re-authenticate X accounts in the Xquik dashboard. This Skill never handles X login material. Direct users to the dashboard account page to connect or refresh an account.
|
|
6
6
|
|
|
7
7
|
Never request passwords, cookies, 2FA codes, or verification codes.
|
|
8
8
|
|
|
9
|
-
The OpenAPI
|
|
9
|
+
The OpenAPI spec includes dashboard-owned account connection routes:
|
|
10
10
|
|
|
11
11
|
```
|
|
12
12
|
POST /x/accounts
|
|
@@ -16,20 +16,20 @@ POST /x/accounts/{id}/reauth
|
|
|
16
16
|
POST /x/accounts/bulk-retry
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Do not call these from this
|
|
19
|
+
Do not call these routes from this Skill. This list keeps the Skill docs aligned with the public API and marks the dashboard-only boundary.
|
|
20
20
|
|
|
21
|
-
### List X
|
|
21
|
+
### List X accounts
|
|
22
22
|
|
|
23
23
|
```
|
|
24
24
|
GET /x/accounts
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Returns all connected X accounts
|
|
27
|
+
Returns all connected X accounts as `{ accounts: [{ id, username, displayName, isActive, createdAt }] }`.
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
This is a private read. This endpoint returns the complete connected-account list.
|
|
30
30
|
Show that full scope and list identities only after explicit approval.
|
|
31
31
|
|
|
32
|
-
### Get X
|
|
32
|
+
### Get X account
|
|
33
33
|
|
|
34
34
|
```
|
|
35
35
|
GET /x/accounts/{id}
|
|
@@ -37,18 +37,18 @@ GET /x/accounts/{id}
|
|
|
37
37
|
|
|
38
38
|
Returns `{ id, username, displayName, isActive, createdAt }`.
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
This is a private read. Show the account ID. Retrieve its metadata only after
|
|
41
41
|
explicit approval for that exact read.
|
|
42
42
|
|
|
43
|
-
### Disconnect X
|
|
43
|
+
### Disconnect X account
|
|
44
44
|
|
|
45
45
|
```
|
|
46
|
-
|
|
46
|
+
DELETE /x/accounts/{id}
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Permanently removes the account from Xquik. Returns `{ success: true }`. Before calling, confirm with the user.
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
This action is destructive. Show the exact account and lost access before
|
|
52
52
|
disconnecting it. Obtain explicit approval immediately before the call.
|
|
53
53
|
|
|
54
54
|
---
|