x-twitter-scraper 0.12.3 → 0.13.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/CHANGELOG.md +73 -2
- package/README.md +66 -51
- package/client.d.mts +18 -15
- package/client.d.mts.map +1 -1
- package/client.d.ts +18 -15
- package/client.d.ts.map +1 -1
- package/client.js +3 -3
- package/client.js.map +1 -1
- package/client.mjs +4 -4
- package/client.mjs.map +1 -1
- package/core/streaming.d.mts +33 -0
- package/core/streaming.d.mts.map +1 -0
- package/core/streaming.d.ts +33 -0
- package/core/streaming.d.ts.map +1 -0
- package/core/streaming.js +270 -0
- package/core/streaming.js.map +1 -0
- package/core/streaming.mjs +265 -0
- package/core/streaming.mjs.map +1 -0
- package/internal/decoders/line.d.mts +17 -0
- package/internal/decoders/line.d.mts.map +1 -0
- package/internal/decoders/line.d.ts +17 -0
- package/internal/decoders/line.d.ts.map +1 -0
- package/internal/decoders/line.js +116 -0
- package/internal/decoders/line.js.map +1 -0
- package/internal/decoders/line.mjs +111 -0
- package/internal/decoders/line.mjs.map +1 -0
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +7 -0
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +7 -0
- package/internal/parse.mjs.map +1 -1
- package/internal/tslib.js +18 -18
- package/package.json +23 -5
- package/resources/account.d.mts +35 -12
- package/resources/account.d.mts.map +1 -1
- package/resources/account.d.ts +35 -12
- package/resources/account.d.ts.map +1 -1
- package/resources/account.js +4 -3
- package/resources/account.js.map +1 -1
- package/resources/account.mjs +4 -3
- package/resources/account.mjs.map +1 -1
- package/resources/compose.d.mts +77 -21
- package/resources/compose.d.mts.map +1 -1
- package/resources/compose.d.ts +77 -21
- package/resources/compose.d.ts.map +1 -1
- package/resources/compose.js +3 -4
- package/resources/compose.js.map +1 -1
- package/resources/compose.mjs +3 -4
- package/resources/compose.mjs.map +1 -1
- package/resources/credits.d.mts +18 -10
- package/resources/credits.d.mts.map +1 -1
- package/resources/credits.d.ts +18 -10
- package/resources/credits.d.ts.map +1 -1
- package/resources/credits.js +5 -4
- package/resources/credits.js.map +1 -1
- package/resources/credits.mjs +5 -4
- package/resources/credits.mjs.map +1 -1
- package/resources/drafts.d.mts +13 -17
- package/resources/drafts.d.mts.map +1 -1
- package/resources/drafts.d.ts +13 -17
- package/resources/drafts.d.ts.map +1 -1
- package/resources/drafts.js +4 -4
- package/resources/drafts.mjs +4 -4
- package/resources/draws.d.mts +84 -28
- package/resources/draws.d.mts.map +1 -1
- package/resources/draws.d.ts +84 -28
- package/resources/draws.d.ts.map +1 -1
- package/resources/draws.js +24 -9
- package/resources/draws.js.map +1 -1
- package/resources/draws.mjs +24 -9
- package/resources/draws.mjs.map +1 -1
- package/resources/events.d.mts +2564 -21
- package/resources/events.d.mts.map +1 -1
- package/resources/events.d.ts +2564 -21
- package/resources/events.d.ts.map +1 -1
- package/resources/events.js +34 -2
- package/resources/events.js.map +1 -1
- package/resources/events.mjs +34 -2
- package/resources/events.mjs.map +1 -1
- package/resources/extractions.d.mts +410 -128
- package/resources/extractions.d.mts.map +1 -1
- package/resources/extractions.d.ts +410 -128
- package/resources/extractions.d.ts.map +1 -1
- package/resources/extractions.js +74 -12
- package/resources/extractions.js.map +1 -1
- package/resources/extractions.mjs +74 -12
- package/resources/extractions.mjs.map +1 -1
- package/resources/guest-wallets.d.mts +6 -5
- package/resources/guest-wallets.d.mts.map +1 -1
- package/resources/guest-wallets.d.ts +6 -5
- package/resources/guest-wallets.d.ts.map +1 -1
- package/resources/guest-wallets.js +2 -1
- package/resources/guest-wallets.js.map +1 -1
- package/resources/guest-wallets.mjs +2 -1
- package/resources/guest-wallets.mjs.map +1 -1
- package/resources/index.d.mts +6 -6
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +6 -6
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/monitors/index.d.mts +2 -2
- package/resources/monitors/index.d.mts.map +1 -1
- package/resources/monitors/index.d.ts +2 -2
- package/resources/monitors/index.d.ts.map +1 -1
- package/resources/monitors/index.js.map +1 -1
- package/resources/monitors/index.mjs.map +1 -1
- package/resources/monitors/keywords.d.mts +66 -14
- package/resources/monitors/keywords.d.mts.map +1 -1
- package/resources/monitors/keywords.d.ts +66 -14
- package/resources/monitors/keywords.d.ts.map +1 -1
- package/resources/monitors/keywords.js +16 -10
- package/resources/monitors/keywords.js.map +1 -1
- package/resources/monitors/keywords.mjs +16 -10
- package/resources/monitors/keywords.mjs.map +1 -1
- package/resources/monitors/monitors.d.mts +53 -16
- package/resources/monitors/monitors.d.mts.map +1 -1
- package/resources/monitors/monitors.d.ts +53 -16
- package/resources/monitors/monitors.d.ts.map +1 -1
- package/resources/monitors/monitors.js +12 -10
- package/resources/monitors/monitors.js.map +1 -1
- package/resources/monitors/monitors.mjs +12 -10
- package/resources/monitors/monitors.mjs.map +1 -1
- package/resources/radar.d.mts +32 -36
- package/resources/radar.d.mts.map +1 -1
- package/resources/radar.d.ts +32 -36
- package/resources/radar.d.ts.map +1 -1
- package/resources/radar.js +1 -1
- package/resources/radar.mjs +1 -1
- package/resources/shared.d.mts +1726 -233
- package/resources/shared.d.mts.map +1 -1
- package/resources/shared.d.ts +1726 -233
- package/resources/shared.d.ts.map +1 -1
- package/resources/styles.d.mts +34 -23
- package/resources/styles.d.mts.map +1 -1
- package/resources/styles.d.ts +34 -23
- package/resources/styles.d.ts.map +1 -1
- package/resources/styles.js +11 -13
- package/resources/styles.js.map +1 -1
- package/resources/styles.mjs +11 -13
- package/resources/styles.mjs.map +1 -1
- package/resources/subscribe.d.mts +1 -1
- package/resources/subscribe.d.ts +1 -1
- package/resources/subscribe.js +1 -1
- package/resources/subscribe.mjs +1 -1
- package/resources/support/index.d.mts +1 -1
- package/resources/support/index.d.mts.map +1 -1
- package/resources/support/index.d.ts +1 -1
- package/resources/support/index.d.ts.map +1 -1
- package/resources/support/index.js.map +1 -1
- package/resources/support/index.mjs.map +1 -1
- package/resources/support/support.d.mts +2 -2
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +2 -2
- package/resources/support/support.d.ts.map +1 -1
- package/resources/support/support.js.map +1 -1
- package/resources/support/support.mjs.map +1 -1
- package/resources/support/tickets.d.mts +30 -10
- package/resources/support/tickets.d.mts.map +1 -1
- package/resources/support/tickets.d.ts +30 -10
- package/resources/support/tickets.d.ts.map +1 -1
- package/resources/support/tickets.js +7 -7
- package/resources/support/tickets.js.map +1 -1
- package/resources/support/tickets.mjs +7 -7
- package/resources/support/tickets.mjs.map +1 -1
- package/resources/trends.d.mts +21 -5
- package/resources/trends.d.mts.map +1 -1
- package/resources/trends.d.ts +21 -5
- package/resources/trends.d.ts.map +1 -1
- package/resources/trends.js +2 -1
- package/resources/trends.js.map +1 -1
- package/resources/trends.mjs +2 -1
- package/resources/trends.mjs.map +1 -1
- package/resources/webhooks.d.mts +80 -14
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +80 -14
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +30 -11
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +30 -11
- package/resources/webhooks.mjs.map +1 -1
- package/resources/x/account-connection-attempts.d.mts +1 -1
- package/resources/x/account-connection-attempts.d.ts +1 -1
- package/resources/x/account-connection-attempts.js +1 -1
- package/resources/x/account-connection-attempts.mjs +1 -1
- package/resources/x/account-connection-challenges.d.mts +30 -11
- package/resources/x/account-connection-challenges.d.mts.map +1 -1
- package/resources/x/account-connection-challenges.d.ts +30 -11
- package/resources/x/account-connection-challenges.d.ts.map +1 -1
- package/resources/x/account-connection-challenges.js +5 -4
- package/resources/x/account-connection-challenges.js.map +1 -1
- package/resources/x/account-connection-challenges.mjs +5 -4
- package/resources/x/account-connection-challenges.mjs.map +1 -1
- package/resources/x/accounts.d.mts +38 -10
- package/resources/x/accounts.d.mts.map +1 -1
- package/resources/x/accounts.d.ts +38 -10
- package/resources/x/accounts.d.ts.map +1 -1
- package/resources/x/accounts.js +8 -7
- package/resources/x/accounts.js.map +1 -1
- package/resources/x/accounts.mjs +8 -7
- package/resources/x/accounts.mjs.map +1 -1
- package/resources/x/analysis.d.mts +3274 -0
- package/resources/x/analysis.d.mts.map +1 -0
- package/resources/x/analysis.d.ts +3274 -0
- package/resources/x/analysis.d.ts.map +1 -0
- package/resources/x/analysis.js +132 -0
- package/resources/x/analysis.js.map +1 -0
- package/resources/x/analysis.mjs +128 -0
- package/resources/x/analysis.mjs.map +1 -0
- package/resources/x/bookmarks.d.mts +84 -9
- package/resources/x/bookmarks.d.mts.map +1 -1
- package/resources/x/bookmarks.d.ts +84 -9
- package/resources/x/bookmarks.d.ts.map +1 -1
- package/resources/x/bookmarks.js +6 -4
- package/resources/x/bookmarks.js.map +1 -1
- package/resources/x/bookmarks.mjs +6 -4
- package/resources/x/bookmarks.mjs.map +1 -1
- package/resources/x/broadcasts.d.mts +176 -0
- package/resources/x/broadcasts.d.mts.map +1 -0
- package/resources/x/broadcasts.d.ts +176 -0
- package/resources/x/broadcasts.d.ts.map +1 -0
- package/resources/x/broadcasts.js +29 -0
- package/resources/x/broadcasts.js.map +1 -0
- package/resources/x/broadcasts.mjs +25 -0
- package/resources/x/broadcasts.mjs.map +1 -0
- package/resources/x/communities/communities.d.mts +612 -128
- package/resources/x/communities/communities.d.mts.map +1 -1
- package/resources/x/communities/communities.d.ts +612 -128
- package/resources/x/communities/communities.d.ts.map +1 -1
- package/resources/x/communities/communities.js +96 -17
- package/resources/x/communities/communities.js.map +1 -1
- package/resources/x/communities/communities.mjs +96 -17
- package/resources/x/communities/communities.mjs.map +1 -1
- package/resources/x/communities/index.d.mts +2 -1
- package/resources/x/communities/index.d.mts.map +1 -1
- package/resources/x/communities/index.d.ts +2 -1
- package/resources/x/communities/index.d.ts.map +1 -1
- package/resources/x/communities/index.js +3 -1
- package/resources/x/communities/index.js.map +1 -1
- package/resources/x/communities/index.mjs +1 -0
- package/resources/x/communities/index.mjs.map +1 -1
- package/resources/x/communities/join.d.mts +46 -25
- package/resources/x/communities/join.d.mts.map +1 -1
- package/resources/x/communities/join.d.ts +46 -25
- package/resources/x/communities/join.d.ts.map +1 -1
- package/resources/x/communities/join.js +10 -7
- package/resources/x/communities/join.js.map +1 -1
- package/resources/x/communities/join.mjs +10 -7
- package/resources/x/communities/join.mjs.map +1 -1
- package/resources/x/communities/media.d.mts +197 -0
- package/resources/x/communities/media.d.mts.map +1 -0
- package/resources/x/communities/media.d.ts +197 -0
- package/resources/x/communities/media.d.ts.map +1 -0
- package/resources/x/communities/media.js +29 -0
- package/resources/x/communities/media.js.map +1 -0
- package/resources/x/communities/media.mjs +25 -0
- package/resources/x/communities/media.mjs.map +1 -0
- package/resources/x/communities/tweets.d.mts +350 -20
- package/resources/x/communities/tweets.d.mts.map +1 -1
- package/resources/x/communities/tweets.d.ts +350 -20
- package/resources/x/communities/tweets.d.ts.map +1 -1
- package/resources/x/communities/tweets.js +8 -7
- package/resources/x/communities/tweets.js.map +1 -1
- package/resources/x/communities/tweets.mjs +8 -7
- package/resources/x/communities/tweets.mjs.map +1 -1
- package/resources/x/dm.d.mts +245 -13
- package/resources/x/dm.d.mts.map +1 -1
- package/resources/x/dm.d.ts +245 -13
- package/resources/x/dm.d.ts.map +1 -1
- package/resources/x/dm.js +29 -2
- package/resources/x/dm.js.map +1 -1
- package/resources/x/dm.mjs +29 -2
- package/resources/x/dm.mjs.map +1 -1
- package/resources/x/followers.d.mts +31 -3
- package/resources/x/followers.d.mts.map +1 -1
- package/resources/x/followers.d.ts +31 -3
- package/resources/x/followers.d.ts.map +1 -1
- package/resources/x/followers.js +2 -1
- package/resources/x/followers.js.map +1 -1
- package/resources/x/followers.mjs +2 -1
- package/resources/x/followers.mjs.map +1 -1
- package/resources/x/index.d.mts +12 -8
- package/resources/x/index.d.mts.map +1 -1
- package/resources/x/index.d.ts +12 -8
- package/resources/x/index.d.ts.map +1 -1
- package/resources/x/index.js +9 -1
- package/resources/x/index.js.map +1 -1
- package/resources/x/index.mjs +5 -1
- package/resources/x/index.mjs.map +1 -1
- package/resources/x/jobs.d.mts +506 -0
- package/resources/x/jobs.d.mts.map +1 -0
- package/resources/x/jobs.d.ts +506 -0
- package/resources/x/jobs.d.ts.map +1 -0
- package/resources/x/jobs.js +60 -0
- package/resources/x/jobs.js.map +1 -0
- package/resources/x/jobs.mjs +56 -0
- package/resources/x/jobs.mjs.map +1 -0
- package/resources/x/lists.d.mts +1058 -27
- package/resources/x/lists.d.mts.map +1 -1
- package/resources/x/lists.d.ts +1058 -27
- package/resources/x/lists.d.ts.map +1 -1
- package/resources/x/lists.js +39 -9
- package/resources/x/lists.js.map +1 -1
- package/resources/x/lists.mjs +39 -9
- package/resources/x/lists.mjs.map +1 -1
- package/resources/x/media.d.mts +24 -13
- package/resources/x/media.d.mts.map +1 -1
- package/resources/x/media.d.ts +24 -13
- package/resources/x/media.d.ts.map +1 -1
- package/resources/x/media.js +2 -2
- package/resources/x/media.mjs +2 -2
- package/resources/x/profile.d.mts +60 -33
- package/resources/x/profile.d.mts.map +1 -1
- package/resources/x/profile.d.ts +60 -33
- package/resources/x/profile.d.ts.map +1 -1
- package/resources/x/profile.js +3 -3
- package/resources/x/profile.mjs +3 -3
- package/resources/x/spaces.d.mts +857 -0
- package/resources/x/spaces.d.mts.map +1 -0
- package/resources/x/spaces.d.ts +857 -0
- package/resources/x/spaces.d.ts.map +1 -0
- package/resources/x/spaces.js +58 -0
- package/resources/x/spaces.js.map +1 -0
- package/resources/x/spaces.mjs +54 -0
- package/resources/x/spaces.mjs.map +1 -0
- package/resources/x/tweets/index.d.mts +1 -1
- package/resources/x/tweets/index.d.mts.map +1 -1
- package/resources/x/tweets/index.d.ts +1 -1
- package/resources/x/tweets/index.d.ts.map +1 -1
- package/resources/x/tweets/index.js.map +1 -1
- package/resources/x/tweets/index.mjs.map +1 -1
- package/resources/x/tweets/like.d.mts +38 -20
- package/resources/x/tweets/like.d.mts.map +1 -1
- package/resources/x/tweets/like.d.ts +38 -20
- package/resources/x/tweets/like.d.ts.map +1 -1
- package/resources/x/tweets/like.js +2 -2
- package/resources/x/tweets/like.mjs +2 -2
- package/resources/x/tweets/retweet.d.mts +38 -20
- package/resources/x/tweets/retweet.d.mts.map +1 -1
- package/resources/x/tweets/retweet.d.ts +38 -20
- package/resources/x/tweets/retweet.d.ts.map +1 -1
- package/resources/x/tweets/retweet.js +2 -2
- package/resources/x/tweets/retweet.mjs +2 -2
- package/resources/x/tweets/tweets.d.mts +2639 -326
- package/resources/x/tweets/tweets.d.mts.map +1 -1
- package/resources/x/tweets/tweets.d.ts +2639 -326
- package/resources/x/tweets/tweets.d.ts.map +1 -1
- package/resources/x/tweets/tweets.js +147 -21
- package/resources/x/tweets/tweets.js.map +1 -1
- package/resources/x/tweets/tweets.mjs +147 -21
- package/resources/x/tweets/tweets.mjs.map +1 -1
- package/resources/x/users/follow.d.mts +38 -20
- package/resources/x/users/follow.d.mts.map +1 -1
- package/resources/x/users/follow.d.ts +38 -20
- package/resources/x/users/follow.d.ts.map +1 -1
- package/resources/x/users/follow.js +2 -2
- package/resources/x/users/follow.mjs +2 -2
- package/resources/x/users/index.d.mts +1 -1
- package/resources/x/users/index.d.mts.map +1 -1
- package/resources/x/users/index.d.ts +1 -1
- package/resources/x/users/index.d.ts.map +1 -1
- package/resources/x/users/index.js.map +1 -1
- package/resources/x/users/index.mjs.map +1 -1
- package/resources/x/users/users.d.mts +3068 -457
- package/resources/x/users/users.d.mts.map +1 -1
- package/resources/x/users/users.d.ts +3068 -457
- package/resources/x/users/users.d.ts.map +1 -1
- package/resources/x/users/users.js +205 -22
- package/resources/x/users/users.js.map +1 -1
- package/resources/x/users/users.mjs +205 -22
- package/resources/x/users/users.mjs.map +1 -1
- package/resources/x/write-actions.d.mts +13 -6
- package/resources/x/write-actions.d.mts.map +1 -1
- package/resources/x/write-actions.d.ts +13 -6
- package/resources/x/write-actions.d.ts.map +1 -1
- package/resources/x/write-actions.js +1 -1
- package/resources/x/write-actions.mjs +1 -1
- package/resources/x/x.d.mts +864 -27
- package/resources/x/x.d.mts.map +1 -1
- package/resources/x/x.d.ts +864 -27
- package/resources/x/x.d.ts.map +1 -1
- package/resources/x/x.js +78 -5
- package/resources/x/x.js.map +1 -1
- package/resources/x/x.mjs +80 -7
- package/resources/x/x.mjs.map +1 -1
- package/skills/x-twitter-scraper/SKILL.md +97 -350
- package/skills/x-twitter-scraper/metadata.json +3 -9
- package/skills/x-twitter-scraper/references/draws.md +24 -24
- package/skills/x-twitter-scraper/references/extractions.md +71 -62
- package/skills/x-twitter-scraper/references/mcp-setup.md +36 -39
- package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
- package/skills/x-twitter-scraper/references/python-examples.md +5 -5
- package/skills/x-twitter-scraper/references/security.md +8 -8
- package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
- package/skills/x-twitter-scraper/references/types.md +0 -1
- package/skills/x-twitter-scraper/references/usage.md +5 -5
- package/skills/x-twitter-scraper/references/webhooks.md +28 -31
- package/skills/x-twitter-scraper/references/workflows.md +70 -71
- package/skills/x-twitter-scraper/skill-card.md +13 -14
- package/skills/x-twitter-scraper/skillspector-report.md +8 -5
- package/skills/xquik-account-automation/LICENSE +21 -0
- package/skills/xquik-account-automation/SKILL.md +91 -0
- package/skills/xquik-social-research/SKILL.md +49 -56
- package/src/client.ts +47 -4
- package/src/core/streaming.ts +328 -0
- package/src/internal/decoders/line.ts +140 -0
- package/src/internal/parse.ts +9 -0
- package/src/resources/account.ts +41 -12
- package/src/resources/compose.ts +77 -21
- package/src/resources/credits.ts +19 -10
- package/src/resources/drafts.ts +13 -22
- package/src/resources/draws.ts +94 -36
- package/src/resources/events.ts +3225 -68
- package/src/resources/extractions.ts +512 -125
- package/src/resources/guest-wallets.ts +6 -5
- package/src/resources/index.ts +24 -1
- package/src/resources/monitors/index.ts +2 -0
- package/src/resources/monitors/keywords.ts +82 -14
- package/src/resources/monitors/monitors.ts +66 -14
- package/src/resources/radar.ts +32 -36
- package/src/resources/shared.ts +2227 -351
- package/src/resources/styles.ts +43 -27
- package/src/resources/subscribe.ts +1 -1
- package/src/resources/support/index.ts +1 -0
- package/src/resources/support/support.ts +2 -0
- package/src/resources/support/tickets.ts +38 -10
- package/src/resources/trends.ts +23 -5
- package/src/resources/webhooks.ts +109 -15
- package/src/resources/x/account-connection-attempts.ts +1 -1
- package/src/resources/x/account-connection-challenges.ts +39 -11
- package/src/resources/x/accounts.ts +46 -10
- package/src/resources/x/analysis.ts +3947 -0
- package/src/resources/x/bookmarks.ts +103 -9
- package/src/resources/x/broadcasts.ts +225 -0
- package/src/resources/x/communities/communities.ts +743 -141
- package/src/resources/x/communities/index.ts +9 -0
- package/src/resources/x/communities/join.ts +46 -23
- package/src/resources/x/communities/media.ts +251 -0
- package/src/resources/x/communities/tweets.ts +427 -20
- package/src/resources/x/dm.ts +334 -11
- package/src/resources/x/followers.ts +35 -3
- package/src/resources/x/index.ts +106 -1
- package/src/resources/x/jobs.ts +627 -0
- package/src/resources/x/lists.ts +1307 -28
- package/src/resources/x/media.ts +24 -12
- package/src/resources/x/profile.ts +60 -30
- package/src/resources/x/spaces.ts +1076 -0
- package/src/resources/x/tweets/index.ts +18 -0
- package/src/resources/x/tweets/like.ts +38 -18
- package/src/resources/x/tweets/retweet.ts +38 -18
- package/src/resources/x/tweets/tweets.ts +3695 -843
- package/src/resources/x/users/follow.ts +38 -18
- package/src/resources/x/users/index.ts +22 -0
- package/src/resources/x/users/users.ts +3687 -465
- package/src/resources/x/write-actions.ts +13 -5
- package/src/resources/x/x.ts +1227 -15
- package/src/streaming.ts +6 -0
- package/src/version.ts +1 -1
- package/streaming.d.mts +3 -0
- package/streaming.d.mts.map +1 -0
- package/streaming.d.ts +3 -0
- package/streaming.d.ts.map +1 -0
- package/streaming.js +9 -0
- package/streaming.js.map +1 -0
- package/streaming.mjs +6 -0
- package/streaming.mjs.map +1 -0
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
|
@@ -10,40 +10,39 @@ export declare class Tweets extends APIResource {
|
|
|
10
10
|
like: LikeAPI.Like;
|
|
11
11
|
retweet: RetweetAPI.Retweet;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Publishes a post through a connected X account.
|
|
14
14
|
*
|
|
15
15
|
* @example
|
|
16
16
|
* ```ts
|
|
17
17
|
* const tweet = await client.x.tweets.create({
|
|
18
18
|
* account: '@elonmusk',
|
|
19
19
|
* 'Idempotency-Key': 'Idempotency-Key',
|
|
20
|
+
* media: ['https://example.com/video.mp4'],
|
|
20
21
|
* text: 'Just launched our new feature!',
|
|
21
22
|
* });
|
|
22
23
|
* ```
|
|
23
24
|
*/
|
|
24
25
|
create(params: TweetCreateParams, options?: RequestOptions): APIPromise<TweetCreateResponse>;
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
+
* Returns one public tweet with author, metrics, and media.
|
|
27
28
|
*
|
|
28
29
|
* @example
|
|
29
30
|
* ```ts
|
|
30
31
|
* const tweet = await client.x.tweets.retrieve('id');
|
|
31
32
|
* ```
|
|
32
33
|
*/
|
|
33
|
-
retrieve(id: string, options?: RequestOptions): APIPromise<TweetRetrieveResponse>;
|
|
34
|
+
retrieve(id: string, query?: TweetRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<TweetRetrieveResponse>;
|
|
34
35
|
/**
|
|
35
|
-
*
|
|
36
|
+
* Returns public tweet records for the requested IDs.
|
|
36
37
|
*
|
|
37
38
|
* @example
|
|
38
39
|
* ```ts
|
|
39
|
-
* const
|
|
40
|
-
* ids: 'ids',
|
|
41
|
-
* });
|
|
40
|
+
* const tweets = await client.x.tweets.list({ ids: 'ids' });
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
|
-
list(query: TweetListParams, options?: RequestOptions): APIPromise<
|
|
43
|
+
list(query: TweetListParams, options?: RequestOptions): APIPromise<TweetListResponse>;
|
|
45
44
|
/**
|
|
46
|
-
*
|
|
45
|
+
* Deletes an authored post through a connected X account.
|
|
47
46
|
*
|
|
48
47
|
* @example
|
|
49
48
|
* ```ts
|
|
@@ -55,9 +54,31 @@ export declare class Tweets extends APIResource {
|
|
|
55
54
|
*/
|
|
56
55
|
delete(id: string, params: TweetDeleteParams, options?: RequestOptions): APIPromise<TweetDeleteResponse>;
|
|
57
56
|
/**
|
|
58
|
-
* Returns
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* Returns whether 1 account reposted the post, read from its newest posts. A
|
|
58
|
+
* repost older than the posts read returns false with complete false. Each check
|
|
59
|
+
* costs 1 credit.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const response = await client.x.tweets.checkRepost('id', {
|
|
64
|
+
* user: 'nasa',
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
checkRepost(id: string, query: TweetCheckRepostParams, options?: RequestOptions): APIPromise<TweetCheckRepostResponse>;
|
|
69
|
+
/**
|
|
70
|
+
* Returns the HTML that X gives websites to embed one public tweet, with the
|
|
71
|
+
* tweet's link and author.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* const response = await client.x.tweets.embed('id');
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
embed(id: string, query?: TweetEmbedParams | null | undefined, options?: RequestOptions): APIPromise<TweetEmbedResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* Likers your X account sees, else 424 `account_required`. X shows likers only to
|
|
81
|
+
* the post author.
|
|
61
82
|
*
|
|
62
83
|
* @example
|
|
63
84
|
* ```ts
|
|
@@ -68,7 +89,30 @@ export declare class Tweets extends APIResource {
|
|
|
68
89
|
*/
|
|
69
90
|
getFavoriters(id: string, query?: TweetGetFavoritersParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedUsers>;
|
|
70
91
|
/**
|
|
71
|
-
*
|
|
92
|
+
* Returns the replies the post's author hid, oldest first, with the replies to
|
|
93
|
+
* them. A post without hidden replies returns an empty list.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const paginatedTweets =
|
|
98
|
+
* await client.x.tweets.getHiddenReplies('id');
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
getHiddenReplies(id: string, query?: TweetGetHiddenRepliesParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
|
|
102
|
+
/**
|
|
103
|
+
* Returns engagement insights for one tweet: engagements per hour since it went
|
|
104
|
+
* up, per view and per follower of its author, and how far it spread. Each report
|
|
105
|
+
* costs 1 credit, whatever it reads.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* const response = await client.x.tweets.getInsights('id');
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
getInsights(id: string, query?: TweetGetInsightsParams | null | undefined, options?: RequestOptions): APIPromise<TweetGetInsightsResponse>;
|
|
113
|
+
/**
|
|
114
|
+
* Returns public posts quoting the tweet, newest first, replies included. Drop
|
|
115
|
+
* them with replies=exclude. Send queryType=Top for the quotes X ranks highest.
|
|
72
116
|
*
|
|
73
117
|
* @example
|
|
74
118
|
* ```ts
|
|
@@ -79,9 +123,9 @@ export declare class Tweets extends APIResource {
|
|
|
79
123
|
*/
|
|
80
124
|
getQuotes(id: string, query?: TweetGetQuotesParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
|
|
81
125
|
/**
|
|
82
|
-
* Returns direct replies
|
|
83
|
-
*
|
|
84
|
-
*
|
|
126
|
+
* Returns direct replies with automatic maximum coverage and pagination. A retweet
|
|
127
|
+
* ID returns replies to the original post. Complete mode adds nested replies,
|
|
128
|
+
* diagnostics, and a 424 below 80% coverage. A fully read time window returns 200.
|
|
85
129
|
*
|
|
86
130
|
* @example
|
|
87
131
|
* ```ts
|
|
@@ -90,7 +134,22 @@ export declare class Tweets extends APIResource {
|
|
|
90
134
|
*/
|
|
91
135
|
getReplies(id: string, query?: TweetGetRepliesParams | null | undefined, options?: RequestOptions): APIPromise<TweetGetRepliesResponse>;
|
|
92
136
|
/**
|
|
93
|
-
*
|
|
137
|
+
* Returns the user IDs of a post's reposters, in the order & pages of
|
|
138
|
+
* /x/tweets/{id}/retweeters. Use it when you need IDs only. Each ID costs 1
|
|
139
|
+
* credit. A post nobody reposted returns an empty list for free.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* const response = await client.x.tweets.getRetweeterIds(
|
|
144
|
+
* 'id',
|
|
145
|
+
* );
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
getRetweeterIds(id: string, query?: TweetGetRetweeterIDsParams | null | undefined, options?: RequestOptions): APIPromise<TweetGetRetweeterIDsResponse>;
|
|
149
|
+
/**
|
|
150
|
+
* Lists reposters. includeRetweetTimestamp adds retweeted_at in Unix seconds. Null
|
|
151
|
+
* means no matching repost on the newest profile page or lookup failure. The
|
|
152
|
+
* created field means account creation. Timestamp lookups add latency.
|
|
94
153
|
*
|
|
95
154
|
* @example
|
|
96
155
|
* ```ts
|
|
@@ -101,7 +160,19 @@ export declare class Tweets extends APIResource {
|
|
|
101
160
|
*/
|
|
102
161
|
getRetweeters(id: string, query?: TweetGetRetweetersParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedUsers>;
|
|
103
162
|
/**
|
|
104
|
-
*
|
|
163
|
+
* Returns the caption tracks of one public tweet's videos, as X's player reads
|
|
164
|
+
* them. Each track has its language, name, timed cues, and full text. A tweet
|
|
165
|
+
* without video, or a video without captions, returns no track and costs nothing.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```ts
|
|
169
|
+
* const response = await client.x.tweets.getSubtitles('id');
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
getSubtitles(id: string, query?: TweetGetSubtitlesParams | null | undefined, options?: RequestOptions): APIPromise<TweetGetSubtitlesResponse>;
|
|
173
|
+
/**
|
|
174
|
+
* Returns visible posts from the selected conversation thread. Results exclude X
|
|
175
|
+
* ads.
|
|
105
176
|
*
|
|
106
177
|
* @example
|
|
107
178
|
* ```ts
|
|
@@ -112,9 +183,34 @@ export declare class Tweets extends APIResource {
|
|
|
112
183
|
*/
|
|
113
184
|
getThread(id: string, query?: TweetGetThreadParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
|
|
114
185
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
186
|
+
* Returns the tweets X ranks highest by one metric over the last day, week or
|
|
187
|
+
* month, as x.com's Inspiration page shows them. Covers all of X unless you pick a
|
|
188
|
+
* country or a language. Pages hold up to 20 tweets, and the list ends at 100.
|
|
189
|
+
* Each tweet costs 1 credit.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* const paginatedTweets = await client.x.tweets.listTop();
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
listTop(query?: TweetListTopParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
|
|
197
|
+
/**
|
|
198
|
+
* Returns where each t.co link leads, as X's own redirect says. Xquik reads the
|
|
199
|
+
* redirect and never visits the target site. A link t.co does not have comes back
|
|
200
|
+
* without `resolvedUrl` and costs nothing. A link X does not answer for in time
|
|
201
|
+
* comes back in `unprocessedUrls`, free. Each resolved link costs 1 credit.
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```ts
|
|
205
|
+
* const response = await client.x.tweets.resolveLinks({
|
|
206
|
+
* urls: 'https://t.co/Xe1nm2pkSX',
|
|
207
|
+
* });
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
resolveLinks(query: TweetResolveLinksParams, options?: RequestOptions): APIPromise<TweetResolveLinksResponse>;
|
|
211
|
+
/**
|
|
212
|
+
* Tweets include authors, like counts, media, URLs & cursors. Omit mode for
|
|
213
|
+
* maximum coverage. Reuse next_cursor with unchanged filters.
|
|
118
214
|
*
|
|
119
215
|
* @example
|
|
120
216
|
* ```ts
|
|
@@ -122,10 +218,22 @@ export declare class Tweets extends APIResource {
|
|
|
122
218
|
* ```
|
|
123
219
|
*/
|
|
124
220
|
search(query: TweetSearchParams, options?: RequestOptions): APIPromise<TweetSearchResponse>;
|
|
221
|
+
/**
|
|
222
|
+
* Returns X's own translation of one public tweet into the language you pick, with
|
|
223
|
+
* the links, mentions, and tags X places in the translated text.
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```ts
|
|
227
|
+
* const response = await client.x.tweets.translate('id', {
|
|
228
|
+
* language: 'tr',
|
|
229
|
+
* });
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
translate(id: string, query: TweetTranslateParams, options?: RequestOptions): APIPromise<TweetTranslateResponse>;
|
|
125
233
|
}
|
|
126
234
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
235
|
+
* Author profile. Lookups always include follower count & verification. Other
|
|
236
|
+
* fields depend on availability.
|
|
129
237
|
*/
|
|
130
238
|
export interface TweetAuthor extends Shared.UserProfile {
|
|
131
239
|
followers: number;
|
|
@@ -145,18 +253,37 @@ export interface TweetDetail {
|
|
|
145
253
|
text: string;
|
|
146
254
|
viewCount: number;
|
|
147
255
|
/**
|
|
148
|
-
* Article
|
|
256
|
+
* Describes an X Article preview and its lifecycle metadata.
|
|
149
257
|
*/
|
|
150
258
|
article?: TweetDetail.Article;
|
|
151
259
|
/**
|
|
152
|
-
*
|
|
153
|
-
*
|
|
260
|
+
* Author profile. Lookups always include follower count & verification. Other
|
|
261
|
+
* fields depend on availability.
|
|
154
262
|
*/
|
|
155
263
|
author?: TweetAuthor;
|
|
156
264
|
/**
|
|
157
|
-
*
|
|
265
|
+
* Why the tweet has no author. X serves a suspended or deleted account as an
|
|
266
|
+
* unavailable user with a reason such as Suspended or NotFound. Omitted when the
|
|
267
|
+
* author is available.
|
|
268
|
+
*/
|
|
269
|
+
authorUnavailable?: TweetDetail.AuthorUnavailable;
|
|
270
|
+
/**
|
|
271
|
+
* Describes a public card and its referenced profiles.
|
|
158
272
|
*/
|
|
159
273
|
card?: TweetDetail.Card;
|
|
274
|
+
/**
|
|
275
|
+
* Price charts the author attached under the post, 1 per cashtag. Absent when the
|
|
276
|
+
* post has none. X may send a cashtag without a chart window.
|
|
277
|
+
*/
|
|
278
|
+
cashtagAttachments?: Array<TweetDetail.CashtagAttachment>;
|
|
279
|
+
/**
|
|
280
|
+
* Community ID.
|
|
281
|
+
*/
|
|
282
|
+
communityId?: string;
|
|
283
|
+
/**
|
|
284
|
+
* Community name. Present when X sends it with the post.
|
|
285
|
+
*/
|
|
286
|
+
communityName?: string;
|
|
160
287
|
/**
|
|
161
288
|
* Community Note presentation metadata returned by X.
|
|
162
289
|
*/
|
|
@@ -167,59 +294,78 @@ export interface TweetDetail {
|
|
|
167
294
|
*/
|
|
168
295
|
contentDisclosure?: Shared.ContentDisclosure;
|
|
169
296
|
/**
|
|
170
|
-
*
|
|
297
|
+
* Reply policy & conversation owner.
|
|
171
298
|
*/
|
|
299
|
+
conversationControl?: TweetDetail.ConversationControl;
|
|
172
300
|
conversationId?: string;
|
|
173
|
-
createdAt?: string;
|
|
174
301
|
/**
|
|
175
|
-
*
|
|
302
|
+
* Author-published point, with longitude before latitude.
|
|
176
303
|
*/
|
|
304
|
+
coordinates?: TweetDetail.Coordinates;
|
|
305
|
+
createdAt?: string;
|
|
177
306
|
displayTextRange?: Array<number>;
|
|
178
307
|
/**
|
|
179
|
-
*
|
|
308
|
+
* Lists edit-chain identifiers and the remaining edit window.
|
|
180
309
|
*/
|
|
181
310
|
edit?: TweetDetail.Edit;
|
|
182
311
|
/**
|
|
183
|
-
*
|
|
312
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
184
313
|
*/
|
|
185
|
-
entities?:
|
|
186
|
-
[key: string]: unknown;
|
|
187
|
-
};
|
|
314
|
+
entities?: TweetDetail.Entities;
|
|
188
315
|
/**
|
|
189
|
-
*
|
|
316
|
+
* Marks a subscriber-only post with the creator whose subscription unlocks it.
|
|
317
|
+
* Non-subscribers get the preview text & the subscribe link. Omitted on public
|
|
318
|
+
* posts.
|
|
190
319
|
*/
|
|
191
|
-
|
|
320
|
+
exclusiveContent?: TweetDetail.ExclusiveContent;
|
|
192
321
|
/**
|
|
193
|
-
*
|
|
322
|
+
* Author-published point, with latitude before longitude.
|
|
194
323
|
*/
|
|
195
|
-
|
|
324
|
+
geo?: TweetDetail.Geo;
|
|
196
325
|
/**
|
|
197
|
-
*
|
|
326
|
+
* Public metadata whose fields are defined by X.
|
|
198
327
|
*/
|
|
199
|
-
|
|
328
|
+
grokShareAttachment?: {
|
|
329
|
+
[key: string]: unknown;
|
|
330
|
+
};
|
|
200
331
|
/**
|
|
201
|
-
*
|
|
332
|
+
* Grok's translation of the post, as X shows it.
|
|
202
333
|
*/
|
|
203
|
-
|
|
334
|
+
grokTranslatedPost?: {
|
|
335
|
+
[key: string]: unknown;
|
|
336
|
+
};
|
|
204
337
|
/**
|
|
205
|
-
* Whether
|
|
338
|
+
* Whether X holds Community Notes on the post, shown or not.
|
|
206
339
|
*/
|
|
207
|
-
|
|
340
|
+
hasCommunityNotes?: boolean;
|
|
341
|
+
inReplyToId?: string;
|
|
342
|
+
inReplyToUserId?: string;
|
|
343
|
+
inReplyToUsername?: string;
|
|
208
344
|
/**
|
|
209
|
-
*
|
|
345
|
+
* The notice x.com covers the post with until the reader views it, such as X's
|
|
346
|
+
* public interest notice on a post that broke its rules but stays up.
|
|
210
347
|
*/
|
|
348
|
+
interstitial?: TweetDetail.Interstitial;
|
|
349
|
+
isLimitedReply?: boolean;
|
|
350
|
+
isNoteTweet?: boolean;
|
|
351
|
+
isPinned?: boolean;
|
|
211
352
|
isQuoteStatus?: boolean;
|
|
212
|
-
/**
|
|
213
|
-
* Whether this tweet is a reply to another tweet
|
|
214
|
-
*/
|
|
215
353
|
isReply?: boolean;
|
|
354
|
+
isRetweet?: boolean;
|
|
216
355
|
isTranslatable?: boolean;
|
|
217
356
|
/**
|
|
218
|
-
*
|
|
357
|
+
* Public metadata whose fields are defined by X.
|
|
219
358
|
*/
|
|
359
|
+
jetfuelAttachment?: {
|
|
360
|
+
[key: string]: unknown;
|
|
361
|
+
};
|
|
220
362
|
lang?: string;
|
|
221
363
|
/**
|
|
222
|
-
*
|
|
364
|
+
* Public restrictions & prompts.
|
|
365
|
+
*/
|
|
366
|
+
limitedActions?: Array<TweetDetail.LimitedAction>;
|
|
367
|
+
/**
|
|
368
|
+
* Media, omitted when unavailable.
|
|
223
369
|
*/
|
|
224
370
|
media?: Array<Shared.TweetMedia>;
|
|
225
371
|
/**
|
|
@@ -227,60 +373,193 @@ export interface TweetDetail {
|
|
|
227
373
|
*/
|
|
228
374
|
noteTweet?: TweetDetail.NoteTweet;
|
|
229
375
|
/**
|
|
230
|
-
*
|
|
376
|
+
* A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
|
|
377
|
+
* author. Nesting stops after 4 levels.
|
|
378
|
+
*/
|
|
379
|
+
parentTweet?: Shared.EmbeddedTweet;
|
|
380
|
+
/**
|
|
381
|
+
* Describes public place metadata on a geotagged tweet.
|
|
231
382
|
*/
|
|
232
383
|
place?: TweetDetail.Place;
|
|
233
384
|
possiblySensitive?: boolean;
|
|
385
|
+
/**
|
|
386
|
+
* Public metadata whose fields are defined by X.
|
|
387
|
+
*/
|
|
388
|
+
postCta?: {
|
|
389
|
+
[key: string]: unknown;
|
|
390
|
+
};
|
|
234
391
|
/**
|
|
235
392
|
* Engagement counts retained from a prior tweet edit.
|
|
236
393
|
*/
|
|
237
394
|
previousCounts?: TweetDetail.PreviousCounts;
|
|
238
395
|
/**
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
* media, and conversation fields appear when available.
|
|
396
|
+
* A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
|
|
397
|
+
* author. Nesting stops after 4 levels.
|
|
242
398
|
*/
|
|
243
399
|
quoted_tweet?: Shared.EmbeddedTweet;
|
|
400
|
+
quotedTweetId?: string;
|
|
401
|
+
/**
|
|
402
|
+
* The quoted post's link, kept when X withholds that post.
|
|
403
|
+
*/
|
|
404
|
+
quotedTweetPermalink?: TweetDetail.QuotedTweetPermalink;
|
|
405
|
+
/**
|
|
406
|
+
* Why X shows no quoted post. Omitted when X names no reason, as its legacy
|
|
407
|
+
* answers never do.
|
|
408
|
+
*/
|
|
409
|
+
quotedTweetUnavailable?: TweetDetail.QuotedTweetUnavailable;
|
|
244
410
|
/**
|
|
245
|
-
*
|
|
246
|
-
|
|
247
|
-
|
|
411
|
+
* Public post & user this reaction references.
|
|
412
|
+
*/
|
|
413
|
+
reactionContext?: TweetDetail.ReactionContext;
|
|
414
|
+
/**
|
|
415
|
+
* A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
|
|
416
|
+
* author. Nesting stops after 4 levels.
|
|
248
417
|
*/
|
|
249
418
|
retweeted_tweet?: Shared.EmbeddedTweet;
|
|
250
419
|
/**
|
|
251
|
-
*
|
|
420
|
+
* Repost event time in UTC. Null when unavailable; omitted for other posts.
|
|
421
|
+
*/
|
|
422
|
+
retweetedAt?: string | null;
|
|
423
|
+
/**
|
|
424
|
+
* Public metadata whose fields are defined by X.
|
|
425
|
+
*/
|
|
426
|
+
scopes?: {
|
|
427
|
+
[key: string]: unknown;
|
|
428
|
+
};
|
|
429
|
+
/**
|
|
430
|
+
* The app the post was sent from, as X labels it. X sends it for some posts only.
|
|
252
431
|
*/
|
|
253
432
|
source?: string;
|
|
254
433
|
/**
|
|
255
|
-
*
|
|
434
|
+
* Game metadata attached to this post.
|
|
256
435
|
*/
|
|
436
|
+
sportsContext?: TweetDetail.SportsContext;
|
|
437
|
+
/**
|
|
438
|
+
* The Subscriber badge X shows on a reply. The reply's author subscribes to the
|
|
439
|
+
* creator who started the conversation. Omitted on a post without the badge.
|
|
440
|
+
*/
|
|
441
|
+
subscriberBadge?: TweetDetail.SubscriberBadge;
|
|
442
|
+
/**
|
|
443
|
+
* Where `text` matches the search, on each row a search read. Offsets count code
|
|
444
|
+
* points of `text`, as `displayTextRange` does. Empty when X marks nothing in the
|
|
445
|
+
* post. X marks matches only in a post's first 280 characters.
|
|
446
|
+
*/
|
|
447
|
+
textHighlights?: Array<TweetDetail.TextHighlight>;
|
|
448
|
+
/**
|
|
449
|
+
* Public visibility notice attached to an available tweet.
|
|
450
|
+
*/
|
|
451
|
+
tombstone?: TweetDetail.Tombstone;
|
|
257
452
|
type?: string;
|
|
258
453
|
/**
|
|
259
|
-
*
|
|
454
|
+
* The author's ID when X withholds the author's profile.
|
|
455
|
+
*/
|
|
456
|
+
unavailableAuthorId?: string;
|
|
457
|
+
/**
|
|
458
|
+
* User IDs that left this conversation.
|
|
260
459
|
*/
|
|
460
|
+
unmentionedUserIds?: Array<string>;
|
|
261
461
|
url?: string;
|
|
262
462
|
viewState?: string;
|
|
263
463
|
}
|
|
264
464
|
export declare namespace TweetDetail {
|
|
265
465
|
/**
|
|
266
|
-
* Article
|
|
466
|
+
* Describes an X Article preview and its lifecycle metadata.
|
|
267
467
|
*/
|
|
268
468
|
interface Article {
|
|
269
469
|
id?: string;
|
|
470
|
+
/**
|
|
471
|
+
* Public metadata whose fields are defined by X.
|
|
472
|
+
*/
|
|
473
|
+
coverMedia?: {
|
|
474
|
+
[key: string]: unknown;
|
|
475
|
+
};
|
|
270
476
|
coverMediaUrl?: string;
|
|
477
|
+
/**
|
|
478
|
+
* Public metadata whose fields are defined by X.
|
|
479
|
+
*/
|
|
480
|
+
lifecycleState?: {
|
|
481
|
+
[key: string]: unknown;
|
|
482
|
+
};
|
|
483
|
+
/**
|
|
484
|
+
* Public metadata whose fields are defined by X.
|
|
485
|
+
*/
|
|
486
|
+
metadata?: {
|
|
487
|
+
[key: string]: unknown;
|
|
488
|
+
};
|
|
271
489
|
previewText?: string;
|
|
272
490
|
title?: string;
|
|
273
491
|
}
|
|
274
492
|
/**
|
|
275
|
-
*
|
|
493
|
+
* Why the tweet has no author. X serves a suspended or deleted account as an
|
|
494
|
+
* unavailable user with a reason such as Suspended or NotFound. Omitted when the
|
|
495
|
+
* author is available.
|
|
496
|
+
*/
|
|
497
|
+
interface AuthorUnavailable {
|
|
498
|
+
/**
|
|
499
|
+
* X's reason code.
|
|
500
|
+
*/
|
|
501
|
+
reason: string;
|
|
502
|
+
/**
|
|
503
|
+
* X's notice text for the reason.
|
|
504
|
+
*/
|
|
505
|
+
message?: string;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Describes a public card and its referenced profiles.
|
|
276
509
|
*/
|
|
277
510
|
interface Card {
|
|
278
511
|
id?: string;
|
|
512
|
+
/**
|
|
513
|
+
* Public metadata whose fields are defined by X.
|
|
514
|
+
*/
|
|
279
515
|
bindingValues?: {
|
|
280
516
|
[key: string]: unknown;
|
|
281
517
|
};
|
|
282
518
|
name?: string;
|
|
519
|
+
/**
|
|
520
|
+
* Public metadata whose fields are defined by X.
|
|
521
|
+
*/
|
|
522
|
+
platform?: {
|
|
523
|
+
[key: string]: unknown;
|
|
524
|
+
};
|
|
283
525
|
url?: string;
|
|
526
|
+
/**
|
|
527
|
+
* Unresolved card user references.
|
|
528
|
+
*/
|
|
529
|
+
userReferenceErrors?: Array<Card.UserReferenceError>;
|
|
530
|
+
userReferences?: Array<Shared.UserProfile>;
|
|
531
|
+
}
|
|
532
|
+
namespace Card {
|
|
533
|
+
interface UserReferenceError {
|
|
534
|
+
message?: string;
|
|
535
|
+
reason?: string;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
interface CashtagAttachment {
|
|
539
|
+
/**
|
|
540
|
+
* The cashtag with its `$`.
|
|
541
|
+
*/
|
|
542
|
+
cashtag: string;
|
|
543
|
+
/**
|
|
544
|
+
* Span of each candle.
|
|
545
|
+
*/
|
|
546
|
+
candleSize?: string;
|
|
547
|
+
/**
|
|
548
|
+
* Time of the chart's last price.
|
|
549
|
+
*/
|
|
550
|
+
endTime?: string;
|
|
551
|
+
/**
|
|
552
|
+
* X's size for the chart.
|
|
553
|
+
*/
|
|
554
|
+
sizeVariant?: number;
|
|
555
|
+
/**
|
|
556
|
+
* Time of the chart's first candle.
|
|
557
|
+
*/
|
|
558
|
+
startTime?: string;
|
|
559
|
+
/**
|
|
560
|
+
* Span the chart covers.
|
|
561
|
+
*/
|
|
562
|
+
timeframe?: string;
|
|
284
563
|
}
|
|
285
564
|
/**
|
|
286
565
|
* Community Note presentation metadata returned by X.
|
|
@@ -289,44 +568,584 @@ export declare namespace TweetDetail {
|
|
|
289
568
|
id?: string;
|
|
290
569
|
destinationUrl?: string;
|
|
291
570
|
footer?: string;
|
|
571
|
+
footerIconType?: string;
|
|
572
|
+
iconType?: string;
|
|
573
|
+
/**
|
|
574
|
+
* Public metadata whose fields are defined by X.
|
|
575
|
+
*/
|
|
576
|
+
metadata?: {
|
|
577
|
+
[key: string]: unknown;
|
|
578
|
+
};
|
|
292
579
|
shortTitle?: string;
|
|
293
580
|
subtitle?: string;
|
|
294
581
|
title?: string;
|
|
295
582
|
visualStyle?: string;
|
|
296
583
|
}
|
|
297
584
|
/**
|
|
298
|
-
*
|
|
585
|
+
* Reply policy & conversation owner.
|
|
586
|
+
*/
|
|
587
|
+
interface ConversationControl {
|
|
588
|
+
/**
|
|
589
|
+
* Regions whose accounts may reply, as country codes. Sent with the
|
|
590
|
+
* `country_of_origin` mode.
|
|
591
|
+
*/
|
|
592
|
+
allowedCountryCodes?: Array<string>;
|
|
593
|
+
inviteViaMention?: boolean;
|
|
594
|
+
/**
|
|
595
|
+
* Reply policy from X's newer field, such as `my_network`, `premium` or
|
|
596
|
+
* `country_of_origin`. Omitted when X sends none.
|
|
597
|
+
*/
|
|
598
|
+
mode?: string;
|
|
599
|
+
/**
|
|
600
|
+
* The conversation owner's account ID.
|
|
601
|
+
*/
|
|
602
|
+
ownerId?: string;
|
|
603
|
+
ownerUsername?: string;
|
|
604
|
+
policy?: string;
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Author-published point, with longitude before latitude.
|
|
608
|
+
*/
|
|
609
|
+
interface Coordinates {
|
|
610
|
+
coordinates: Array<number>;
|
|
611
|
+
type: 'Point';
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Lists edit-chain identifiers and the remaining edit window.
|
|
299
615
|
*/
|
|
300
616
|
interface Edit {
|
|
301
617
|
editableUntilMsecs?: string;
|
|
302
618
|
editTweetIds?: Array<string>;
|
|
619
|
+
initialTweetId?: string;
|
|
303
620
|
}
|
|
304
621
|
/**
|
|
305
|
-
*
|
|
622
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
306
623
|
*/
|
|
307
|
-
interface
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
richtextTags?: Array<NoteTweet.RichtextTag>;
|
|
624
|
+
interface Entities {
|
|
625
|
+
hashtags?: Array<Entities.Hashtag>;
|
|
626
|
+
smarttags?: Array<Entities.Smarttag>;
|
|
627
|
+
symbols?: Array<Entities.Symbol>;
|
|
628
|
+
timestamps?: Array<Entities.Timestamp>;
|
|
629
|
+
urls?: Array<Entities.URL>;
|
|
630
|
+
user_mentions?: Array<Entities.UserMention>;
|
|
315
631
|
}
|
|
316
|
-
namespace
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
632
|
+
namespace Entities {
|
|
633
|
+
/**
|
|
634
|
+
* Provides hashtag text and source offsets within a tweet.
|
|
635
|
+
*/
|
|
636
|
+
interface Hashtag {
|
|
637
|
+
text: string;
|
|
638
|
+
indices?: Array<number>;
|
|
639
|
+
/**
|
|
640
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
641
|
+
* platforms, which differ by reader.
|
|
642
|
+
*/
|
|
643
|
+
tag?: Hashtag.Tag;
|
|
644
|
+
}
|
|
645
|
+
namespace Hashtag {
|
|
646
|
+
/**
|
|
647
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
648
|
+
* platforms, which differ by reader.
|
|
649
|
+
*/
|
|
650
|
+
interface Tag {
|
|
651
|
+
/**
|
|
652
|
+
* X's ID for the SmartTag.
|
|
653
|
+
*/
|
|
654
|
+
id?: string;
|
|
655
|
+
info?: Tag.Info;
|
|
656
|
+
}
|
|
657
|
+
namespace Tag {
|
|
658
|
+
interface Info {
|
|
659
|
+
info?: Info.Info;
|
|
660
|
+
}
|
|
661
|
+
namespace Info {
|
|
662
|
+
interface Info {
|
|
663
|
+
/**
|
|
664
|
+
* Whether X marks the SmartTag active.
|
|
665
|
+
*/
|
|
666
|
+
active?: boolean;
|
|
667
|
+
name?: string;
|
|
668
|
+
ticker?: string;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
675
|
+
*/
|
|
676
|
+
interface Smarttag {
|
|
677
|
+
indices?: Array<number>;
|
|
678
|
+
seconds?: number;
|
|
679
|
+
/**
|
|
680
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
681
|
+
* platforms, which differ by reader.
|
|
682
|
+
*/
|
|
683
|
+
tag?: Smarttag.Tag;
|
|
684
|
+
text?: string;
|
|
685
|
+
}
|
|
686
|
+
namespace Smarttag {
|
|
687
|
+
/**
|
|
688
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
689
|
+
* platforms, which differ by reader.
|
|
690
|
+
*/
|
|
691
|
+
interface Tag {
|
|
692
|
+
/**
|
|
693
|
+
* X's ID for the SmartTag.
|
|
694
|
+
*/
|
|
695
|
+
id?: string;
|
|
696
|
+
info?: Tag.Info;
|
|
697
|
+
}
|
|
698
|
+
namespace Tag {
|
|
699
|
+
interface Info {
|
|
700
|
+
info?: Info.Info;
|
|
701
|
+
}
|
|
702
|
+
namespace Info {
|
|
703
|
+
interface Info {
|
|
704
|
+
/**
|
|
705
|
+
* Whether X marks the SmartTag active.
|
|
706
|
+
*/
|
|
707
|
+
active?: boolean;
|
|
708
|
+
name?: string;
|
|
709
|
+
ticker?: string;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
716
|
+
*/
|
|
717
|
+
interface Symbol {
|
|
718
|
+
indices?: Array<number>;
|
|
719
|
+
seconds?: number;
|
|
720
|
+
/**
|
|
721
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
722
|
+
* platforms, which differ by reader.
|
|
723
|
+
*/
|
|
724
|
+
tag?: Symbol.Tag;
|
|
725
|
+
text?: string;
|
|
726
|
+
}
|
|
727
|
+
namespace Symbol {
|
|
728
|
+
/**
|
|
729
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
730
|
+
* platforms, which differ by reader.
|
|
731
|
+
*/
|
|
732
|
+
interface Tag {
|
|
733
|
+
/**
|
|
734
|
+
* X's ID for the SmartTag.
|
|
735
|
+
*/
|
|
736
|
+
id?: string;
|
|
737
|
+
info?: Tag.Info;
|
|
738
|
+
}
|
|
739
|
+
namespace Tag {
|
|
740
|
+
interface Info {
|
|
741
|
+
info?: Info.Info;
|
|
742
|
+
}
|
|
743
|
+
namespace Info {
|
|
744
|
+
interface Info {
|
|
745
|
+
/**
|
|
746
|
+
* Whether X marks the SmartTag active.
|
|
747
|
+
*/
|
|
748
|
+
active?: boolean;
|
|
749
|
+
name?: string;
|
|
750
|
+
ticker?: string;
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
/**
|
|
756
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
757
|
+
*/
|
|
758
|
+
interface Timestamp {
|
|
759
|
+
indices?: Array<number>;
|
|
760
|
+
seconds?: number;
|
|
761
|
+
/**
|
|
762
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
763
|
+
* platforms, which differ by reader.
|
|
764
|
+
*/
|
|
765
|
+
tag?: Timestamp.Tag;
|
|
766
|
+
text?: string;
|
|
767
|
+
}
|
|
768
|
+
namespace Timestamp {
|
|
769
|
+
/**
|
|
770
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
771
|
+
* platforms, which differ by reader.
|
|
772
|
+
*/
|
|
773
|
+
interface Tag {
|
|
774
|
+
/**
|
|
775
|
+
* X's ID for the SmartTag.
|
|
776
|
+
*/
|
|
777
|
+
id?: string;
|
|
778
|
+
info?: Tag.Info;
|
|
779
|
+
}
|
|
780
|
+
namespace Tag {
|
|
781
|
+
interface Info {
|
|
782
|
+
info?: Info.Info;
|
|
783
|
+
}
|
|
784
|
+
namespace Info {
|
|
785
|
+
interface Info {
|
|
786
|
+
/**
|
|
787
|
+
* Whether X marks the SmartTag active.
|
|
788
|
+
*/
|
|
789
|
+
active?: boolean;
|
|
790
|
+
name?: string;
|
|
791
|
+
ticker?: string;
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
/**
|
|
797
|
+
* Provides shortened, display, and expanded URLs from tweet text.
|
|
798
|
+
*/
|
|
799
|
+
interface URL {
|
|
800
|
+
display_url?: string;
|
|
801
|
+
expanded_url?: string;
|
|
802
|
+
indices?: Array<number>;
|
|
803
|
+
url?: string;
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* Provides profile identity and source offsets for a mention.
|
|
807
|
+
*/
|
|
808
|
+
interface UserMention {
|
|
809
|
+
screen_name: string;
|
|
810
|
+
id_str?: string;
|
|
811
|
+
indices?: Array<number>;
|
|
812
|
+
name?: string;
|
|
321
813
|
}
|
|
322
814
|
}
|
|
323
815
|
/**
|
|
324
|
-
*
|
|
816
|
+
* Marks a subscriber-only post with the creator whose subscription unlocks it.
|
|
817
|
+
* Non-subscribers get the preview text & the subscribe link. Omitted on public
|
|
818
|
+
* posts.
|
|
325
819
|
*/
|
|
326
|
-
interface
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
820
|
+
interface ExclusiveContent {
|
|
821
|
+
/**
|
|
822
|
+
* Username of the creator whose subscription unlocks the post.
|
|
823
|
+
*/
|
|
824
|
+
creatorUserName: string;
|
|
825
|
+
/**
|
|
826
|
+
* Subscribe link X shows non-subscribers. Omitted when X serves the full post.
|
|
827
|
+
*/
|
|
828
|
+
subscribeUrl?: string;
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Author-published point, with latitude before longitude.
|
|
832
|
+
*/
|
|
833
|
+
interface Geo {
|
|
834
|
+
coordinates: Array<number>;
|
|
835
|
+
type: 'Point';
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* The notice x.com covers the post with until the reader views it, such as X's
|
|
839
|
+
* public interest notice on a post that broke its rules but stays up.
|
|
840
|
+
*/
|
|
841
|
+
interface Interstitial {
|
|
842
|
+
/**
|
|
843
|
+
* How x.com shows the notice. `NonCompliant` marks a post that broke X's rules.
|
|
844
|
+
*/
|
|
845
|
+
displayType?: string;
|
|
846
|
+
text?: Interstitial.Text;
|
|
847
|
+
}
|
|
848
|
+
namespace Interstitial {
|
|
849
|
+
interface Text {
|
|
850
|
+
/**
|
|
851
|
+
* Links inside the notice, by character range.
|
|
852
|
+
*/
|
|
853
|
+
entities?: Array<Text.Entity>;
|
|
854
|
+
/**
|
|
855
|
+
* Whether X writes it right to left.
|
|
856
|
+
*/
|
|
857
|
+
rtl?: boolean;
|
|
858
|
+
/**
|
|
859
|
+
* The notice's text.
|
|
860
|
+
*/
|
|
861
|
+
text?: string;
|
|
862
|
+
}
|
|
863
|
+
namespace Text {
|
|
864
|
+
interface Entity {
|
|
865
|
+
/**
|
|
866
|
+
* Whole number from 0.
|
|
867
|
+
*/
|
|
868
|
+
fromIndex?: number;
|
|
869
|
+
ref?: Entity.Ref;
|
|
870
|
+
/**
|
|
871
|
+
* Whole number from 0.
|
|
872
|
+
*/
|
|
873
|
+
toIndex?: number;
|
|
874
|
+
}
|
|
875
|
+
namespace Entity {
|
|
876
|
+
interface Ref {
|
|
877
|
+
type?: string;
|
|
878
|
+
url?: string;
|
|
879
|
+
urlType?: string;
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
interface LimitedAction {
|
|
885
|
+
action?: string;
|
|
886
|
+
prompt?: LimitedAction.Prompt;
|
|
887
|
+
}
|
|
888
|
+
namespace LimitedAction {
|
|
889
|
+
interface Prompt {
|
|
890
|
+
ctaType?: string;
|
|
891
|
+
headline?: string;
|
|
892
|
+
/**
|
|
893
|
+
* Public metadata whose fields are defined by X.
|
|
894
|
+
*/
|
|
895
|
+
metadata?: {
|
|
896
|
+
[key: string]: unknown;
|
|
897
|
+
};
|
|
898
|
+
subtext?: string;
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* Complete Note Tweet content and rich-text metadata.
|
|
903
|
+
*/
|
|
904
|
+
interface NoteTweet {
|
|
905
|
+
text: string;
|
|
906
|
+
/**
|
|
907
|
+
* X's global ID of the Note, base64 of `NoteTweet:<noteId>`.
|
|
908
|
+
*/
|
|
909
|
+
id?: string;
|
|
910
|
+
/**
|
|
911
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
912
|
+
*/
|
|
913
|
+
entities?: NoteTweet.Entities;
|
|
914
|
+
/**
|
|
915
|
+
* Inline media positions in the Note Tweet text.
|
|
916
|
+
*/
|
|
917
|
+
inlineMedia?: Array<NoteTweet.InlineMedia>;
|
|
918
|
+
isExpandable?: boolean;
|
|
919
|
+
/**
|
|
920
|
+
* The Note's own ID, apart from the post's.
|
|
921
|
+
*/
|
|
922
|
+
noteId?: string;
|
|
923
|
+
richtextTags?: Array<NoteTweet.RichtextTag>;
|
|
924
|
+
}
|
|
925
|
+
namespace NoteTweet {
|
|
926
|
+
/**
|
|
927
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
928
|
+
*/
|
|
929
|
+
interface Entities {
|
|
930
|
+
hashtags?: Array<Entities.Hashtag>;
|
|
931
|
+
smarttags?: Array<Entities.Smarttag>;
|
|
932
|
+
symbols?: Array<Entities.Symbol>;
|
|
933
|
+
timestamps?: Array<Entities.Timestamp>;
|
|
934
|
+
urls?: Array<Entities.URL>;
|
|
935
|
+
user_mentions?: Array<Entities.UserMention>;
|
|
936
|
+
}
|
|
937
|
+
namespace Entities {
|
|
938
|
+
/**
|
|
939
|
+
* Provides hashtag text and source offsets within a tweet.
|
|
940
|
+
*/
|
|
941
|
+
interface Hashtag {
|
|
942
|
+
text: string;
|
|
943
|
+
indices?: Array<number>;
|
|
944
|
+
/**
|
|
945
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
946
|
+
* platforms, which differ by reader.
|
|
947
|
+
*/
|
|
948
|
+
tag?: Hashtag.Tag;
|
|
949
|
+
}
|
|
950
|
+
namespace Hashtag {
|
|
951
|
+
/**
|
|
952
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
953
|
+
* platforms, which differ by reader.
|
|
954
|
+
*/
|
|
955
|
+
interface Tag {
|
|
956
|
+
/**
|
|
957
|
+
* X's ID for the SmartTag.
|
|
958
|
+
*/
|
|
959
|
+
id?: string;
|
|
960
|
+
info?: Tag.Info;
|
|
961
|
+
}
|
|
962
|
+
namespace Tag {
|
|
963
|
+
interface Info {
|
|
964
|
+
info?: Info.Info;
|
|
965
|
+
}
|
|
966
|
+
namespace Info {
|
|
967
|
+
interface Info {
|
|
968
|
+
/**
|
|
969
|
+
* Whether X marks the SmartTag active.
|
|
970
|
+
*/
|
|
971
|
+
active?: boolean;
|
|
972
|
+
name?: string;
|
|
973
|
+
ticker?: string;
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
980
|
+
*/
|
|
981
|
+
interface Smarttag {
|
|
982
|
+
indices?: Array<number>;
|
|
983
|
+
seconds?: number;
|
|
984
|
+
/**
|
|
985
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
986
|
+
* platforms, which differ by reader.
|
|
987
|
+
*/
|
|
988
|
+
tag?: Smarttag.Tag;
|
|
989
|
+
text?: string;
|
|
990
|
+
}
|
|
991
|
+
namespace Smarttag {
|
|
992
|
+
/**
|
|
993
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
994
|
+
* platforms, which differ by reader.
|
|
995
|
+
*/
|
|
996
|
+
interface Tag {
|
|
997
|
+
/**
|
|
998
|
+
* X's ID for the SmartTag.
|
|
999
|
+
*/
|
|
1000
|
+
id?: string;
|
|
1001
|
+
info?: Tag.Info;
|
|
1002
|
+
}
|
|
1003
|
+
namespace Tag {
|
|
1004
|
+
interface Info {
|
|
1005
|
+
info?: Info.Info;
|
|
1006
|
+
}
|
|
1007
|
+
namespace Info {
|
|
1008
|
+
interface Info {
|
|
1009
|
+
/**
|
|
1010
|
+
* Whether X marks the SmartTag active.
|
|
1011
|
+
*/
|
|
1012
|
+
active?: boolean;
|
|
1013
|
+
name?: string;
|
|
1014
|
+
ticker?: string;
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
/**
|
|
1020
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
1021
|
+
*/
|
|
1022
|
+
interface Symbol {
|
|
1023
|
+
indices?: Array<number>;
|
|
1024
|
+
seconds?: number;
|
|
1025
|
+
/**
|
|
1026
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
1027
|
+
* platforms, which differ by reader.
|
|
1028
|
+
*/
|
|
1029
|
+
tag?: Symbol.Tag;
|
|
1030
|
+
text?: string;
|
|
1031
|
+
}
|
|
1032
|
+
namespace Symbol {
|
|
1033
|
+
/**
|
|
1034
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
1035
|
+
* platforms, which differ by reader.
|
|
1036
|
+
*/
|
|
1037
|
+
interface Tag {
|
|
1038
|
+
/**
|
|
1039
|
+
* X's ID for the SmartTag.
|
|
1040
|
+
*/
|
|
1041
|
+
id?: string;
|
|
1042
|
+
info?: Tag.Info;
|
|
1043
|
+
}
|
|
1044
|
+
namespace Tag {
|
|
1045
|
+
interface Info {
|
|
1046
|
+
info?: Info.Info;
|
|
1047
|
+
}
|
|
1048
|
+
namespace Info {
|
|
1049
|
+
interface Info {
|
|
1050
|
+
/**
|
|
1051
|
+
* Whether X marks the SmartTag active.
|
|
1052
|
+
*/
|
|
1053
|
+
active?: boolean;
|
|
1054
|
+
name?: string;
|
|
1055
|
+
ticker?: string;
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
1062
|
+
*/
|
|
1063
|
+
interface Timestamp {
|
|
1064
|
+
indices?: Array<number>;
|
|
1065
|
+
seconds?: number;
|
|
1066
|
+
/**
|
|
1067
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
1068
|
+
* platforms, which differ by reader.
|
|
1069
|
+
*/
|
|
1070
|
+
tag?: Timestamp.Tag;
|
|
1071
|
+
text?: string;
|
|
1072
|
+
}
|
|
1073
|
+
namespace Timestamp {
|
|
1074
|
+
/**
|
|
1075
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
1076
|
+
* platforms, which differ by reader.
|
|
1077
|
+
*/
|
|
1078
|
+
interface Tag {
|
|
1079
|
+
/**
|
|
1080
|
+
* X's ID for the SmartTag.
|
|
1081
|
+
*/
|
|
1082
|
+
id?: string;
|
|
1083
|
+
info?: Tag.Info;
|
|
1084
|
+
}
|
|
1085
|
+
namespace Tag {
|
|
1086
|
+
interface Info {
|
|
1087
|
+
info?: Info.Info;
|
|
1088
|
+
}
|
|
1089
|
+
namespace Info {
|
|
1090
|
+
interface Info {
|
|
1091
|
+
/**
|
|
1092
|
+
* Whether X marks the SmartTag active.
|
|
1093
|
+
*/
|
|
1094
|
+
active?: boolean;
|
|
1095
|
+
name?: string;
|
|
1096
|
+
ticker?: string;
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Provides shortened, display, and expanded URLs from tweet text.
|
|
1103
|
+
*/
|
|
1104
|
+
interface URL {
|
|
1105
|
+
display_url?: string;
|
|
1106
|
+
expanded_url?: string;
|
|
1107
|
+
indices?: Array<number>;
|
|
1108
|
+
url?: string;
|
|
1109
|
+
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Provides profile identity and source offsets for a mention.
|
|
1112
|
+
*/
|
|
1113
|
+
interface UserMention {
|
|
1114
|
+
screen_name: string;
|
|
1115
|
+
id_str?: string;
|
|
1116
|
+
indices?: Array<number>;
|
|
1117
|
+
name?: string;
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
interface InlineMedia {
|
|
1121
|
+
/**
|
|
1122
|
+
* Whole number from 0.
|
|
1123
|
+
*/
|
|
1124
|
+
index: number;
|
|
1125
|
+
mediaId: string;
|
|
1126
|
+
}
|
|
1127
|
+
interface RichtextTag {
|
|
1128
|
+
/**
|
|
1129
|
+
* Whole number from 0.
|
|
1130
|
+
*/
|
|
1131
|
+
fromIndex: number;
|
|
1132
|
+
/**
|
|
1133
|
+
* Whole number from 0.
|
|
1134
|
+
*/
|
|
1135
|
+
toIndex: number;
|
|
1136
|
+
types: Array<string>;
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
/**
|
|
1140
|
+
* Describes public place metadata on a geotagged tweet.
|
|
1141
|
+
*/
|
|
1142
|
+
interface Place {
|
|
1143
|
+
id?: string;
|
|
1144
|
+
/**
|
|
1145
|
+
* Public metadata whose fields are defined by X.
|
|
1146
|
+
*/
|
|
1147
|
+
boundingBox?: {
|
|
1148
|
+
[key: string]: unknown;
|
|
330
1149
|
};
|
|
331
1150
|
country?: string;
|
|
332
1151
|
countryCode?: string;
|
|
@@ -339,17 +1158,204 @@ export declare namespace TweetDetail {
|
|
|
339
1158
|
* Engagement counts retained from a prior tweet edit.
|
|
340
1159
|
*/
|
|
341
1160
|
interface PreviousCounts {
|
|
1161
|
+
/**
|
|
1162
|
+
* Whole number from 0.
|
|
1163
|
+
*/
|
|
342
1164
|
bookmarkCount?: number;
|
|
1165
|
+
/**
|
|
1166
|
+
* Whole number from 0.
|
|
1167
|
+
*/
|
|
343
1168
|
likeCount?: number;
|
|
1169
|
+
/**
|
|
1170
|
+
* Whole number from 0.
|
|
1171
|
+
*/
|
|
344
1172
|
quoteCount?: number;
|
|
1173
|
+
/**
|
|
1174
|
+
* Whole number from 0.
|
|
1175
|
+
*/
|
|
345
1176
|
replyCount?: number;
|
|
1177
|
+
/**
|
|
1178
|
+
* Whole number from 0.
|
|
1179
|
+
*/
|
|
346
1180
|
retweetCount?: number;
|
|
347
1181
|
}
|
|
1182
|
+
/**
|
|
1183
|
+
* The quoted post's link, kept when X withholds that post.
|
|
1184
|
+
*/
|
|
1185
|
+
interface QuotedTweetPermalink {
|
|
1186
|
+
displayUrl?: string;
|
|
1187
|
+
expandedUrl?: string;
|
|
1188
|
+
url?: string;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Why X shows no quoted post. Omitted when X names no reason, as its legacy
|
|
1192
|
+
* answers never do.
|
|
1193
|
+
*/
|
|
1194
|
+
interface QuotedTweetUnavailable {
|
|
1195
|
+
/**
|
|
1196
|
+
* X's reason, such as `Suspended` for a suspended author or `Protected` for an
|
|
1197
|
+
* author who protects their posts.
|
|
1198
|
+
*/
|
|
1199
|
+
reason: string;
|
|
1200
|
+
}
|
|
1201
|
+
/**
|
|
1202
|
+
* Public post & user this reaction references.
|
|
1203
|
+
*/
|
|
1204
|
+
interface ReactionContext {
|
|
1205
|
+
/**
|
|
1206
|
+
* Referenced post ID.
|
|
1207
|
+
*/
|
|
1208
|
+
reactedToPostId?: string;
|
|
1209
|
+
/**
|
|
1210
|
+
* Public X profile.
|
|
1211
|
+
*/
|
|
1212
|
+
reactedToUser?: Shared.UserProfile;
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* Game metadata attached to this post.
|
|
1216
|
+
*/
|
|
1217
|
+
interface SportsContext {
|
|
1218
|
+
/**
|
|
1219
|
+
* Teams & reported scores.
|
|
1220
|
+
*/
|
|
1221
|
+
competitors?: Array<SportsContext.Competitor>;
|
|
1222
|
+
/**
|
|
1223
|
+
* Game ID.
|
|
1224
|
+
*/
|
|
1225
|
+
gameId?: string;
|
|
1226
|
+
/**
|
|
1227
|
+
* League ID.
|
|
1228
|
+
*/
|
|
1229
|
+
league?: string;
|
|
1230
|
+
/**
|
|
1231
|
+
* Scheduled Unix milliseconds, retaining the source type.
|
|
1232
|
+
*/
|
|
1233
|
+
scheduledAtMs?: number | string;
|
|
1234
|
+
/**
|
|
1235
|
+
* Reported game state.
|
|
1236
|
+
*/
|
|
1237
|
+
state?: string;
|
|
1238
|
+
/**
|
|
1239
|
+
* Game progress text.
|
|
1240
|
+
*/
|
|
1241
|
+
statusText?: string;
|
|
1242
|
+
/**
|
|
1243
|
+
* Game title.
|
|
1244
|
+
*/
|
|
1245
|
+
title?: string;
|
|
1246
|
+
/**
|
|
1247
|
+
* Game link.
|
|
1248
|
+
*/
|
|
1249
|
+
url?: string;
|
|
1250
|
+
}
|
|
1251
|
+
namespace SportsContext {
|
|
1252
|
+
interface Competitor {
|
|
1253
|
+
/**
|
|
1254
|
+
* Team abbreviation.
|
|
1255
|
+
*/
|
|
1256
|
+
abbreviation?: string;
|
|
1257
|
+
/**
|
|
1258
|
+
* Team display color.
|
|
1259
|
+
*/
|
|
1260
|
+
color?: string;
|
|
1261
|
+
/**
|
|
1262
|
+
* Logo for dark backgrounds.
|
|
1263
|
+
*/
|
|
1264
|
+
darkLogoUrl?: string;
|
|
1265
|
+
/**
|
|
1266
|
+
* Active competitor.
|
|
1267
|
+
*/
|
|
1268
|
+
isActive?: boolean;
|
|
1269
|
+
/**
|
|
1270
|
+
* Winning competitor.
|
|
1271
|
+
*/
|
|
1272
|
+
isWinner?: boolean;
|
|
1273
|
+
/**
|
|
1274
|
+
* Logo for light backgrounds.
|
|
1275
|
+
*/
|
|
1276
|
+
logoUrl?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* Team name.
|
|
1279
|
+
*/
|
|
1280
|
+
name?: string;
|
|
1281
|
+
/**
|
|
1282
|
+
* Score display text.
|
|
1283
|
+
*/
|
|
1284
|
+
score?: string;
|
|
1285
|
+
/**
|
|
1286
|
+
* Team ID.
|
|
1287
|
+
*/
|
|
1288
|
+
teamId?: string;
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
/**
|
|
1292
|
+
* The Subscriber badge X shows on a reply. The reply's author subscribes to the
|
|
1293
|
+
* creator who started the conversation. Omitted on a post without the badge.
|
|
1294
|
+
*/
|
|
1295
|
+
interface SubscriberBadge {
|
|
1296
|
+
/**
|
|
1297
|
+
* Account ID of the creator the author subscribes to.
|
|
1298
|
+
*/
|
|
1299
|
+
creatorId: string;
|
|
1300
|
+
}
|
|
1301
|
+
interface TextHighlight {
|
|
1302
|
+
/**
|
|
1303
|
+
* The first code point after the match.
|
|
1304
|
+
*/
|
|
1305
|
+
endIndex: number;
|
|
1306
|
+
/**
|
|
1307
|
+
* The first code point of the match.
|
|
1308
|
+
*/
|
|
1309
|
+
startIndex: number;
|
|
1310
|
+
}
|
|
1311
|
+
/**
|
|
1312
|
+
* Public visibility notice attached to an available tweet.
|
|
1313
|
+
*/
|
|
1314
|
+
interface Tombstone {
|
|
1315
|
+
text?: Tombstone.Text;
|
|
1316
|
+
/**
|
|
1317
|
+
* Visibility notice type.
|
|
1318
|
+
*/
|
|
1319
|
+
type?: string;
|
|
1320
|
+
}
|
|
1321
|
+
namespace Tombstone {
|
|
1322
|
+
interface Text {
|
|
1323
|
+
entities?: Array<Text.Entity>;
|
|
1324
|
+
/**
|
|
1325
|
+
* Right-to-left text direction.
|
|
1326
|
+
*/
|
|
1327
|
+
rtl?: boolean;
|
|
1328
|
+
/**
|
|
1329
|
+
* Human-readable notice text.
|
|
1330
|
+
*/
|
|
1331
|
+
text?: string;
|
|
1332
|
+
}
|
|
1333
|
+
namespace Text {
|
|
1334
|
+
interface Entity {
|
|
1335
|
+
/**
|
|
1336
|
+
* Whole number from 0.
|
|
1337
|
+
*/
|
|
1338
|
+
fromIndex?: number;
|
|
1339
|
+
ref?: Entity.Ref;
|
|
1340
|
+
/**
|
|
1341
|
+
* Whole number from 0.
|
|
1342
|
+
*/
|
|
1343
|
+
toIndex?: number;
|
|
1344
|
+
}
|
|
1345
|
+
namespace Entity {
|
|
1346
|
+
interface Ref {
|
|
1347
|
+
type?: string;
|
|
1348
|
+
url?: string;
|
|
1349
|
+
urlType?: string;
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
348
1354
|
}
|
|
349
1355
|
/**
|
|
350
|
-
* Durable write
|
|
351
|
-
*
|
|
352
|
-
*
|
|
1356
|
+
* Durable write record. Poll statusUrl until terminal is true. Reusing its
|
|
1357
|
+
* Idempotency-Key returns this record. Create another action only when safeToRetry
|
|
1358
|
+
* is true.
|
|
353
1359
|
*/
|
|
354
1360
|
export interface TweetCreateResponse {
|
|
355
1361
|
id: string;
|
|
@@ -357,7 +1363,7 @@ export interface TweetCreateResponse {
|
|
|
357
1363
|
* Connected account selected for the write.
|
|
358
1364
|
*/
|
|
359
1365
|
account: TweetCreateResponse.Account | null;
|
|
360
|
-
action: 'create_tweet' | 'delete_tweet' | 'like' | 'unlike' | 'retweet' | 'unretweet' | 'follow' | 'unfollow' | 'remove_follower' | 'send_dm' | 'upload_media' | 'update_profile' | 'update_avatar' | 'update_banner' | 'create_community' | 'delete_community' | 'join_community' | 'leave_community';
|
|
1366
|
+
action: 'create_tweet' | 'delete_tweet' | 'like' | 'unlike' | 'retweet' | 'unretweet' | 'follow' | 'unfollow' | 'remove_follower' | 'send_dm' | 'delete_dm' | 'upload_media' | 'update_profile' | 'update_avatar' | 'update_banner' | 'create_community' | 'delete_community' | 'join_community' | 'leave_community';
|
|
361
1367
|
/**
|
|
362
1368
|
* plannedCredits is the approved maximum. chargedCredits comes from the settled
|
|
363
1369
|
* credit ledger. Pending or failed writes are not charged.
|
|
@@ -384,7 +1390,7 @@ export interface TweetCreateResponse {
|
|
|
384
1390
|
*/
|
|
385
1391
|
retryable: boolean;
|
|
386
1392
|
/**
|
|
387
|
-
* True only when
|
|
1393
|
+
* True only when X did not get the write and a new idempotency key may be used.
|
|
388
1394
|
*/
|
|
389
1395
|
safeToRetry: boolean;
|
|
390
1396
|
sendDispatched: boolean;
|
|
@@ -423,6 +1429,10 @@ export interface TweetCreateResponse {
|
|
|
423
1429
|
* retention deadline.
|
|
424
1430
|
*/
|
|
425
1431
|
expiresAt?: string;
|
|
1432
|
+
/**
|
|
1433
|
+
* True when this answers a retry of an earlier request with the same
|
|
1434
|
+
* Idempotency-Key.
|
|
1435
|
+
*/
|
|
426
1436
|
idempotent?: boolean;
|
|
427
1437
|
/**
|
|
428
1438
|
* Media count, kind, size, and billing details when used.
|
|
@@ -482,6 +1492,9 @@ export declare namespace TweetCreateResponse {
|
|
|
482
1492
|
*/
|
|
483
1493
|
interface NextAction {
|
|
484
1494
|
type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
|
|
1495
|
+
/**
|
|
1496
|
+
* Milliseconds to wait before you poll or retry.
|
|
1497
|
+
*/
|
|
485
1498
|
afterMs?: number;
|
|
486
1499
|
requiresNewIdempotencyKey?: boolean;
|
|
487
1500
|
url?: string;
|
|
@@ -524,15 +1537,34 @@ export interface TweetRetrieveResponse {
|
|
|
524
1537
|
*/
|
|
525
1538
|
tweet: TweetDetail;
|
|
526
1539
|
/**
|
|
527
|
-
*
|
|
528
|
-
*
|
|
1540
|
+
* Author profile. Lookups always include follower count & verification. Other
|
|
1541
|
+
* fields depend on availability.
|
|
529
1542
|
*/
|
|
530
1543
|
author?: TweetAuthor;
|
|
531
1544
|
}
|
|
1545
|
+
export interface TweetListResponse extends Shared.PaginatedTweets {
|
|
1546
|
+
/**
|
|
1547
|
+
* Each `ids` entry that names no post, with why. Absent when every entry names a
|
|
1548
|
+
* post.
|
|
1549
|
+
*/
|
|
1550
|
+
skipped?: Array<TweetListResponse.Skipped>;
|
|
1551
|
+
}
|
|
1552
|
+
export declare namespace TweetListResponse {
|
|
1553
|
+
interface Skipped {
|
|
1554
|
+
/**
|
|
1555
|
+
* The entry as sent.
|
|
1556
|
+
*/
|
|
1557
|
+
entry: string;
|
|
1558
|
+
/**
|
|
1559
|
+
* Why the entry names no post.
|
|
1560
|
+
*/
|
|
1561
|
+
reason: string;
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
532
1564
|
/**
|
|
533
|
-
* Durable write
|
|
534
|
-
*
|
|
535
|
-
*
|
|
1565
|
+
* Durable write record. Poll statusUrl until terminal is true. Reusing its
|
|
1566
|
+
* Idempotency-Key returns this record. Create another action only when safeToRetry
|
|
1567
|
+
* is true.
|
|
536
1568
|
*/
|
|
537
1569
|
export interface TweetDeleteResponse {
|
|
538
1570
|
id: string;
|
|
@@ -540,7 +1572,7 @@ export interface TweetDeleteResponse {
|
|
|
540
1572
|
* Connected account selected for the write.
|
|
541
1573
|
*/
|
|
542
1574
|
account: TweetDeleteResponse.Account | null;
|
|
543
|
-
action: 'create_tweet' | 'delete_tweet' | 'like' | 'unlike' | 'retweet' | 'unretweet' | 'follow' | 'unfollow' | 'remove_follower' | 'send_dm' | 'upload_media' | 'update_profile' | 'update_avatar' | 'update_banner' | 'create_community' | 'delete_community' | 'join_community' | 'leave_community';
|
|
1575
|
+
action: 'create_tweet' | 'delete_tweet' | 'like' | 'unlike' | 'retweet' | 'unretweet' | 'follow' | 'unfollow' | 'remove_follower' | 'send_dm' | 'delete_dm' | 'upload_media' | 'update_profile' | 'update_avatar' | 'update_banner' | 'create_community' | 'delete_community' | 'join_community' | 'leave_community';
|
|
544
1576
|
/**
|
|
545
1577
|
* plannedCredits is the approved maximum. chargedCredits comes from the settled
|
|
546
1578
|
* credit ledger. Pending or failed writes are not charged.
|
|
@@ -567,7 +1599,7 @@ export interface TweetDeleteResponse {
|
|
|
567
1599
|
*/
|
|
568
1600
|
retryable: boolean;
|
|
569
1601
|
/**
|
|
570
|
-
* True only when
|
|
1602
|
+
* True only when X did not get the write and a new idempotency key may be used.
|
|
571
1603
|
*/
|
|
572
1604
|
safeToRetry: boolean;
|
|
573
1605
|
sendDispatched: boolean;
|
|
@@ -606,6 +1638,10 @@ export interface TweetDeleteResponse {
|
|
|
606
1638
|
* retention deadline.
|
|
607
1639
|
*/
|
|
608
1640
|
expiresAt?: string;
|
|
1641
|
+
/**
|
|
1642
|
+
* True when this answers a retry of an earlier request with the same
|
|
1643
|
+
* Idempotency-Key.
|
|
1644
|
+
*/
|
|
609
1645
|
idempotent?: boolean;
|
|
610
1646
|
/**
|
|
611
1647
|
* Media count, kind, size, and billing details when used.
|
|
@@ -665,6 +1701,9 @@ export declare namespace TweetDeleteResponse {
|
|
|
665
1701
|
*/
|
|
666
1702
|
interface NextAction {
|
|
667
1703
|
type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
|
|
1704
|
+
/**
|
|
1705
|
+
* Milliseconds to wait before you poll or retry.
|
|
1706
|
+
*/
|
|
668
1707
|
afterMs?: number;
|
|
669
1708
|
requiresNewIdempotencyKey?: boolean;
|
|
670
1709
|
url?: string;
|
|
@@ -700,44 +1739,227 @@ export declare namespace TweetDeleteResponse {
|
|
|
700
1739
|
type: 'tweet' | 'user' | 'community';
|
|
701
1740
|
}
|
|
702
1741
|
}
|
|
703
|
-
|
|
704
|
-
* Direct reply rows. No-mode requests use resumable automatic coverage. Complete
|
|
705
|
-
* mode also returns nested replies and coverage diagnostics. Keep nested replies
|
|
706
|
-
* separate from direct coverage.
|
|
707
|
-
*/
|
|
708
|
-
export interface TweetGetRepliesResponse extends Shared.PaginatedTweets {
|
|
1742
|
+
export interface TweetCheckRepostResponse {
|
|
709
1743
|
/**
|
|
710
|
-
*
|
|
1744
|
+
* How many of the account's newest posts the check read.
|
|
711
1745
|
*/
|
|
712
|
-
|
|
1746
|
+
checkedPosts: number;
|
|
713
1747
|
/**
|
|
714
|
-
*
|
|
1748
|
+
* Whether the check read the account's whole timeline.
|
|
1749
|
+
*/
|
|
1750
|
+
complete: boolean;
|
|
1751
|
+
/**
|
|
1752
|
+
* Whether the account reposted the post.
|
|
1753
|
+
*/
|
|
1754
|
+
isRetweeted: boolean;
|
|
1755
|
+
/**
|
|
1756
|
+
* When the account reposted it, else null.
|
|
1757
|
+
*/
|
|
1758
|
+
retweetedAt: string | null;
|
|
1759
|
+
/**
|
|
1760
|
+
* The ID of the account's repost, else null.
|
|
715
1761
|
*/
|
|
716
|
-
|
|
1762
|
+
retweetId: string | null;
|
|
1763
|
+
tweetId: string;
|
|
1764
|
+
userId: string;
|
|
717
1765
|
}
|
|
718
|
-
export
|
|
1766
|
+
export interface TweetEmbedResponse {
|
|
719
1767
|
/**
|
|
720
|
-
*
|
|
1768
|
+
* Holds the HTML that embeds one tweet on a website.
|
|
721
1769
|
*/
|
|
722
|
-
|
|
1770
|
+
embed: TweetEmbedResponse.Embed;
|
|
1771
|
+
}
|
|
1772
|
+
export declare namespace TweetEmbedResponse {
|
|
1773
|
+
/**
|
|
1774
|
+
* Holds the HTML that embeds one tweet on a website.
|
|
1775
|
+
*/
|
|
1776
|
+
interface Embed {
|
|
723
1777
|
/**
|
|
724
|
-
*
|
|
1778
|
+
* Display name of the tweet's author.
|
|
725
1779
|
*/
|
|
726
|
-
|
|
1780
|
+
authorName: string;
|
|
727
1781
|
/**
|
|
728
|
-
*
|
|
1782
|
+
* Link to the author's profile.
|
|
729
1783
|
*/
|
|
730
|
-
|
|
1784
|
+
authorUrl: string;
|
|
731
1785
|
/**
|
|
732
|
-
*
|
|
1786
|
+
* Markup to place on a page. It loads X's widget script unless `omitScript` is
|
|
1787
|
+
* `true`.
|
|
1788
|
+
*/
|
|
1789
|
+
html: string;
|
|
1790
|
+
/**
|
|
1791
|
+
* ID of the embedded tweet.
|
|
1792
|
+
*/
|
|
1793
|
+
tweetId: string;
|
|
1794
|
+
/**
|
|
1795
|
+
* Link to the tweet with its author's username.
|
|
1796
|
+
*/
|
|
1797
|
+
url: string;
|
|
1798
|
+
/**
|
|
1799
|
+
* Height in pixels, when X fixes it.
|
|
1800
|
+
*/
|
|
1801
|
+
height?: number;
|
|
1802
|
+
/**
|
|
1803
|
+
* Width of the embed in pixels.
|
|
1804
|
+
*/
|
|
1805
|
+
width?: number;
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
export interface TweetGetInsightsResponse {
|
|
1809
|
+
/**
|
|
1810
|
+
* Engagement insights of one tweet. Engagements are likes, replies, reposts and
|
|
1811
|
+
* quotes. A rate is null when nothing divides it, such as a tweet without views.
|
|
1812
|
+
*/
|
|
1813
|
+
insights: TweetGetInsightsResponse.Insights;
|
|
1814
|
+
}
|
|
1815
|
+
export declare namespace TweetGetInsightsResponse {
|
|
1816
|
+
/**
|
|
1817
|
+
* Engagement insights of one tweet. Engagements are likes, replies, reposts and
|
|
1818
|
+
* quotes. A rate is null when nothing divides it, such as a tweet without views.
|
|
1819
|
+
*/
|
|
1820
|
+
interface Insights {
|
|
1821
|
+
/**
|
|
1822
|
+
* Hours since the tweet went up.
|
|
1823
|
+
*/
|
|
1824
|
+
ageHours: number | null;
|
|
1825
|
+
/**
|
|
1826
|
+
* Reposts and quotes per like.
|
|
1827
|
+
*/
|
|
1828
|
+
amplification: number | null;
|
|
1829
|
+
/**
|
|
1830
|
+
* ID of the author.
|
|
1831
|
+
*/
|
|
1832
|
+
authorId: string | null;
|
|
1833
|
+
/**
|
|
1834
|
+
* Username of the author.
|
|
1835
|
+
*/
|
|
1836
|
+
authorUserName: string | null;
|
|
1837
|
+
/**
|
|
1838
|
+
* Replies per like.
|
|
1839
|
+
*/
|
|
1840
|
+
conversation: number | null;
|
|
1841
|
+
/**
|
|
1842
|
+
* When the tweet went up.
|
|
1843
|
+
*/
|
|
1844
|
+
createdAt: string | null;
|
|
1845
|
+
/**
|
|
1846
|
+
* Engagements as a percent of views.
|
|
1847
|
+
*/
|
|
1848
|
+
engagementPerView: number | null;
|
|
1849
|
+
/**
|
|
1850
|
+
* Engagements as a percent of the author's followers.
|
|
1851
|
+
*/
|
|
1852
|
+
engagementRate: number | null;
|
|
1853
|
+
/**
|
|
1854
|
+
* Likes, replies, reposts and quotes.
|
|
1855
|
+
*/
|
|
1856
|
+
engagements: number;
|
|
1857
|
+
/**
|
|
1858
|
+
* Engagements per hour since the tweet went up.
|
|
1859
|
+
*/
|
|
1860
|
+
engagementsPerHour: number | null;
|
|
1861
|
+
/**
|
|
1862
|
+
* The public counts of one tweet.
|
|
1863
|
+
*/
|
|
1864
|
+
metrics: Insights.Metrics;
|
|
1865
|
+
/**
|
|
1866
|
+
* ID of the tweet the insights describe.
|
|
1867
|
+
*/
|
|
1868
|
+
tweetId: string;
|
|
1869
|
+
}
|
|
1870
|
+
namespace Insights {
|
|
1871
|
+
/**
|
|
1872
|
+
* The public counts of one tweet.
|
|
1873
|
+
*/
|
|
1874
|
+
interface Metrics {
|
|
1875
|
+
/**
|
|
1876
|
+
* Bookmarks.
|
|
1877
|
+
*/
|
|
1878
|
+
bookmarks: number;
|
|
1879
|
+
/**
|
|
1880
|
+
* Likes.
|
|
1881
|
+
*/
|
|
1882
|
+
likes: number;
|
|
1883
|
+
/**
|
|
1884
|
+
* Quotes.
|
|
1885
|
+
*/
|
|
1886
|
+
quotes: number;
|
|
1887
|
+
/**
|
|
1888
|
+
* Replies.
|
|
1889
|
+
*/
|
|
1890
|
+
replies: number;
|
|
1891
|
+
/**
|
|
1892
|
+
* Reposts.
|
|
1893
|
+
*/
|
|
1894
|
+
reposts: number;
|
|
1895
|
+
/**
|
|
1896
|
+
* Views.
|
|
1897
|
+
*/
|
|
1898
|
+
views: number;
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
/**
|
|
1903
|
+
* Direct reply rows. No-mode requests use resumable automatic coverage. Complete
|
|
1904
|
+
* mode also returns nested replies and coverage diagnostics.
|
|
1905
|
+
*/
|
|
1906
|
+
export interface TweetGetRepliesResponse extends Omit<Shared.PaginatedTweets, 'tweets'> {
|
|
1907
|
+
/**
|
|
1908
|
+
* Direct-reply coverage & collection evidence.
|
|
1909
|
+
*/
|
|
1910
|
+
diagnostic?: TweetGetRepliesResponse.Diagnostic;
|
|
1911
|
+
/**
|
|
1912
|
+
* Present on the last automatic page. X counts this many more replies but shows
|
|
1913
|
+
* them to nobody. They may be hidden, protected or deleted. A retry returns the
|
|
1914
|
+
* same replies.
|
|
1915
|
+
*/
|
|
1916
|
+
hiddenReplies?: number;
|
|
1917
|
+
/**
|
|
1918
|
+
* Present when your limit cut a complete-mode answer. The post has more replies;
|
|
1919
|
+
* raise limit to get them all.
|
|
1920
|
+
*/
|
|
1921
|
+
limit_reached?: true;
|
|
1922
|
+
/**
|
|
1923
|
+
* Explains an answer cut by your limit.
|
|
1924
|
+
*/
|
|
1925
|
+
message?: string;
|
|
1926
|
+
/**
|
|
1927
|
+
* Nested replies. Excluded from direct coverage.
|
|
1928
|
+
*/
|
|
1929
|
+
nested_replies?: Array<TweetGetRepliesResponse.NestedReply>;
|
|
1930
|
+
/**
|
|
1931
|
+
* Present with latest or oldest sort. The read stopped before it held every reply
|
|
1932
|
+
* X shows. Rows stay sorted by date, but replies may be missing between them.
|
|
1933
|
+
* Retry later for a gap-free order. Complete mode and automatic pages set it
|
|
1934
|
+
* alike.
|
|
1935
|
+
*/
|
|
1936
|
+
orderPartial?: true;
|
|
1937
|
+
tweets?: Array<TweetGetRepliesResponse.Tweet>;
|
|
1938
|
+
}
|
|
1939
|
+
export declare namespace TweetGetRepliesResponse {
|
|
1940
|
+
/**
|
|
1941
|
+
* Direct-reply coverage & collection evidence.
|
|
1942
|
+
*/
|
|
1943
|
+
interface Diagnostic {
|
|
1944
|
+
/**
|
|
1945
|
+
* Coverage met its target, or read the whole time window, without truncation.
|
|
1946
|
+
* Protected accounts' replies count but aren't returned.
|
|
1947
|
+
*/
|
|
1948
|
+
complete: boolean;
|
|
1949
|
+
/**
|
|
1950
|
+
* Unique direct replies / reported count, as a percentage.
|
|
1951
|
+
*/
|
|
1952
|
+
coveragePercentage: number;
|
|
1953
|
+
/**
|
|
1954
|
+
* Cursor requests that failed.
|
|
733
1955
|
*/
|
|
734
1956
|
cursorFailures: number;
|
|
735
1957
|
/**
|
|
736
|
-
* Duplicate
|
|
1958
|
+
* Duplicate IDs removed across pages & strategies.
|
|
737
1959
|
*/
|
|
738
1960
|
duplicateCount: number;
|
|
739
1961
|
/**
|
|
740
|
-
* Empty pages rejected
|
|
1962
|
+
* Empty pages rejected for no progress.
|
|
741
1963
|
*/
|
|
742
1964
|
emptyFalseProgressPages: number;
|
|
743
1965
|
/**
|
|
@@ -745,15 +1967,15 @@ export declare namespace TweetGetRepliesResponse {
|
|
|
745
1967
|
*/
|
|
746
1968
|
malformedCount: number;
|
|
747
1969
|
/**
|
|
748
|
-
* Expected
|
|
1970
|
+
* Expected X modules or fields missing.
|
|
749
1971
|
*/
|
|
750
1972
|
missingResponseModulesOrFields: Array<string>;
|
|
751
1973
|
/**
|
|
752
|
-
* Unique nested replies
|
|
1974
|
+
* Unique nested replies, excluded from direct coverage.
|
|
753
1975
|
*/
|
|
754
1976
|
nestedReplyCount: number;
|
|
755
1977
|
/**
|
|
756
|
-
*
|
|
1978
|
+
* Pages attempted across strategies.
|
|
757
1979
|
*/
|
|
758
1980
|
pagesAttempted: number;
|
|
759
1981
|
/**
|
|
@@ -761,45 +1983,58 @@ export declare namespace TweetGetRepliesResponse {
|
|
|
761
1983
|
*/
|
|
762
1984
|
recommendedFallback: string;
|
|
763
1985
|
/**
|
|
764
|
-
*
|
|
1986
|
+
* Looping cursors rejected.
|
|
765
1987
|
*/
|
|
766
1988
|
repeatedCursorCount: number;
|
|
767
1989
|
/**
|
|
768
|
-
*
|
|
1990
|
+
* Source post reply count.
|
|
769
1991
|
*/
|
|
770
1992
|
reportedReplyCount: number;
|
|
771
1993
|
/**
|
|
772
|
-
*
|
|
1994
|
+
* Requested row limit truncated safe results.
|
|
773
1995
|
*/
|
|
774
1996
|
responseTruncated: boolean;
|
|
775
1997
|
/**
|
|
776
|
-
* Field
|
|
1998
|
+
* Field counts across collected direct replies.
|
|
777
1999
|
*/
|
|
778
2000
|
richness: Diagnostic.Richness;
|
|
779
2001
|
/**
|
|
780
|
-
*
|
|
2002
|
+
* Every source ended. A retry returns the same rows.
|
|
2003
|
+
*/
|
|
2004
|
+
sourcesEnded: boolean;
|
|
2005
|
+
/**
|
|
2006
|
+
* Pagination & contribution evidence per strategy.
|
|
781
2007
|
*/
|
|
782
2008
|
strategiesAttempted: Array<Diagnostic.StrategiesAttempted>;
|
|
783
2009
|
/**
|
|
784
|
-
*
|
|
2010
|
+
* Direct replies required to meet the target.
|
|
785
2011
|
*/
|
|
786
2012
|
targetDirectReplies: number;
|
|
787
2013
|
/**
|
|
788
|
-
* Unique replies
|
|
2014
|
+
* Unique direct replies to the source post.
|
|
789
2015
|
*/
|
|
790
2016
|
uniqueDirectReplies: number;
|
|
791
2017
|
/**
|
|
792
|
-
* Tweets rejected
|
|
2018
|
+
* Tweets rejected from other conversations.
|
|
793
2019
|
*/
|
|
794
2020
|
unrelatedCount: number;
|
|
2021
|
+
/**
|
|
2022
|
+
* Replies are accounted for through the requested scope & depth. Source errors
|
|
2023
|
+
* remain separate.
|
|
2024
|
+
*/
|
|
2025
|
+
replyScopeComplete?: boolean;
|
|
2026
|
+
/**
|
|
2027
|
+
* All child counts are known & match collected replies.
|
|
2028
|
+
*/
|
|
2029
|
+
replyTreeComplete?: boolean;
|
|
795
2030
|
}
|
|
796
2031
|
namespace Diagnostic {
|
|
797
2032
|
/**
|
|
798
|
-
* Field
|
|
2033
|
+
* Field counts across collected direct replies.
|
|
799
2034
|
*/
|
|
800
2035
|
interface Richness {
|
|
801
2036
|
/**
|
|
802
|
-
* Replies with
|
|
2037
|
+
* Replies with articles.
|
|
803
2038
|
*/
|
|
804
2039
|
article: number;
|
|
805
2040
|
/**
|
|
@@ -807,15 +2042,15 @@ export declare namespace TweetGetRepliesResponse {
|
|
|
807
2042
|
*/
|
|
808
2043
|
author: number;
|
|
809
2044
|
/**
|
|
810
|
-
* Replies with
|
|
2045
|
+
* Replies with cards.
|
|
811
2046
|
*/
|
|
812
2047
|
card: number;
|
|
813
2048
|
/**
|
|
814
|
-
* Replies with community
|
|
2049
|
+
* Replies with community notes.
|
|
815
2050
|
*/
|
|
816
2051
|
communityNote: number;
|
|
817
2052
|
/**
|
|
818
|
-
* Replies with
|
|
2053
|
+
* Replies with creation timestamps.
|
|
819
2054
|
*/
|
|
820
2055
|
createdAt: number;
|
|
821
2056
|
/**
|
|
@@ -823,19 +2058,19 @@ export declare namespace TweetGetRepliesResponse {
|
|
|
823
2058
|
*/
|
|
824
2059
|
engagementCounts: number;
|
|
825
2060
|
/**
|
|
826
|
-
* Replies with
|
|
2061
|
+
* Replies with entities.
|
|
827
2062
|
*/
|
|
828
2063
|
entities: number;
|
|
829
2064
|
/**
|
|
830
|
-
* Replies with
|
|
2065
|
+
* Replies with language.
|
|
831
2066
|
*/
|
|
832
2067
|
language: number;
|
|
833
2068
|
/**
|
|
834
|
-
* Replies with media
|
|
2069
|
+
* Replies with media.
|
|
835
2070
|
*/
|
|
836
2071
|
media: number;
|
|
837
2072
|
/**
|
|
838
|
-
* Replies with
|
|
2073
|
+
* Replies with quotes or reposts.
|
|
839
2074
|
*/
|
|
840
2075
|
quotedOrRepostedTweet: number;
|
|
841
2076
|
/**
|
|
@@ -843,36 +2078,184 @@ export declare namespace TweetGetRepliesResponse {
|
|
|
843
2078
|
*/
|
|
844
2079
|
text: number;
|
|
845
2080
|
/**
|
|
846
|
-
*
|
|
2081
|
+
* Unique direct replies evaluated.
|
|
847
2082
|
*/
|
|
848
2083
|
totalReplies: number;
|
|
849
2084
|
/**
|
|
850
|
-
* Replies with
|
|
2085
|
+
* Replies with canonical URLs.
|
|
851
2086
|
*/
|
|
852
2087
|
url: number;
|
|
853
2088
|
}
|
|
2089
|
+
/**
|
|
2090
|
+
* Reply counts & stop reason per strategy.
|
|
2091
|
+
*/
|
|
854
2092
|
interface StrategiesAttempted {
|
|
855
2093
|
name: string;
|
|
2094
|
+
/**
|
|
2095
|
+
* Whole number from 0.
|
|
2096
|
+
*/
|
|
856
2097
|
newDirectReplies: number;
|
|
2098
|
+
/**
|
|
2099
|
+
* Whole number from 0.
|
|
2100
|
+
*/
|
|
857
2101
|
newNestedReplies: number;
|
|
2102
|
+
/**
|
|
2103
|
+
* Whole number from 0.
|
|
2104
|
+
*/
|
|
858
2105
|
pagesAttempted: number;
|
|
859
|
-
stopReason: 'deadline' | 'empty_pages' | 'error' | 'missing_cursor' | 'no_next_page' | 'page_cap' | 'repeated_cursor';
|
|
2106
|
+
stopReason: 'deadline' | 'empty_pages' | 'error' | 'missing_cursor' | 'no_next_page' | 'page_cap' | 'partial_view' | 'repeated_cursor' | 'window_covered' | 'window_passed';
|
|
2107
|
+
/**
|
|
2108
|
+
* For a search of the post's conversation, the page that listed each new direct
|
|
2109
|
+
* reply, from 1.
|
|
2110
|
+
*/
|
|
2111
|
+
newDirectReplyPages?: Array<number>;
|
|
860
2112
|
}
|
|
861
2113
|
}
|
|
2114
|
+
/**
|
|
2115
|
+
* Reply row. A reply the post's author hid carries hiddenByAuthor.
|
|
2116
|
+
*/
|
|
2117
|
+
interface NestedReply extends Shared.SearchTweet {
|
|
2118
|
+
/**
|
|
2119
|
+
* Present on a reply the post's author hid. Complete-mode replies carry it when
|
|
2120
|
+
* includeHidden asks for them.
|
|
2121
|
+
*/
|
|
2122
|
+
hiddenByAuthor?: true;
|
|
2123
|
+
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Reply row. A reply the post's author hid carries hiddenByAuthor.
|
|
2126
|
+
*/
|
|
2127
|
+
interface Tweet extends Shared.SearchTweet {
|
|
2128
|
+
/**
|
|
2129
|
+
* Present on a reply the post's author hid. Complete-mode replies carry it when
|
|
2130
|
+
* includeHidden asks for them.
|
|
2131
|
+
*/
|
|
2132
|
+
hiddenByAuthor?: true;
|
|
2133
|
+
}
|
|
862
2134
|
}
|
|
863
2135
|
/**
|
|
864
|
-
*
|
|
865
|
-
*
|
|
866
|
-
|
|
867
|
-
|
|
2136
|
+
* A page of user IDs without profiles. Follow next_cursor while the response
|
|
2137
|
+
* reports more pages.
|
|
2138
|
+
*/
|
|
2139
|
+
export interface TweetGetRetweeterIDsResponse {
|
|
2140
|
+
has_next_page: boolean;
|
|
2141
|
+
/**
|
|
2142
|
+
* X user IDs, newest relationship first.
|
|
2143
|
+
*/
|
|
2144
|
+
ids: Array<string>;
|
|
2145
|
+
next_cursor: string;
|
|
2146
|
+
}
|
|
2147
|
+
export interface TweetGetSubtitlesResponse {
|
|
2148
|
+
/**
|
|
2149
|
+
* Holds the caption tracks of one tweet's videos.
|
|
2150
|
+
*/
|
|
2151
|
+
subtitles: TweetGetSubtitlesResponse.Subtitles;
|
|
2152
|
+
}
|
|
2153
|
+
export declare namespace TweetGetSubtitlesResponse {
|
|
2154
|
+
/**
|
|
2155
|
+
* Holds the caption tracks of one tweet's videos.
|
|
2156
|
+
*/
|
|
2157
|
+
interface Subtitles {
|
|
2158
|
+
/**
|
|
2159
|
+
* Caption tracks, empty when no video has captions.
|
|
2160
|
+
*/
|
|
2161
|
+
tracks: Array<Subtitles.Track>;
|
|
2162
|
+
/**
|
|
2163
|
+
* ID of the tweet.
|
|
2164
|
+
*/
|
|
2165
|
+
tweetId: string;
|
|
2166
|
+
}
|
|
2167
|
+
namespace Subtitles {
|
|
2168
|
+
/**
|
|
2169
|
+
* Holds one caption track of a video.
|
|
2170
|
+
*/
|
|
2171
|
+
interface Track {
|
|
2172
|
+
/**
|
|
2173
|
+
* True when X transcribed the audio itself.
|
|
2174
|
+
*/
|
|
2175
|
+
autoGenerated: boolean;
|
|
2176
|
+
/**
|
|
2177
|
+
* Timed captions in order.
|
|
2178
|
+
*/
|
|
2179
|
+
cues: Array<Track.Cue>;
|
|
2180
|
+
/**
|
|
2181
|
+
* Every cue's text in order, as one line.
|
|
2182
|
+
*/
|
|
2183
|
+
text: string;
|
|
2184
|
+
/**
|
|
2185
|
+
* True when the track holds more than 50 caption files. The cues then cover the
|
|
2186
|
+
* first 50.
|
|
2187
|
+
*/
|
|
2188
|
+
truncated: boolean;
|
|
2189
|
+
/**
|
|
2190
|
+
* Link to the track's first WebVTT file.
|
|
2191
|
+
*/
|
|
2192
|
+
url: string;
|
|
2193
|
+
/**
|
|
2194
|
+
* Language code of the track, in lower case.
|
|
2195
|
+
*/
|
|
2196
|
+
language?: string;
|
|
2197
|
+
/**
|
|
2198
|
+
* Media key of the video, as media rows carry it.
|
|
2199
|
+
*/
|
|
2200
|
+
mediaKey?: string;
|
|
2201
|
+
/**
|
|
2202
|
+
* Track name the uploader or X gave it.
|
|
2203
|
+
*/
|
|
2204
|
+
name?: string;
|
|
2205
|
+
}
|
|
2206
|
+
namespace Track {
|
|
2207
|
+
interface Cue {
|
|
2208
|
+
/**
|
|
2209
|
+
* End time in milliseconds.
|
|
2210
|
+
*/
|
|
2211
|
+
endMs: number;
|
|
2212
|
+
/**
|
|
2213
|
+
* Start time in milliseconds.
|
|
2214
|
+
*/
|
|
2215
|
+
startMs: number;
|
|
2216
|
+
/**
|
|
2217
|
+
* Caption text, with a line break between lines.
|
|
2218
|
+
*/
|
|
2219
|
+
text: string;
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
export interface TweetResolveLinksResponse {
|
|
2225
|
+
links: Array<TweetResolveLinksResponse.Link>;
|
|
2226
|
+
/**
|
|
2227
|
+
* Links not read, in the order sent. X did not answer for them in time, or
|
|
2228
|
+
* available credits ran out. Send them again.
|
|
2229
|
+
*/
|
|
2230
|
+
unprocessedUrls: Array<string>;
|
|
2231
|
+
}
|
|
2232
|
+
export declare namespace TweetResolveLinksResponse {
|
|
2233
|
+
/**
|
|
2234
|
+
* Pairs one t.co link with the URL it leads to.
|
|
2235
|
+
*/
|
|
2236
|
+
interface Link {
|
|
2237
|
+
/**
|
|
2238
|
+
* The t.co link, as `https://t.co/<code>`.
|
|
2239
|
+
*/
|
|
2240
|
+
url: string;
|
|
2241
|
+
/**
|
|
2242
|
+
* Target URL, as the link's author set it. Xquik does not check it. Absent for a
|
|
2243
|
+
* link t.co does not have.
|
|
2244
|
+
*/
|
|
2245
|
+
resolvedUrl?: string;
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
/**
|
|
2249
|
+
* Follow next_cursor while the response reports more pages. A page can hold fewer
|
|
2250
|
+
* rows than its limit & still report more. That report decides, not the row count.
|
|
2251
|
+
* A page can be empty & still report more, filtered or not. Automatic search, user
|
|
2252
|
+
* Tweet & reply coverage keeps shape, filters, aliases & billing. Unprefixed
|
|
2253
|
+
* cursors are legacy.
|
|
868
2254
|
*/
|
|
869
2255
|
export type TweetSearchResponse = Shared.PaginatedTweets | TweetSearchResponse.TweetSearchCoverageResponse;
|
|
870
2256
|
export declare namespace TweetSearchResponse {
|
|
871
2257
|
/**
|
|
872
|
-
*
|
|
873
|
-
* coverage. Shape, filters, aliases, and billing stay compatible. Unprefixed
|
|
874
|
-
* cursors remain legacy. Follow next_cursor while has_next_page is true. An empty
|
|
875
|
-
* filtered page can still have has_next_page true.
|
|
2258
|
+
* Terminal Tweet search coverage response with diagnostics.
|
|
876
2259
|
*/
|
|
877
2260
|
interface TweetSearchCoverageResponse extends Omit<Shared.PaginatedTweets, 'has_next_page' | 'next_cursor'> {
|
|
878
2261
|
/**
|
|
@@ -888,37 +2271,71 @@ export declare namespace TweetSearchResponse {
|
|
|
888
2271
|
*/
|
|
889
2272
|
interface Diagnostic {
|
|
890
2273
|
/**
|
|
891
|
-
* True
|
|
2274
|
+
* True after all active strategies exhaust their sources. An empty read of the
|
|
2275
|
+
* whole search window also ends its time slices.
|
|
892
2276
|
*/
|
|
893
2277
|
complete: boolean;
|
|
2278
|
+
/**
|
|
2279
|
+
* Whole number from 0.
|
|
2280
|
+
*/
|
|
894
2281
|
cursorFailureCount: number;
|
|
895
2282
|
deadlineReached: boolean;
|
|
2283
|
+
/**
|
|
2284
|
+
* Whole number from 0.
|
|
2285
|
+
*/
|
|
896
2286
|
duplicateCount: number;
|
|
2287
|
+
/**
|
|
2288
|
+
* Whole number from 0.
|
|
2289
|
+
*/
|
|
897
2290
|
failedStrategyCount: number;
|
|
2291
|
+
/**
|
|
2292
|
+
* Whole number from 0.
|
|
2293
|
+
*/
|
|
898
2294
|
malformedCount: number;
|
|
2295
|
+
/**
|
|
2296
|
+
* Whole number from 0.
|
|
2297
|
+
*/
|
|
899
2298
|
pagesFetched: number;
|
|
900
2299
|
/**
|
|
901
2300
|
* Whether bounded time windows ran in parallel.
|
|
902
2301
|
*/
|
|
903
2302
|
partitioned: boolean;
|
|
904
2303
|
/**
|
|
905
|
-
*
|
|
2304
|
+
* True when credits or the requested limit reduce output.
|
|
906
2305
|
*/
|
|
907
2306
|
responseTruncated: boolean;
|
|
908
2307
|
resultLimitReached: boolean;
|
|
909
2308
|
returnedTweets: number;
|
|
2309
|
+
/**
|
|
2310
|
+
* Whole number from 0.
|
|
2311
|
+
*/
|
|
910
2312
|
stalledStrategyCount: number;
|
|
911
2313
|
strategies: Array<Diagnostic.Strategy>;
|
|
912
2314
|
strategyCount: number;
|
|
913
2315
|
uniqueTweets: number;
|
|
914
2316
|
}
|
|
915
2317
|
namespace Diagnostic {
|
|
2318
|
+
/**
|
|
2319
|
+
* Result counts and stop reason for one Tweet search strategy.
|
|
2320
|
+
*/
|
|
916
2321
|
interface Strategy {
|
|
2322
|
+
/**
|
|
2323
|
+
* Whole number from 0.
|
|
2324
|
+
*/
|
|
917
2325
|
duplicateCount: number;
|
|
2326
|
+
/**
|
|
2327
|
+
* Whole number from 0.
|
|
2328
|
+
*/
|
|
918
2329
|
pagesFetched: number;
|
|
919
2330
|
queryType: 'Latest' | 'Top';
|
|
2331
|
+
/**
|
|
2332
|
+
* Reason a coverage strategy stopped.
|
|
2333
|
+
*/
|
|
920
2334
|
stopReason: 'cursor_failure' | 'deadline' | 'exhausted' | 'failed' | 'page_limit' | 'result_limit' | 'stalled';
|
|
921
2335
|
strategy: number;
|
|
2336
|
+
/**
|
|
2337
|
+
* Whole number from 0.
|
|
2338
|
+
*/
|
|
922
2339
|
uniqueAdded: number;
|
|
923
2340
|
/**
|
|
924
2341
|
* Non-overlapping time partition used by one strategy.
|
|
@@ -937,129 +2354,680 @@ export declare namespace TweetSearchResponse {
|
|
|
937
2354
|
}
|
|
938
2355
|
}
|
|
939
2356
|
}
|
|
2357
|
+
export interface TweetTranslateResponse {
|
|
2358
|
+
/**
|
|
2359
|
+
* Holds X's translation of one tweet into the requested language. `entities` holds
|
|
2360
|
+
* the links, mentions, and tags with their offsets in the translated text, and is
|
|
2361
|
+
* empty when the text has none.
|
|
2362
|
+
*/
|
|
2363
|
+
translation: TweetTranslateResponse.Translation;
|
|
2364
|
+
}
|
|
2365
|
+
export declare namespace TweetTranslateResponse {
|
|
2366
|
+
/**
|
|
2367
|
+
* Holds X's translation of one tweet into the requested language. `entities` holds
|
|
2368
|
+
* the links, mentions, and tags with their offsets in the translated text, and is
|
|
2369
|
+
* empty when the text has none.
|
|
2370
|
+
*/
|
|
2371
|
+
interface Translation {
|
|
2372
|
+
/**
|
|
2373
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
2374
|
+
*/
|
|
2375
|
+
entities: Translation.Entities;
|
|
2376
|
+
/**
|
|
2377
|
+
* Language code of the translated text, in lower case.
|
|
2378
|
+
*/
|
|
2379
|
+
language: string;
|
|
2380
|
+
/**
|
|
2381
|
+
* Translated tweet text.
|
|
2382
|
+
*/
|
|
2383
|
+
text: string;
|
|
2384
|
+
/**
|
|
2385
|
+
* ID of the translated tweet.
|
|
2386
|
+
*/
|
|
2387
|
+
tweetId: string;
|
|
2388
|
+
/**
|
|
2389
|
+
* Language code X detects in the tweet, when it names one.
|
|
2390
|
+
*/
|
|
2391
|
+
sourceLanguage?: string;
|
|
2392
|
+
}
|
|
2393
|
+
namespace Translation {
|
|
2394
|
+
/**
|
|
2395
|
+
* Lists hashtags, symbols, links, and mentions from tweet text.
|
|
2396
|
+
*/
|
|
2397
|
+
interface Entities {
|
|
2398
|
+
hashtags?: Array<Entities.Hashtag>;
|
|
2399
|
+
smarttags?: Array<Entities.Smarttag>;
|
|
2400
|
+
symbols?: Array<Entities.Symbol>;
|
|
2401
|
+
timestamps?: Array<Entities.Timestamp>;
|
|
2402
|
+
urls?: Array<Entities.URL>;
|
|
2403
|
+
user_mentions?: Array<Entities.UserMention>;
|
|
2404
|
+
}
|
|
2405
|
+
namespace Entities {
|
|
2406
|
+
/**
|
|
2407
|
+
* Provides hashtag text and source offsets within a tweet.
|
|
2408
|
+
*/
|
|
2409
|
+
interface Hashtag {
|
|
2410
|
+
text: string;
|
|
2411
|
+
indices?: Array<number>;
|
|
2412
|
+
/**
|
|
2413
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2414
|
+
* platforms, which differ by reader.
|
|
2415
|
+
*/
|
|
2416
|
+
tag?: Hashtag.Tag;
|
|
2417
|
+
}
|
|
2418
|
+
namespace Hashtag {
|
|
2419
|
+
/**
|
|
2420
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2421
|
+
* platforms, which differ by reader.
|
|
2422
|
+
*/
|
|
2423
|
+
interface Tag {
|
|
2424
|
+
/**
|
|
2425
|
+
* X's ID for the SmartTag.
|
|
2426
|
+
*/
|
|
2427
|
+
id?: string;
|
|
2428
|
+
info?: Tag.Info;
|
|
2429
|
+
}
|
|
2430
|
+
namespace Tag {
|
|
2431
|
+
interface Info {
|
|
2432
|
+
info?: Info.Info;
|
|
2433
|
+
}
|
|
2434
|
+
namespace Info {
|
|
2435
|
+
interface Info {
|
|
2436
|
+
/**
|
|
2437
|
+
* Whether X marks the SmartTag active.
|
|
2438
|
+
*/
|
|
2439
|
+
active?: boolean;
|
|
2440
|
+
name?: string;
|
|
2441
|
+
ticker?: string;
|
|
2442
|
+
}
|
|
2443
|
+
}
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
/**
|
|
2447
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
2448
|
+
*/
|
|
2449
|
+
interface Smarttag {
|
|
2450
|
+
indices?: Array<number>;
|
|
2451
|
+
seconds?: number;
|
|
2452
|
+
/**
|
|
2453
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2454
|
+
* platforms, which differ by reader.
|
|
2455
|
+
*/
|
|
2456
|
+
tag?: Smarttag.Tag;
|
|
2457
|
+
text?: string;
|
|
2458
|
+
}
|
|
2459
|
+
namespace Smarttag {
|
|
2460
|
+
/**
|
|
2461
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2462
|
+
* platforms, which differ by reader.
|
|
2463
|
+
*/
|
|
2464
|
+
interface Tag {
|
|
2465
|
+
/**
|
|
2466
|
+
* X's ID for the SmartTag.
|
|
2467
|
+
*/
|
|
2468
|
+
id?: string;
|
|
2469
|
+
info?: Tag.Info;
|
|
2470
|
+
}
|
|
2471
|
+
namespace Tag {
|
|
2472
|
+
interface Info {
|
|
2473
|
+
info?: Info.Info;
|
|
2474
|
+
}
|
|
2475
|
+
namespace Info {
|
|
2476
|
+
interface Info {
|
|
2477
|
+
/**
|
|
2478
|
+
* Whether X marks the SmartTag active.
|
|
2479
|
+
*/
|
|
2480
|
+
active?: boolean;
|
|
2481
|
+
name?: string;
|
|
2482
|
+
ticker?: string;
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
}
|
|
2486
|
+
}
|
|
2487
|
+
/**
|
|
2488
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
2489
|
+
*/
|
|
2490
|
+
interface Symbol {
|
|
2491
|
+
indices?: Array<number>;
|
|
2492
|
+
seconds?: number;
|
|
2493
|
+
/**
|
|
2494
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2495
|
+
* platforms, which differ by reader.
|
|
2496
|
+
*/
|
|
2497
|
+
tag?: Symbol.Tag;
|
|
2498
|
+
text?: string;
|
|
2499
|
+
}
|
|
2500
|
+
namespace Symbol {
|
|
2501
|
+
/**
|
|
2502
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2503
|
+
* platforms, which differ by reader.
|
|
2504
|
+
*/
|
|
2505
|
+
interface Tag {
|
|
2506
|
+
/**
|
|
2507
|
+
* X's ID for the SmartTag.
|
|
2508
|
+
*/
|
|
2509
|
+
id?: string;
|
|
2510
|
+
info?: Tag.Info;
|
|
2511
|
+
}
|
|
2512
|
+
namespace Tag {
|
|
2513
|
+
interface Info {
|
|
2514
|
+
info?: Info.Info;
|
|
2515
|
+
}
|
|
2516
|
+
namespace Info {
|
|
2517
|
+
interface Info {
|
|
2518
|
+
/**
|
|
2519
|
+
* Whether X marks the SmartTag active.
|
|
2520
|
+
*/
|
|
2521
|
+
active?: boolean;
|
|
2522
|
+
name?: string;
|
|
2523
|
+
ticker?: string;
|
|
2524
|
+
}
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
}
|
|
2528
|
+
/**
|
|
2529
|
+
* Indexed smart-tag, cashtag, or video timestamp metadata.
|
|
2530
|
+
*/
|
|
2531
|
+
interface Timestamp {
|
|
2532
|
+
indices?: Array<number>;
|
|
2533
|
+
seconds?: number;
|
|
2534
|
+
/**
|
|
2535
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2536
|
+
* platforms, which differ by reader.
|
|
2537
|
+
*/
|
|
2538
|
+
tag?: Timestamp.Tag;
|
|
2539
|
+
text?: string;
|
|
2540
|
+
}
|
|
2541
|
+
namespace Timestamp {
|
|
2542
|
+
/**
|
|
2543
|
+
* X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
|
|
2544
|
+
* platforms, which differ by reader.
|
|
2545
|
+
*/
|
|
2546
|
+
interface Tag {
|
|
2547
|
+
/**
|
|
2548
|
+
* X's ID for the SmartTag.
|
|
2549
|
+
*/
|
|
2550
|
+
id?: string;
|
|
2551
|
+
info?: Tag.Info;
|
|
2552
|
+
}
|
|
2553
|
+
namespace Tag {
|
|
2554
|
+
interface Info {
|
|
2555
|
+
info?: Info.Info;
|
|
2556
|
+
}
|
|
2557
|
+
namespace Info {
|
|
2558
|
+
interface Info {
|
|
2559
|
+
/**
|
|
2560
|
+
* Whether X marks the SmartTag active.
|
|
2561
|
+
*/
|
|
2562
|
+
active?: boolean;
|
|
2563
|
+
name?: string;
|
|
2564
|
+
ticker?: string;
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
/**
|
|
2570
|
+
* Provides shortened, display, and expanded URLs from tweet text.
|
|
2571
|
+
*/
|
|
2572
|
+
interface URL {
|
|
2573
|
+
display_url?: string;
|
|
2574
|
+
expanded_url?: string;
|
|
2575
|
+
indices?: Array<number>;
|
|
2576
|
+
url?: string;
|
|
2577
|
+
}
|
|
2578
|
+
/**
|
|
2579
|
+
* Provides profile identity and source offsets for a mention.
|
|
2580
|
+
*/
|
|
2581
|
+
interface UserMention {
|
|
2582
|
+
screen_name: string;
|
|
2583
|
+
id_str?: string;
|
|
2584
|
+
indices?: Array<number>;
|
|
2585
|
+
name?: string;
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
}
|
|
2589
|
+
}
|
|
940
2590
|
export interface TweetCreateParams {
|
|
941
2591
|
/**
|
|
942
|
-
* Body param: X account (@username or account ID)
|
|
2592
|
+
* Body param: X account (@username or account ID)
|
|
2593
|
+
*/
|
|
2594
|
+
account: string;
|
|
2595
|
+
/**
|
|
2596
|
+
* Header param: Use one unique value per intended write. Reuse it only for an
|
|
2597
|
+
* identical retry. A matching retry returns the first answer again, with
|
|
2598
|
+
* idempotent: true added. It keeps the first status, body & Retry-After. It sends
|
|
2599
|
+
* nothing to X & charges nothing. While the first request runs, a retry returns
|
|
2600
|
+
* 202 & the action. Different input returns 409. Protection lasts at least 90
|
|
2601
|
+
* days.
|
|
2602
|
+
*/
|
|
2603
|
+
'Idempotency-Key': string;
|
|
2604
|
+
/**
|
|
2605
|
+
* Body param: The Community to post into, from 1 to 19 digits. The account must be
|
|
2606
|
+
* a member. Xquik picks the Community in X's composer, checks the post request
|
|
2607
|
+
* names it & reads the post after. A post X puts outside the Community is deleted
|
|
2608
|
+
* & fails uncharged. Not with `reply_to_tweet_id`, since X keeps replies public.
|
|
2609
|
+
*/
|
|
2610
|
+
community_id?: string;
|
|
2611
|
+
/**
|
|
2612
|
+
* Body param
|
|
2613
|
+
*/
|
|
2614
|
+
is_note_tweet?: boolean;
|
|
2615
|
+
/**
|
|
2616
|
+
* Body param: Publicly reachable URLs of up to 4 images or exactly 1 MP4 video up
|
|
2617
|
+
* to 100 MB. Media adds 2 credits per started MB across all files.
|
|
2618
|
+
*/
|
|
2619
|
+
media?: Array<string>;
|
|
2620
|
+
/**
|
|
2621
|
+
* Body param: The post to reply to. Any X post ID works, from 1 to 19 digits.
|
|
2622
|
+
*/
|
|
2623
|
+
reply_to_tweet_id?: string;
|
|
2624
|
+
/**
|
|
2625
|
+
* Body param: Tweet text (optional when media is provided)
|
|
2626
|
+
*/
|
|
2627
|
+
text?: string;
|
|
2628
|
+
}
|
|
2629
|
+
export interface TweetRetrieveParams {
|
|
2630
|
+
/**
|
|
2631
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2632
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2633
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2634
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2635
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2636
|
+
* named fields.
|
|
2637
|
+
*/
|
|
2638
|
+
fields?: string;
|
|
2639
|
+
/**
|
|
2640
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2641
|
+
* fields. With fields, it drops from the kept fields.
|
|
2642
|
+
*/
|
|
2643
|
+
omit?: string;
|
|
2644
|
+
}
|
|
2645
|
+
export interface TweetListParams {
|
|
2646
|
+
/**
|
|
2647
|
+
* 1 to 100 posts, separated by commas. Each is a tweet ID or a tweet URL, such as
|
|
2648
|
+
* x.com/nasa/status/20. A post named twice is read once. Any other entry is
|
|
2649
|
+
* skipped & listed under `skipped` with why. A batch without 1 post gets 400
|
|
2650
|
+
* `invalid_tweet_id`.
|
|
2651
|
+
*/
|
|
2652
|
+
ids: string;
|
|
2653
|
+
/**
|
|
2654
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2655
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2656
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2657
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2658
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2659
|
+
* named fields.
|
|
2660
|
+
*/
|
|
2661
|
+
fields?: string;
|
|
2662
|
+
/**
|
|
2663
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2664
|
+
* fields. With fields, it drops from the kept fields.
|
|
2665
|
+
*/
|
|
2666
|
+
omit?: string;
|
|
2667
|
+
}
|
|
2668
|
+
export interface TweetDeleteParams {
|
|
2669
|
+
/**
|
|
2670
|
+
* Body param: X account identifier (@username or account ID)
|
|
2671
|
+
*/
|
|
2672
|
+
account: string;
|
|
2673
|
+
/**
|
|
2674
|
+
* Header param: Use one unique value per intended write. Reuse it only for an
|
|
2675
|
+
* identical retry. A matching retry returns the first answer again, with
|
|
2676
|
+
* idempotent: true added. It keeps the first status, body & Retry-After. It sends
|
|
2677
|
+
* nothing to X & charges nothing. While the first request runs, a retry returns
|
|
2678
|
+
* 202 & the action. Different input returns 409. Protection lasts at least 90
|
|
2679
|
+
* days.
|
|
2680
|
+
*/
|
|
2681
|
+
'Idempotency-Key': string;
|
|
2682
|
+
}
|
|
2683
|
+
export interface TweetCheckRepostParams {
|
|
2684
|
+
/**
|
|
2685
|
+
* User ID, username with or without @, or profile URL.
|
|
2686
|
+
*/
|
|
2687
|
+
user: string;
|
|
2688
|
+
/**
|
|
2689
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2690
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2691
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2692
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2693
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2694
|
+
* named fields.
|
|
2695
|
+
*/
|
|
2696
|
+
fields?: string;
|
|
2697
|
+
/**
|
|
2698
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2699
|
+
* fields. With fields, it drops from the kept fields.
|
|
2700
|
+
*/
|
|
2701
|
+
omit?: string;
|
|
2702
|
+
}
|
|
2703
|
+
export interface TweetEmbedParams {
|
|
2704
|
+
/**
|
|
2705
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2706
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2707
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2708
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2709
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2710
|
+
* named fields.
|
|
2711
|
+
*/
|
|
2712
|
+
fields?: string;
|
|
2713
|
+
/**
|
|
2714
|
+
* Set `true` to leave photos, videos, and link cards out.
|
|
2715
|
+
*/
|
|
2716
|
+
hideMedia?: boolean;
|
|
2717
|
+
/**
|
|
2718
|
+
* Set `true` to leave the tweet this one replies to out.
|
|
2719
|
+
*/
|
|
2720
|
+
hideThread?: boolean;
|
|
2721
|
+
/**
|
|
2722
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2723
|
+
* fields. With fields, it drops from the kept fields.
|
|
2724
|
+
*/
|
|
2725
|
+
omit?: string;
|
|
2726
|
+
/**
|
|
2727
|
+
* Set `true` to leave the widget script tag out, for pages that load it once
|
|
2728
|
+
* themselves.
|
|
2729
|
+
*/
|
|
2730
|
+
omitScript?: boolean;
|
|
2731
|
+
/**
|
|
2732
|
+
* Color theme of the embed. X uses light when left out.
|
|
2733
|
+
*/
|
|
2734
|
+
theme?: 'light' | 'dark';
|
|
2735
|
+
}
|
|
2736
|
+
export interface TweetGetFavoritersParams {
|
|
2737
|
+
/**
|
|
2738
|
+
* Match any comma-separated or line-separated bio term, ignoring case.
|
|
2739
|
+
*/
|
|
2740
|
+
bioContains?: string;
|
|
2741
|
+
/**
|
|
2742
|
+
* Only return profiles X marks as blue verified. X marks many business &
|
|
2743
|
+
* government accounts blue too. Use verifiedType for 1 badge type.
|
|
2744
|
+
*/
|
|
2745
|
+
blueVerifiedOnly?: boolean;
|
|
2746
|
+
/**
|
|
2747
|
+
* Only return profiles that publish an email outside free webmail, such as Gmail.
|
|
2748
|
+
*/
|
|
2749
|
+
businessEmailOnly?: boolean;
|
|
2750
|
+
/**
|
|
2751
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
2752
|
+
* pagination_token or continuation_token.
|
|
2753
|
+
*/
|
|
2754
|
+
cursor?: string;
|
|
2755
|
+
/**
|
|
2756
|
+
* Only return profiles with an email at one of these domains. Separate domains
|
|
2757
|
+
* with commas. Subdomains match.
|
|
2758
|
+
*/
|
|
2759
|
+
emailDomains?: string;
|
|
2760
|
+
/**
|
|
2761
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2762
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2763
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2764
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2765
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2766
|
+
* named fields.
|
|
2767
|
+
*/
|
|
2768
|
+
fields?: string;
|
|
2769
|
+
/**
|
|
2770
|
+
* Only return profiles that publish an email.
|
|
2771
|
+
*/
|
|
2772
|
+
hasEmail?: boolean;
|
|
2773
|
+
/**
|
|
2774
|
+
* Only return profiles with a location.
|
|
2775
|
+
*/
|
|
2776
|
+
hasLocation?: boolean;
|
|
2777
|
+
/**
|
|
2778
|
+
* Only return profiles with a website.
|
|
2779
|
+
*/
|
|
2780
|
+
hasWebsite?: boolean;
|
|
2781
|
+
/**
|
|
2782
|
+
* Match a location substring, ignoring case.
|
|
2783
|
+
*/
|
|
2784
|
+
locationContains?: string;
|
|
2785
|
+
/**
|
|
2786
|
+
* Maximum follower count. Missing counts pass this maximum.
|
|
2787
|
+
*/
|
|
2788
|
+
maxFollowers?: number;
|
|
2789
|
+
/**
|
|
2790
|
+
* Profiles may follow at most this many accounts.
|
|
2791
|
+
*/
|
|
2792
|
+
maxFollowing?: number;
|
|
2793
|
+
/**
|
|
2794
|
+
* Maximum post count. maxPosts is also accepted.
|
|
2795
|
+
*/
|
|
2796
|
+
maxStatuses?: number;
|
|
2797
|
+
/**
|
|
2798
|
+
* Minimum account age in whole days.
|
|
2799
|
+
*/
|
|
2800
|
+
minAccountAgeDays?: number;
|
|
2801
|
+
/**
|
|
2802
|
+
* Minimum follower count. Filtering happens before billing.
|
|
2803
|
+
*/
|
|
2804
|
+
minFollowers?: number;
|
|
2805
|
+
/**
|
|
2806
|
+
* Profiles must follow at least this many accounts.
|
|
2807
|
+
*/
|
|
2808
|
+
minFollowing?: number;
|
|
2809
|
+
/**
|
|
2810
|
+
* Minimum post count. minPosts is also accepted.
|
|
2811
|
+
*/
|
|
2812
|
+
minStatuses?: number;
|
|
2813
|
+
/**
|
|
2814
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2815
|
+
* fields. With fields, it drops from the kept fields.
|
|
2816
|
+
*/
|
|
2817
|
+
omit?: string;
|
|
2818
|
+
/**
|
|
2819
|
+
* Profiles to request from this page (1-200, default 200). Source, filters or
|
|
2820
|
+
* credits can return fewer. Follow next_cursor for more pages. Aliases: limit,
|
|
2821
|
+
* count, max_results, maxItems, max_items & per_page.
|
|
2822
|
+
*/
|
|
2823
|
+
pageSize?: number;
|
|
2824
|
+
/**
|
|
2825
|
+
* Match a username substring, ignoring case.
|
|
2826
|
+
*/
|
|
2827
|
+
usernameContains?: string;
|
|
2828
|
+
/**
|
|
2829
|
+
* Only return verified profiles.
|
|
2830
|
+
*/
|
|
2831
|
+
verifiedOnly?: boolean;
|
|
2832
|
+
/**
|
|
2833
|
+
* Match the verification type exactly, ignoring case.
|
|
2834
|
+
*/
|
|
2835
|
+
verifiedType?: string;
|
|
2836
|
+
}
|
|
2837
|
+
export interface TweetGetHiddenRepliesParams {
|
|
2838
|
+
/**
|
|
2839
|
+
* Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
2840
|
+
* or lines.
|
|
2841
|
+
*/
|
|
2842
|
+
anyWords?: string;
|
|
2843
|
+
/**
|
|
2844
|
+
* Only return tweets from Blue-verified authors.
|
|
2845
|
+
*/
|
|
2846
|
+
blueVerifiedOnly?: boolean;
|
|
2847
|
+
/**
|
|
2848
|
+
* Cashtags separated by spaces, commas, or lines.
|
|
2849
|
+
*/
|
|
2850
|
+
cashtags?: string;
|
|
2851
|
+
/**
|
|
2852
|
+
* Conversation ID filter.
|
|
2853
|
+
*/
|
|
2854
|
+
conversationId?: string;
|
|
2855
|
+
/**
|
|
2856
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
2857
|
+
* pagination_token or continuation_token.
|
|
2858
|
+
*/
|
|
2859
|
+
cursor?: string;
|
|
2860
|
+
/**
|
|
2861
|
+
* Match this literal phrase, including any hyphens.
|
|
2862
|
+
*/
|
|
2863
|
+
exactPhrase?: string;
|
|
2864
|
+
/**
|
|
2865
|
+
* Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
2866
|
+
*/
|
|
2867
|
+
excludeWords?: string;
|
|
2868
|
+
/**
|
|
2869
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
2870
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
2871
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
2872
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
2873
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
2874
|
+
* named fields.
|
|
943
2875
|
*/
|
|
944
|
-
|
|
2876
|
+
fields?: string;
|
|
945
2877
|
/**
|
|
946
|
-
*
|
|
947
|
-
* when retrying the exact same account, action, target, and payload. A reused key
|
|
948
|
-
* returns the original action. Reusing it with different input returns 409. Replay
|
|
949
|
-
* protection remains active for at least 90 days.
|
|
2878
|
+
* Filter by author username.
|
|
950
2879
|
*/
|
|
951
|
-
|
|
2880
|
+
fromUser?: string;
|
|
952
2881
|
/**
|
|
953
|
-
*
|
|
2882
|
+
* Hashtags separated by spaces, commas, or lines.
|
|
954
2883
|
*/
|
|
955
|
-
|
|
2884
|
+
hashtags?: string;
|
|
956
2885
|
/**
|
|
957
|
-
*
|
|
2886
|
+
* Only replies to this tweet ID.
|
|
958
2887
|
*/
|
|
959
|
-
|
|
2888
|
+
inReplyToTweetId?: string;
|
|
960
2889
|
/**
|
|
961
|
-
*
|
|
962
|
-
* exactly 1 MP4 video up to 100 MB. Each URL must be publicly reachable. Attached
|
|
963
|
-
* media adds 2 credits per started MB across all files.
|
|
2890
|
+
* Filter by language. Alias `lang` is accepted.
|
|
964
2891
|
*/
|
|
965
|
-
|
|
2892
|
+
language?: string;
|
|
966
2893
|
/**
|
|
967
|
-
*
|
|
2894
|
+
* Maximum likes threshold. maxLikes & max_likes also work.
|
|
968
2895
|
*/
|
|
969
|
-
|
|
2896
|
+
maxFaves?: number;
|
|
970
2897
|
/**
|
|
971
|
-
*
|
|
2898
|
+
* Return Tweets at or below this ID.
|
|
972
2899
|
*/
|
|
973
|
-
|
|
974
|
-
}
|
|
975
|
-
export interface TweetListParams {
|
|
2900
|
+
maxId?: string;
|
|
976
2901
|
/**
|
|
977
|
-
*
|
|
2902
|
+
* Maximum quotes threshold.
|
|
978
2903
|
*/
|
|
979
|
-
|
|
980
|
-
}
|
|
981
|
-
export interface TweetDeleteParams {
|
|
2904
|
+
maxQuotes?: number;
|
|
982
2905
|
/**
|
|
983
|
-
*
|
|
2906
|
+
* Maximum replies threshold.
|
|
984
2907
|
*/
|
|
985
|
-
|
|
2908
|
+
maxReplies?: number;
|
|
986
2909
|
/**
|
|
987
|
-
*
|
|
988
|
-
* when retrying the exact same account, action, target, and payload. A reused key
|
|
989
|
-
* returns the original action. Reusing it with different input returns 409. Replay
|
|
990
|
-
* protection remains active for at least 90 days.
|
|
2910
|
+
* Maximum retweets threshold.
|
|
991
2911
|
*/
|
|
992
|
-
|
|
993
|
-
}
|
|
994
|
-
export interface TweetGetFavoritersParams {
|
|
2912
|
+
maxRetweets?: number;
|
|
995
2913
|
/**
|
|
996
|
-
*
|
|
2914
|
+
* Filter media. Aliases: has_video, has_media.
|
|
997
2915
|
*/
|
|
998
|
-
|
|
2916
|
+
mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
|
|
999
2917
|
/**
|
|
1000
|
-
*
|
|
2918
|
+
* Filter tweets mentioning a username.
|
|
1001
2919
|
*/
|
|
1002
|
-
|
|
2920
|
+
mentioning?: string;
|
|
1003
2921
|
/**
|
|
1004
|
-
*
|
|
2922
|
+
* Minimum bookmark count threshold.
|
|
1005
2923
|
*/
|
|
1006
|
-
|
|
2924
|
+
minBookmarks?: number;
|
|
1007
2925
|
/**
|
|
1008
|
-
*
|
|
2926
|
+
* Minimum likes. Aliases: minFaves, min_likes, min_faves.
|
|
1009
2927
|
*/
|
|
1010
|
-
|
|
2928
|
+
minLikes?: number;
|
|
1011
2929
|
/**
|
|
1012
|
-
*
|
|
2930
|
+
* Minimum quote count threshold.
|
|
1013
2931
|
*/
|
|
1014
|
-
|
|
2932
|
+
minQuotes?: number;
|
|
1015
2933
|
/**
|
|
1016
|
-
*
|
|
2934
|
+
* Minimum replies threshold.
|
|
1017
2935
|
*/
|
|
1018
|
-
|
|
2936
|
+
minReplies?: number;
|
|
1019
2937
|
/**
|
|
1020
|
-
*
|
|
2938
|
+
* Minimum retweets threshold.
|
|
1021
2939
|
*/
|
|
1022
|
-
|
|
2940
|
+
minRetweets?: number;
|
|
1023
2941
|
/**
|
|
1024
|
-
*
|
|
2942
|
+
* Minimum view count threshold.
|
|
1025
2943
|
*/
|
|
1026
|
-
|
|
2944
|
+
minViews?: number;
|
|
1027
2945
|
/**
|
|
1028
|
-
*
|
|
2946
|
+
* Only return native reposts.
|
|
1029
2947
|
*/
|
|
1030
|
-
|
|
2948
|
+
nativeRetweets?: boolean;
|
|
1031
2949
|
/**
|
|
1032
|
-
*
|
|
2950
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
2951
|
+
* fields. With fields, it drops from the kept fields.
|
|
1033
2952
|
*/
|
|
1034
|
-
|
|
2953
|
+
omit?: string;
|
|
1035
2954
|
/**
|
|
1036
|
-
*
|
|
2955
|
+
* Items per page (1-100, default 20). Source, filters or credits can return fewer.
|
|
2956
|
+
* Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
|
|
2957
|
+
* max_items & per_page.
|
|
1037
2958
|
*/
|
|
1038
|
-
|
|
2959
|
+
pageSize?: number;
|
|
1039
2960
|
/**
|
|
1040
|
-
*
|
|
2961
|
+
* Only when the caller requests a quote mode.
|
|
1041
2962
|
*/
|
|
1042
|
-
|
|
2963
|
+
quotes?: 'include' | 'exclude' | 'only';
|
|
1043
2964
|
/**
|
|
1044
|
-
*
|
|
1045
|
-
* filters, or credits can return fewer profiles. Keep requesting next_cursor while
|
|
1046
|
-
* has_next_page is true. Deprecated aliases remain accepted.
|
|
2965
|
+
* Only quotes of this tweet ID.
|
|
1047
2966
|
*/
|
|
1048
|
-
|
|
2967
|
+
quotesOfTweetId?: string;
|
|
1049
2968
|
/**
|
|
1050
|
-
*
|
|
2969
|
+
* Reply mode. Exclude keeps own-thread replies.
|
|
1051
2970
|
*/
|
|
1052
|
-
|
|
2971
|
+
replies?: 'include' | 'exclude' | 'only';
|
|
1053
2972
|
/**
|
|
1054
|
-
* Only
|
|
2973
|
+
* Only when the caller requests a repost mode.
|
|
2974
|
+
*/
|
|
2975
|
+
retweets?: 'include' | 'exclude' | 'only';
|
|
2976
|
+
/**
|
|
2977
|
+
* Only retweets of this tweet ID.
|
|
2978
|
+
*/
|
|
2979
|
+
retweetsOfTweetId?: string;
|
|
2980
|
+
/**
|
|
2981
|
+
* Start date in YYYY-MM-DD format, as a UTC day.
|
|
2982
|
+
*/
|
|
2983
|
+
sinceDate?: string;
|
|
2984
|
+
/**
|
|
2985
|
+
* Return Tweets whose IDs exceed this ID.
|
|
2986
|
+
*/
|
|
2987
|
+
sinceId?: string;
|
|
2988
|
+
/**
|
|
2989
|
+
* Filter replies sent to a username.
|
|
2990
|
+
*/
|
|
2991
|
+
toUser?: string;
|
|
2992
|
+
/**
|
|
2993
|
+
* End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
|
|
2994
|
+
*/
|
|
2995
|
+
untilDate?: string;
|
|
2996
|
+
/**
|
|
2997
|
+
* URL substring or domain filter.
|
|
2998
|
+
*/
|
|
2999
|
+
url?: string;
|
|
3000
|
+
/**
|
|
3001
|
+
* Only return tweets from verified authors.
|
|
1055
3002
|
*/
|
|
1056
3003
|
verifiedOnly?: boolean;
|
|
1057
3004
|
/**
|
|
1058
|
-
*
|
|
3005
|
+
* Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
|
|
3006
|
+
* h or d.
|
|
1059
3007
|
*/
|
|
1060
|
-
|
|
3008
|
+
withinTime?: string;
|
|
3009
|
+
}
|
|
3010
|
+
export interface TweetGetInsightsParams {
|
|
3011
|
+
/**
|
|
3012
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3013
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3014
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3015
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3016
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3017
|
+
* named fields.
|
|
3018
|
+
*/
|
|
3019
|
+
fields?: string;
|
|
3020
|
+
/**
|
|
3021
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3022
|
+
* fields. With fields, it drops from the kept fields.
|
|
3023
|
+
*/
|
|
3024
|
+
omit?: string;
|
|
1061
3025
|
}
|
|
1062
3026
|
export interface TweetGetQuotesParams {
|
|
3027
|
+
/**
|
|
3028
|
+
* Raw advanced search query appended as-is.
|
|
3029
|
+
*/
|
|
3030
|
+
advancedQuery?: string;
|
|
1063
3031
|
/**
|
|
1064
3032
|
* Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
1065
3033
|
* or lines.
|
|
@@ -1070,7 +3038,12 @@ export interface TweetGetQuotesParams {
|
|
|
1070
3038
|
*/
|
|
1071
3039
|
blueVerifiedOnly?: boolean;
|
|
1072
3040
|
/**
|
|
1073
|
-
*
|
|
3041
|
+
* Geo bounding box, e.g. -74.1 40.6 -73.9 40.8.
|
|
3042
|
+
*/
|
|
3043
|
+
boundingBox?: string;
|
|
3044
|
+
/**
|
|
3045
|
+
* Keep only Tweets with this card type, such as poll2choice_text_only. Tweet
|
|
3046
|
+
* search checks each Tweet's card.
|
|
1074
3047
|
*/
|
|
1075
3048
|
cardName?: string;
|
|
1076
3049
|
/**
|
|
@@ -1082,27 +3055,40 @@ export interface TweetGetQuotesParams {
|
|
|
1082
3055
|
*/
|
|
1083
3056
|
conversationId?: string;
|
|
1084
3057
|
/**
|
|
1085
|
-
*
|
|
3058
|
+
* Cursor from the previous response. Existing unprefixed cursors keep legacy
|
|
3059
|
+
* standard behavior. Pages can be empty before more rows; follow next_cursor. Also
|
|
3060
|
+
* read as next_cursor, next_token, pagination_token or continuation_token.
|
|
1086
3061
|
*/
|
|
1087
3062
|
cursor?: string;
|
|
1088
3063
|
/**
|
|
1089
|
-
*
|
|
3064
|
+
* Match this literal phrase, including any hyphens.
|
|
1090
3065
|
*/
|
|
1091
3066
|
exactPhrase?: string;
|
|
1092
3067
|
/**
|
|
1093
|
-
*
|
|
3068
|
+
* X search no longer supports excludeSource. A Tweet search with it answers 424 &
|
|
3069
|
+
* charges nothing.
|
|
1094
3070
|
*/
|
|
1095
3071
|
excludeSource?: string;
|
|
1096
3072
|
/**
|
|
1097
3073
|
* Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
1098
3074
|
*/
|
|
1099
3075
|
excludeWords?: string;
|
|
3076
|
+
/**
|
|
3077
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3078
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3079
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3080
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3081
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3082
|
+
* named fields.
|
|
3083
|
+
*/
|
|
3084
|
+
fields?: string;
|
|
1100
3085
|
/**
|
|
1101
3086
|
* Filter by author username.
|
|
1102
3087
|
*/
|
|
1103
3088
|
fromUser?: string;
|
|
1104
3089
|
/**
|
|
1105
|
-
*
|
|
3090
|
+
* X search no longer supports geocode. A Tweet search with it answers 424 &
|
|
3091
|
+
* charges nothing.
|
|
1106
3092
|
*/
|
|
1107
3093
|
geocode?: string;
|
|
1108
3094
|
/**
|
|
@@ -1110,7 +3096,9 @@ export interface TweetGetQuotesParams {
|
|
|
1110
3096
|
*/
|
|
1111
3097
|
hashtags?: string;
|
|
1112
3098
|
/**
|
|
1113
|
-
*
|
|
3099
|
+
* Keep replies that quote the post. Automatic pages keep them unless this is
|
|
3100
|
+
* false. Standard pages keep them only when it is true. Explicit replies takes
|
|
3101
|
+
* precedence.
|
|
1114
3102
|
*/
|
|
1115
3103
|
includeReplies?: boolean;
|
|
1116
3104
|
/**
|
|
@@ -1118,15 +3106,23 @@ export interface TweetGetQuotesParams {
|
|
|
1118
3106
|
*/
|
|
1119
3107
|
inReplyToTweetId?: string;
|
|
1120
3108
|
/**
|
|
1121
|
-
*
|
|
3109
|
+
* Words the Tweets must match, in X search syntax.
|
|
3110
|
+
*/
|
|
3111
|
+
keywords?: string;
|
|
3112
|
+
/**
|
|
3113
|
+
* Filter by language. Alias `lang` is accepted.
|
|
1122
3114
|
*/
|
|
1123
3115
|
language?: string;
|
|
1124
3116
|
/**
|
|
1125
|
-
*
|
|
3117
|
+
* Search within a list ID.
|
|
3118
|
+
*/
|
|
3119
|
+
listId?: string;
|
|
3120
|
+
/**
|
|
3121
|
+
* Maximum likes threshold. maxLikes & max_likes also work.
|
|
1126
3122
|
*/
|
|
1127
3123
|
maxFaves?: number;
|
|
1128
3124
|
/**
|
|
1129
|
-
* Return Tweets
|
|
3125
|
+
* Return Tweets at or below this ID.
|
|
1130
3126
|
*/
|
|
1131
3127
|
maxId?: string;
|
|
1132
3128
|
/**
|
|
@@ -1142,7 +3138,7 @@ export interface TweetGetQuotesParams {
|
|
|
1142
3138
|
*/
|
|
1143
3139
|
maxRetweets?: number;
|
|
1144
3140
|
/**
|
|
1145
|
-
* Filter
|
|
3141
|
+
* Filter media. Aliases: has_video, has_media.
|
|
1146
3142
|
*/
|
|
1147
3143
|
mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
|
|
1148
3144
|
/**
|
|
@@ -1154,9 +3150,13 @@ export interface TweetGetQuotesParams {
|
|
|
1154
3150
|
*/
|
|
1155
3151
|
minBookmarks?: number;
|
|
1156
3152
|
/**
|
|
1157
|
-
*
|
|
3153
|
+
* @deprecated Use minLikes instead. The API still reads minFaves.
|
|
1158
3154
|
*/
|
|
1159
3155
|
minFaves?: number;
|
|
3156
|
+
/**
|
|
3157
|
+
* Minimum likes. Aliases: minFaves, min_likes, min_faves.
|
|
3158
|
+
*/
|
|
3159
|
+
minLikes?: number;
|
|
1160
3160
|
/**
|
|
1161
3161
|
* Minimum quote count threshold.
|
|
1162
3162
|
*/
|
|
@@ -1173,6 +3173,11 @@ export interface TweetGetQuotesParams {
|
|
|
1173
3173
|
* Minimum view count threshold.
|
|
1174
3174
|
*/
|
|
1175
3175
|
minViews?: number;
|
|
3176
|
+
/**
|
|
3177
|
+
* Optional legacy pagination override. Search-only filters such as keywords apply
|
|
3178
|
+
* only without it.
|
|
3179
|
+
*/
|
|
3180
|
+
mode?: 'standard';
|
|
1176
3181
|
/**
|
|
1177
3182
|
* Only return native reposts.
|
|
1178
3183
|
*/
|
|
@@ -1182,17 +3187,41 @@ export interface TweetGetQuotesParams {
|
|
|
1182
3187
|
*/
|
|
1183
3188
|
near?: string;
|
|
1184
3189
|
/**
|
|
1185
|
-
*
|
|
3190
|
+
* X no longer searches filter:news.
|
|
1186
3191
|
*/
|
|
1187
3192
|
news?: boolean;
|
|
1188
3193
|
/**
|
|
1189
|
-
*
|
|
1190
|
-
*
|
|
1191
|
-
|
|
3194
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3195
|
+
* fields. With fields, it drops from the kept fields.
|
|
3196
|
+
*/
|
|
3197
|
+
omit?: string;
|
|
3198
|
+
/**
|
|
3199
|
+
* Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow
|
|
3200
|
+
* next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
|
|
3201
|
+
* max_items & per_page.
|
|
1192
3202
|
*/
|
|
1193
3203
|
pageSize?: number;
|
|
1194
3204
|
/**
|
|
1195
|
-
*
|
|
3205
|
+
* Search within a place ID.
|
|
3206
|
+
*/
|
|
3207
|
+
place?: string;
|
|
3208
|
+
/**
|
|
3209
|
+
* Search within a country code.
|
|
3210
|
+
*/
|
|
3211
|
+
placeCountry?: string;
|
|
3212
|
+
/**
|
|
3213
|
+
* Geo point radius, e.g. -73.99 40.73 25mi.
|
|
3214
|
+
*/
|
|
3215
|
+
pointRadius?: string;
|
|
3216
|
+
/**
|
|
3217
|
+
* Latest for newest first, or Top for the quotes X ranks highest. Top is X's
|
|
3218
|
+
* ranking, not a count order, & a later page can hold a quote X ranks higher. Any
|
|
3219
|
+
* case. Alias sort, which also takes Recency & Relevance. Send the same value with
|
|
3220
|
+
* each cursor. Standard pages list Latest.
|
|
3221
|
+
*/
|
|
3222
|
+
queryType?: 'Latest' | 'Top';
|
|
3223
|
+
/**
|
|
3224
|
+
* Only when the caller requests a quote mode.
|
|
1196
3225
|
*/
|
|
1197
3226
|
quotes?: 'include' | 'exclude' | 'only';
|
|
1198
3227
|
/**
|
|
@@ -1200,11 +3229,11 @@ export interface TweetGetQuotesParams {
|
|
|
1200
3229
|
*/
|
|
1201
3230
|
quotesOfTweetId?: string;
|
|
1202
3231
|
/**
|
|
1203
|
-
* Reply mode.
|
|
3232
|
+
* Reply mode. Exclude keeps own-thread replies.
|
|
1204
3233
|
*/
|
|
1205
3234
|
replies?: 'include' | 'exclude' | 'only';
|
|
1206
3235
|
/**
|
|
1207
|
-
*
|
|
3236
|
+
* Only when the caller requests a repost mode.
|
|
1208
3237
|
*/
|
|
1209
3238
|
retweets?: 'include' | 'exclude' | 'only';
|
|
1210
3239
|
/**
|
|
@@ -1216,19 +3245,21 @@ export interface TweetGetQuotesParams {
|
|
|
1216
3245
|
*/
|
|
1217
3246
|
safe?: boolean;
|
|
1218
3247
|
/**
|
|
1219
|
-
* Start date in YYYY-MM-DD format.
|
|
3248
|
+
* Start date in YYYY-MM-DD format, as a UTC day.
|
|
1220
3249
|
*/
|
|
1221
3250
|
sinceDate?: string;
|
|
1222
3251
|
/**
|
|
1223
|
-
* Return Tweets
|
|
3252
|
+
* Return Tweets whose IDs exceed this ID.
|
|
1224
3253
|
*/
|
|
1225
3254
|
sinceId?: string;
|
|
1226
3255
|
/**
|
|
1227
|
-
*
|
|
3256
|
+
* Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix
|
|
3257
|
+
* seconds also work. A time without an offset is UTC.
|
|
1228
3258
|
*/
|
|
1229
3259
|
sinceTime?: string;
|
|
1230
3260
|
/**
|
|
1231
|
-
*
|
|
3261
|
+
* X search no longer supports source. A Tweet search with it answers 424 & charges
|
|
3262
|
+
* nothing.
|
|
1232
3263
|
*/
|
|
1233
3264
|
source?: string;
|
|
1234
3265
|
/**
|
|
@@ -1236,11 +3267,12 @@ export interface TweetGetQuotesParams {
|
|
|
1236
3267
|
*/
|
|
1237
3268
|
toUser?: string;
|
|
1238
3269
|
/**
|
|
1239
|
-
* End date in YYYY-MM-DD format.
|
|
3270
|
+
* End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
|
|
1240
3271
|
*/
|
|
1241
3272
|
untilDate?: string;
|
|
1242
3273
|
/**
|
|
1243
|
-
*
|
|
3274
|
+
* Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time
|
|
3275
|
+
* without an offset is UTC.
|
|
1244
3276
|
*/
|
|
1245
3277
|
untilTime?: string;
|
|
1246
3278
|
/**
|
|
@@ -1252,15 +3284,21 @@ export interface TweetGetQuotesParams {
|
|
|
1252
3284
|
*/
|
|
1253
3285
|
verifiedOnly?: boolean;
|
|
1254
3286
|
/**
|
|
1255
|
-
*
|
|
3287
|
+
* X search no longer supports within. A Tweet search with it answers 424 & charges
|
|
3288
|
+
* nothing. Use near alone.
|
|
1256
3289
|
*/
|
|
1257
3290
|
within?: string;
|
|
1258
3291
|
/**
|
|
1259
|
-
*
|
|
3292
|
+
* Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
|
|
3293
|
+
* h or d.
|
|
1260
3294
|
*/
|
|
1261
3295
|
withinTime?: string;
|
|
1262
3296
|
}
|
|
1263
3297
|
export interface TweetGetRepliesParams {
|
|
3298
|
+
/**
|
|
3299
|
+
* Legacy cursor alias. Prefer cursor.
|
|
3300
|
+
*/
|
|
3301
|
+
after?: string;
|
|
1264
3302
|
/**
|
|
1265
3303
|
* Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
1266
3304
|
* or lines.
|
|
@@ -1271,7 +3309,7 @@ export interface TweetGetRepliesParams {
|
|
|
1271
3309
|
*/
|
|
1272
3310
|
blueVerifiedOnly?: boolean;
|
|
1273
3311
|
/**
|
|
1274
|
-
*
|
|
3312
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1275
3313
|
*/
|
|
1276
3314
|
cardName?: string;
|
|
1277
3315
|
/**
|
|
@@ -1283,12 +3321,13 @@ export interface TweetGetRepliesParams {
|
|
|
1283
3321
|
*/
|
|
1284
3322
|
conversationId?: string;
|
|
1285
3323
|
/**
|
|
1286
|
-
* Cursor from the previous response.
|
|
1287
|
-
*
|
|
3324
|
+
* Cursor from the previous response. Existing unprefixed cursors keep legacy
|
|
3325
|
+
* standard behavior. Pages can be empty before more rows; follow next_cursor. Also
|
|
3326
|
+
* read as next_cursor, next_token, pagination_token or continuation_token.
|
|
1288
3327
|
*/
|
|
1289
3328
|
cursor?: string;
|
|
1290
3329
|
/**
|
|
1291
|
-
*
|
|
3330
|
+
* Match this literal phrase, including any hyphens.
|
|
1292
3331
|
*/
|
|
1293
3332
|
exactPhrase?: string;
|
|
1294
3333
|
/**
|
|
@@ -1296,19 +3335,28 @@ export interface TweetGetRepliesParams {
|
|
|
1296
3335
|
*/
|
|
1297
3336
|
excludeOriginalAuthor?: boolean;
|
|
1298
3337
|
/**
|
|
1299
|
-
*
|
|
3338
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1300
3339
|
*/
|
|
1301
3340
|
excludeSource?: string;
|
|
1302
3341
|
/**
|
|
1303
3342
|
* Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
1304
3343
|
*/
|
|
1305
3344
|
excludeWords?: string;
|
|
3345
|
+
/**
|
|
3346
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3347
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3348
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3349
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3350
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3351
|
+
* named fields.
|
|
3352
|
+
*/
|
|
3353
|
+
fields?: string;
|
|
1306
3354
|
/**
|
|
1307
3355
|
* Filter by author username.
|
|
1308
3356
|
*/
|
|
1309
3357
|
fromUser?: string;
|
|
1310
3358
|
/**
|
|
1311
|
-
*
|
|
3359
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1312
3360
|
*/
|
|
1313
3361
|
geocode?: string;
|
|
1314
3362
|
/**
|
|
@@ -1319,6 +3367,12 @@ export interface TweetGetRepliesParams {
|
|
|
1319
3367
|
* Only return replies containing media.
|
|
1320
3368
|
*/
|
|
1321
3369
|
hasMediaOnly?: boolean;
|
|
3370
|
+
/**
|
|
3371
|
+
* Complete mode only. Adds the replies the post's author hid, each with
|
|
3372
|
+
* hiddenByAuthor true. They count toward limit like any reply. A paged read
|
|
3373
|
+
* answers 400. Get its hidden replies from GET /x/tweets/{id}/hidden-replies.
|
|
3374
|
+
*/
|
|
3375
|
+
includeHidden?: boolean;
|
|
1322
3376
|
/**
|
|
1323
3377
|
* Include the source post and count it toward limit.
|
|
1324
3378
|
*/
|
|
@@ -1328,13 +3382,12 @@ export interface TweetGetRepliesParams {
|
|
|
1328
3382
|
*/
|
|
1329
3383
|
inReplyToTweetId?: string;
|
|
1330
3384
|
/**
|
|
1331
|
-
*
|
|
3385
|
+
* Filter by language. Alias `lang` is accepted.
|
|
1332
3386
|
*/
|
|
1333
3387
|
language?: string;
|
|
1334
3388
|
/**
|
|
1335
|
-
*
|
|
1336
|
-
*
|
|
1337
|
-
* Prefer pageSize outside complete mode.
|
|
3389
|
+
* Complete mode defaults to 25,000 combined direct & nested replies; set another
|
|
3390
|
+
* total with limit. Automatic pages accept 1-300, standard pages 1-100.
|
|
1338
3391
|
*/
|
|
1339
3392
|
limit?: number;
|
|
1340
3393
|
/**
|
|
@@ -1342,11 +3395,11 @@ export interface TweetGetRepliesParams {
|
|
|
1342
3395
|
*/
|
|
1343
3396
|
maxDepth?: number;
|
|
1344
3397
|
/**
|
|
1345
|
-
* Maximum likes threshold. maxLikes
|
|
3398
|
+
* Maximum likes threshold. maxLikes & max_likes also work.
|
|
1346
3399
|
*/
|
|
1347
3400
|
maxFaves?: number;
|
|
1348
3401
|
/**
|
|
1349
|
-
* Return Tweets
|
|
3402
|
+
* Return Tweets at or below this ID.
|
|
1350
3403
|
*/
|
|
1351
3404
|
maxId?: string;
|
|
1352
3405
|
/**
|
|
@@ -1362,7 +3415,7 @@ export interface TweetGetRepliesParams {
|
|
|
1362
3415
|
*/
|
|
1363
3416
|
maxRetweets?: number;
|
|
1364
3417
|
/**
|
|
1365
|
-
* Filter
|
|
3418
|
+
* Filter media. Aliases: has_video, has_media.
|
|
1366
3419
|
*/
|
|
1367
3420
|
mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
|
|
1368
3421
|
/**
|
|
@@ -1374,9 +3427,13 @@ export interface TweetGetRepliesParams {
|
|
|
1374
3427
|
*/
|
|
1375
3428
|
minBookmarks?: number;
|
|
1376
3429
|
/**
|
|
1377
|
-
*
|
|
3430
|
+
* @deprecated Use minLikes instead. The API still reads minFaves.
|
|
1378
3431
|
*/
|
|
1379
3432
|
minFaves?: number;
|
|
3433
|
+
/**
|
|
3434
|
+
* Minimum likes. Aliases: minFaves, min_likes, min_faves.
|
|
3435
|
+
*/
|
|
3436
|
+
minLikes?: number;
|
|
1380
3437
|
/**
|
|
1381
3438
|
* Minimum quote count threshold.
|
|
1382
3439
|
*/
|
|
@@ -1394,10 +3451,8 @@ export interface TweetGetRepliesParams {
|
|
|
1394
3451
|
*/
|
|
1395
3452
|
minViews?: number;
|
|
1396
3453
|
/**
|
|
1397
|
-
*
|
|
1398
|
-
*
|
|
1399
|
-
* direct and nested replies with diagnostics, scope, depth, sorting, and
|
|
1400
|
-
* original-post controls.
|
|
3454
|
+
* Override automatic coverage. Standard uses legacy pagination. Complete adds
|
|
3455
|
+
* nested replies, diagnostics, scope, depth, and original-post controls.
|
|
1401
3456
|
*/
|
|
1402
3457
|
mode?: 'standard' | 'complete';
|
|
1403
3458
|
/**
|
|
@@ -1405,20 +3460,26 @@ export interface TweetGetRepliesParams {
|
|
|
1405
3460
|
*/
|
|
1406
3461
|
nativeRetweets?: boolean;
|
|
1407
3462
|
/**
|
|
1408
|
-
*
|
|
3463
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1409
3464
|
*/
|
|
1410
3465
|
near?: string;
|
|
1411
3466
|
/**
|
|
1412
|
-
*
|
|
3467
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1413
3468
|
*/
|
|
1414
3469
|
news?: boolean;
|
|
1415
3470
|
/**
|
|
1416
|
-
*
|
|
1417
|
-
*
|
|
3471
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3472
|
+
* fields. With fields, it drops from the kept fields.
|
|
3473
|
+
*/
|
|
3474
|
+
omit?: string;
|
|
3475
|
+
/**
|
|
3476
|
+
* Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow
|
|
3477
|
+
* next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
|
|
3478
|
+
* max_items & per_page.
|
|
1418
3479
|
*/
|
|
1419
3480
|
pageSize?: number;
|
|
1420
3481
|
/**
|
|
1421
|
-
*
|
|
3482
|
+
* Only when the caller requests a quote mode.
|
|
1422
3483
|
*/
|
|
1423
3484
|
quotes?: 'include' | 'exclude' | 'only';
|
|
1424
3485
|
/**
|
|
@@ -1426,11 +3487,11 @@ export interface TweetGetRepliesParams {
|
|
|
1426
3487
|
*/
|
|
1427
3488
|
quotesOfTweetId?: string;
|
|
1428
3489
|
/**
|
|
1429
|
-
* Reply mode.
|
|
3490
|
+
* Reply mode. Exclude keeps own-thread replies.
|
|
1430
3491
|
*/
|
|
1431
3492
|
replies?: 'include' | 'exclude' | 'only';
|
|
1432
3493
|
/**
|
|
1433
|
-
*
|
|
3494
|
+
* Only when the caller requests a repost mode.
|
|
1434
3495
|
*/
|
|
1435
3496
|
retweets?: 'include' | 'exclude' | 'only';
|
|
1436
3497
|
/**
|
|
@@ -1438,7 +3499,7 @@ export interface TweetGetRepliesParams {
|
|
|
1438
3499
|
*/
|
|
1439
3500
|
retweetsOfTweetId?: string;
|
|
1440
3501
|
/**
|
|
1441
|
-
*
|
|
3502
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1442
3503
|
*/
|
|
1443
3504
|
safe?: boolean;
|
|
1444
3505
|
/**
|
|
@@ -1446,23 +3507,29 @@ export interface TweetGetRepliesParams {
|
|
|
1446
3507
|
*/
|
|
1447
3508
|
scope?: 'all' | 'direct' | 'nested';
|
|
1448
3509
|
/**
|
|
1449
|
-
* Start date in YYYY-MM-DD format.
|
|
3510
|
+
* Start date in YYYY-MM-DD format, as a UTC day.
|
|
1450
3511
|
*/
|
|
1451
3512
|
sinceDate?: string;
|
|
1452
3513
|
/**
|
|
1453
|
-
* Return Tweets
|
|
3514
|
+
* Return Tweets whose IDs exceed this ID.
|
|
1454
3515
|
*/
|
|
1455
3516
|
sinceId?: string;
|
|
1456
3517
|
/**
|
|
1457
|
-
*
|
|
3518
|
+
* Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix
|
|
3519
|
+
* seconds also work. A time without an offset is UTC.
|
|
1458
3520
|
*/
|
|
1459
3521
|
sinceTime?: string;
|
|
1460
3522
|
/**
|
|
1461
|
-
*
|
|
3523
|
+
* Sorts the selected replies before limit applies. Complete mode defaults to
|
|
3524
|
+
* relevance. Automatic pages list the newest first unless you set sort; standard
|
|
3525
|
+
* pages ignore it. With likes, each page is sorted by likes. A later page can hold
|
|
3526
|
+
* a reply with more likes. The order is final on the last page. Latest & oldest
|
|
3527
|
+
* sort every row by date. They read the whole thread first, for up to 20 s. An
|
|
3528
|
+
* answer that stopped before every reply X shows sets orderPartial.
|
|
1462
3529
|
*/
|
|
1463
3530
|
sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
|
|
1464
3531
|
/**
|
|
1465
|
-
*
|
|
3532
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1466
3533
|
*/
|
|
1467
3534
|
source?: string;
|
|
1468
3535
|
/**
|
|
@@ -1470,11 +3537,12 @@ export interface TweetGetRepliesParams {
|
|
|
1470
3537
|
*/
|
|
1471
3538
|
toUser?: string;
|
|
1472
3539
|
/**
|
|
1473
|
-
* End date in YYYY-MM-DD format.
|
|
3540
|
+
* End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
|
|
1474
3541
|
*/
|
|
1475
3542
|
untilDate?: string;
|
|
1476
3543
|
/**
|
|
1477
|
-
*
|
|
3544
|
+
* Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time
|
|
3545
|
+
* without an offset is UTC.
|
|
1478
3546
|
*/
|
|
1479
3547
|
untilTime?: string;
|
|
1480
3548
|
/**
|
|
@@ -1486,23 +3554,70 @@ export interface TweetGetRepliesParams {
|
|
|
1486
3554
|
*/
|
|
1487
3555
|
verifiedOnly?: boolean;
|
|
1488
3556
|
/**
|
|
1489
|
-
*
|
|
3557
|
+
* @deprecated This endpoint no longer documents this filter. Remove it.
|
|
1490
3558
|
*/
|
|
1491
3559
|
within?: string;
|
|
1492
3560
|
/**
|
|
1493
|
-
*
|
|
3561
|
+
* Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
|
|
3562
|
+
* h or d.
|
|
1494
3563
|
*/
|
|
1495
3564
|
withinTime?: string;
|
|
1496
3565
|
}
|
|
3566
|
+
export interface TweetGetRetweeterIDsParams {
|
|
3567
|
+
/**
|
|
3568
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
3569
|
+
* pagination_token or continuation_token.
|
|
3570
|
+
*/
|
|
3571
|
+
cursor?: string;
|
|
3572
|
+
/**
|
|
3573
|
+
* Profiles to request from this page (1-200, default 200). Source, filters or
|
|
3574
|
+
* credits can return fewer. Follow next_cursor for more pages. Aliases: limit,
|
|
3575
|
+
* count, max_results, maxItems, max_items & per_page.
|
|
3576
|
+
*/
|
|
3577
|
+
pageSize?: number;
|
|
3578
|
+
}
|
|
1497
3579
|
export interface TweetGetRetweetersParams {
|
|
1498
3580
|
/**
|
|
1499
3581
|
* Match any comma-separated or line-separated bio term, ignoring case.
|
|
1500
3582
|
*/
|
|
1501
3583
|
bioContains?: string;
|
|
1502
3584
|
/**
|
|
1503
|
-
*
|
|
3585
|
+
* Only return profiles X marks as blue verified. X marks many business &
|
|
3586
|
+
* government accounts blue too. Use verifiedType for 1 badge type.
|
|
3587
|
+
*/
|
|
3588
|
+
blueVerifiedOnly?: boolean;
|
|
3589
|
+
/**
|
|
3590
|
+
* Only return profiles that publish an email outside free webmail, such as Gmail.
|
|
3591
|
+
*/
|
|
3592
|
+
businessEmailOnly?: boolean;
|
|
3593
|
+
/**
|
|
3594
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
3595
|
+
* pagination_token or continuation_token.
|
|
1504
3596
|
*/
|
|
1505
3597
|
cursor?: string;
|
|
3598
|
+
/**
|
|
3599
|
+
* Only return profiles with an email at one of these domains. Separate domains
|
|
3600
|
+
* with commas. Subdomains match.
|
|
3601
|
+
*/
|
|
3602
|
+
emailDomains?: string;
|
|
3603
|
+
/**
|
|
3604
|
+
* Add each row's full profile, as GET /x/users/{id} returns it. Pages take several
|
|
3605
|
+
* seconds longer.
|
|
3606
|
+
*/
|
|
3607
|
+
enrichProfiles?: boolean;
|
|
3608
|
+
/**
|
|
3609
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3610
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3611
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3612
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3613
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3614
|
+
* named fields.
|
|
3615
|
+
*/
|
|
3616
|
+
fields?: string;
|
|
3617
|
+
/**
|
|
3618
|
+
* Only return profiles that publish an email.
|
|
3619
|
+
*/
|
|
3620
|
+
hasEmail?: boolean;
|
|
1506
3621
|
/**
|
|
1507
3622
|
* Only return profiles with a location.
|
|
1508
3623
|
*/
|
|
@@ -1511,6 +3626,10 @@ export interface TweetGetRetweetersParams {
|
|
|
1511
3626
|
* Only return profiles with a website.
|
|
1512
3627
|
*/
|
|
1513
3628
|
hasWebsite?: boolean;
|
|
3629
|
+
/**
|
|
3630
|
+
* Look up repost event times.
|
|
3631
|
+
*/
|
|
3632
|
+
includeRetweetTimestamp?: boolean;
|
|
1514
3633
|
/**
|
|
1515
3634
|
* Match a location substring, ignoring case.
|
|
1516
3635
|
*/
|
|
@@ -1520,7 +3639,7 @@ export interface TweetGetRetweetersParams {
|
|
|
1520
3639
|
*/
|
|
1521
3640
|
maxFollowers?: number;
|
|
1522
3641
|
/**
|
|
1523
|
-
*
|
|
3642
|
+
* Profiles may follow at most this many accounts.
|
|
1524
3643
|
*/
|
|
1525
3644
|
maxFollowing?: number;
|
|
1526
3645
|
/**
|
|
@@ -1536,7 +3655,7 @@ export interface TweetGetRetweetersParams {
|
|
|
1536
3655
|
*/
|
|
1537
3656
|
minFollowers?: number;
|
|
1538
3657
|
/**
|
|
1539
|
-
*
|
|
3658
|
+
* Profiles must follow at least this many accounts.
|
|
1540
3659
|
*/
|
|
1541
3660
|
minFollowing?: number;
|
|
1542
3661
|
/**
|
|
@@ -1544,9 +3663,14 @@ export interface TweetGetRetweetersParams {
|
|
|
1544
3663
|
*/
|
|
1545
3664
|
minStatuses?: number;
|
|
1546
3665
|
/**
|
|
1547
|
-
*
|
|
1548
|
-
*
|
|
1549
|
-
|
|
3666
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3667
|
+
* fields. With fields, it drops from the kept fields.
|
|
3668
|
+
*/
|
|
3669
|
+
omit?: string;
|
|
3670
|
+
/**
|
|
3671
|
+
* Profiles to request from this page (1-200, default 200). Source, filters or
|
|
3672
|
+
* credits can return fewer. Follow next_cursor for more pages. Aliases: limit,
|
|
3673
|
+
* count, max_results, maxItems, max_items & per_page.
|
|
1550
3674
|
*/
|
|
1551
3675
|
pageSize?: number;
|
|
1552
3676
|
/**
|
|
@@ -1562,6 +3686,22 @@ export interface TweetGetRetweetersParams {
|
|
|
1562
3686
|
*/
|
|
1563
3687
|
verifiedType?: string;
|
|
1564
3688
|
}
|
|
3689
|
+
export interface TweetGetSubtitlesParams {
|
|
3690
|
+
/**
|
|
3691
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3692
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3693
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3694
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3695
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3696
|
+
* named fields.
|
|
3697
|
+
*/
|
|
3698
|
+
fields?: string;
|
|
3699
|
+
/**
|
|
3700
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3701
|
+
* fields. With fields, it drops from the kept fields.
|
|
3702
|
+
*/
|
|
3703
|
+
omit?: string;
|
|
3704
|
+
}
|
|
1565
3705
|
export interface TweetGetThreadParams {
|
|
1566
3706
|
/**
|
|
1567
3707
|
* Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
@@ -1581,17 +3721,27 @@ export interface TweetGetThreadParams {
|
|
|
1581
3721
|
*/
|
|
1582
3722
|
conversationId?: string;
|
|
1583
3723
|
/**
|
|
1584
|
-
* Pagination cursor for
|
|
3724
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
3725
|
+
* pagination_token or continuation_token.
|
|
1585
3726
|
*/
|
|
1586
3727
|
cursor?: string;
|
|
1587
3728
|
/**
|
|
1588
|
-
*
|
|
3729
|
+
* Match this literal phrase, including any hyphens.
|
|
1589
3730
|
*/
|
|
1590
3731
|
exactPhrase?: string;
|
|
1591
3732
|
/**
|
|
1592
3733
|
* Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
1593
3734
|
*/
|
|
1594
3735
|
excludeWords?: string;
|
|
3736
|
+
/**
|
|
3737
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3738
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3739
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3740
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3741
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3742
|
+
* named fields.
|
|
3743
|
+
*/
|
|
3744
|
+
fields?: string;
|
|
1595
3745
|
/**
|
|
1596
3746
|
* Filter by author username.
|
|
1597
3747
|
*/
|
|
@@ -1605,13 +3755,17 @@ export interface TweetGetThreadParams {
|
|
|
1605
3755
|
*/
|
|
1606
3756
|
inReplyToTweetId?: string;
|
|
1607
3757
|
/**
|
|
1608
|
-
*
|
|
3758
|
+
* Filter by language. Alias `lang` is accepted.
|
|
1609
3759
|
*/
|
|
1610
3760
|
language?: string;
|
|
1611
3761
|
/**
|
|
1612
|
-
* Maximum likes threshold. maxLikes
|
|
3762
|
+
* Maximum likes threshold. maxLikes & max_likes also work.
|
|
1613
3763
|
*/
|
|
1614
3764
|
maxFaves?: number;
|
|
3765
|
+
/**
|
|
3766
|
+
* Return Tweets at or below this ID.
|
|
3767
|
+
*/
|
|
3768
|
+
maxId?: string;
|
|
1615
3769
|
/**
|
|
1616
3770
|
* Maximum quotes threshold.
|
|
1617
3771
|
*/
|
|
@@ -1625,7 +3779,7 @@ export interface TweetGetThreadParams {
|
|
|
1625
3779
|
*/
|
|
1626
3780
|
maxRetweets?: number;
|
|
1627
3781
|
/**
|
|
1628
|
-
* Filter
|
|
3782
|
+
* Filter media. Aliases: has_video, has_media.
|
|
1629
3783
|
*/
|
|
1630
3784
|
mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
|
|
1631
3785
|
/**
|
|
@@ -1637,9 +3791,13 @@ export interface TweetGetThreadParams {
|
|
|
1637
3791
|
*/
|
|
1638
3792
|
minBookmarks?: number;
|
|
1639
3793
|
/**
|
|
1640
|
-
*
|
|
3794
|
+
* @deprecated Use minLikes instead. The API still reads minFaves.
|
|
1641
3795
|
*/
|
|
1642
3796
|
minFaves?: number;
|
|
3797
|
+
/**
|
|
3798
|
+
* Minimum likes. Aliases: minFaves, min_likes, min_faves.
|
|
3799
|
+
*/
|
|
3800
|
+
minLikes?: number;
|
|
1643
3801
|
/**
|
|
1644
3802
|
* Minimum quote count threshold.
|
|
1645
3803
|
*/
|
|
@@ -1657,13 +3815,22 @@ export interface TweetGetThreadParams {
|
|
|
1657
3815
|
*/
|
|
1658
3816
|
minViews?: number;
|
|
1659
3817
|
/**
|
|
1660
|
-
*
|
|
1661
|
-
|
|
1662
|
-
|
|
3818
|
+
* Only return native reposts.
|
|
3819
|
+
*/
|
|
3820
|
+
nativeRetweets?: boolean;
|
|
3821
|
+
/**
|
|
3822
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3823
|
+
* fields. With fields, it drops from the kept fields.
|
|
3824
|
+
*/
|
|
3825
|
+
omit?: string;
|
|
3826
|
+
/**
|
|
3827
|
+
* Items per page (1-100, default 20). Source, filters or credits can return fewer.
|
|
3828
|
+
* Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
|
|
3829
|
+
* max_items & per_page.
|
|
1663
3830
|
*/
|
|
1664
3831
|
pageSize?: number;
|
|
1665
3832
|
/**
|
|
1666
|
-
*
|
|
3833
|
+
* Only when the caller requests a quote mode.
|
|
1667
3834
|
*/
|
|
1668
3835
|
quotes?: 'include' | 'exclude' | 'only';
|
|
1669
3836
|
/**
|
|
@@ -1671,11 +3838,11 @@ export interface TweetGetThreadParams {
|
|
|
1671
3838
|
*/
|
|
1672
3839
|
quotesOfTweetId?: string;
|
|
1673
3840
|
/**
|
|
1674
|
-
* Reply mode.
|
|
3841
|
+
* Reply mode. Exclude keeps own-thread replies.
|
|
1675
3842
|
*/
|
|
1676
3843
|
replies?: 'include' | 'exclude' | 'only';
|
|
1677
3844
|
/**
|
|
1678
|
-
*
|
|
3845
|
+
* Only when the caller requests a repost mode.
|
|
1679
3846
|
*/
|
|
1680
3847
|
retweets?: 'include' | 'exclude' | 'only';
|
|
1681
3848
|
/**
|
|
@@ -1683,15 +3850,19 @@ export interface TweetGetThreadParams {
|
|
|
1683
3850
|
*/
|
|
1684
3851
|
retweetsOfTweetId?: string;
|
|
1685
3852
|
/**
|
|
1686
|
-
* Start date in YYYY-MM-DD format.
|
|
3853
|
+
* Start date in YYYY-MM-DD format, as a UTC day.
|
|
1687
3854
|
*/
|
|
1688
3855
|
sinceDate?: string;
|
|
3856
|
+
/**
|
|
3857
|
+
* Return Tweets whose IDs exceed this ID.
|
|
3858
|
+
*/
|
|
3859
|
+
sinceId?: string;
|
|
1689
3860
|
/**
|
|
1690
3861
|
* Filter replies sent to a username.
|
|
1691
3862
|
*/
|
|
1692
3863
|
toUser?: string;
|
|
1693
3864
|
/**
|
|
1694
|
-
* End date in YYYY-MM-DD format.
|
|
3865
|
+
* End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
|
|
1695
3866
|
*/
|
|
1696
3867
|
untilDate?: string;
|
|
1697
3868
|
/**
|
|
@@ -1702,10 +3873,90 @@ export interface TweetGetThreadParams {
|
|
|
1702
3873
|
* Only return tweets from verified authors.
|
|
1703
3874
|
*/
|
|
1704
3875
|
verifiedOnly?: boolean;
|
|
3876
|
+
/**
|
|
3877
|
+
* Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
|
|
3878
|
+
* h or d.
|
|
3879
|
+
*/
|
|
3880
|
+
withinTime?: string;
|
|
3881
|
+
}
|
|
3882
|
+
export interface TweetListTopParams {
|
|
3883
|
+
/**
|
|
3884
|
+
* Only tweets from one country, as a 2- or 3-letter ISO 3166 code, such as US or
|
|
3885
|
+
* USA. Send country or language, not both.
|
|
3886
|
+
*/
|
|
3887
|
+
country?: string;
|
|
3888
|
+
/**
|
|
3889
|
+
* Pagination cursor for collection results. Also read as next_cursor, next_token,
|
|
3890
|
+
* pagination_token or continuation_token.
|
|
3891
|
+
*/
|
|
3892
|
+
cursor?: string;
|
|
3893
|
+
/**
|
|
3894
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3895
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3896
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3897
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3898
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3899
|
+
* named fields.
|
|
3900
|
+
*/
|
|
3901
|
+
fields?: string;
|
|
3902
|
+
/**
|
|
3903
|
+
* Only tweets in one language, as a 2-letter code, such as en. Send country or
|
|
3904
|
+
* language, not both.
|
|
3905
|
+
*/
|
|
3906
|
+
language?: string;
|
|
3907
|
+
/**
|
|
3908
|
+
* What to rank tweets by. Defaults to likes. Singular names work too, such as
|
|
3909
|
+
* like.
|
|
3910
|
+
*/
|
|
3911
|
+
metric?: 'likes' | 'replies' | 'quotes' | 'bookmarks' | 'shares' | 'views';
|
|
3912
|
+
/**
|
|
3913
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3914
|
+
* fields. With fields, it drops from the kept fields.
|
|
3915
|
+
*/
|
|
3916
|
+
omit?: string;
|
|
3917
|
+
/**
|
|
3918
|
+
* Items per page (1-100, default 20). Source, filters or credits can return fewer.
|
|
3919
|
+
* Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
|
|
3920
|
+
* max_items & per_page.
|
|
3921
|
+
*/
|
|
3922
|
+
pageSize?: number;
|
|
3923
|
+
/**
|
|
3924
|
+
* How far back to look. Defaults to day. Also takes 24h, 7d, 30d, daily, weekly
|
|
3925
|
+
* and monthly.
|
|
3926
|
+
*/
|
|
3927
|
+
window?: 'day' | 'week' | 'month';
|
|
3928
|
+
}
|
|
3929
|
+
export interface TweetResolveLinksParams {
|
|
3930
|
+
/**
|
|
3931
|
+
* 1 to 100 links of the form `https://t.co/Xe1nm2pkSX`, separated by commas. Any
|
|
3932
|
+
* other link is refused.
|
|
3933
|
+
*/
|
|
3934
|
+
urls: string;
|
|
3935
|
+
/**
|
|
3936
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
3937
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
3938
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
3939
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
3940
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
3941
|
+
* named fields.
|
|
3942
|
+
*/
|
|
3943
|
+
fields?: string;
|
|
3944
|
+
/**
|
|
3945
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
3946
|
+
* fields. With fields, it drops from the kept fields.
|
|
3947
|
+
*/
|
|
3948
|
+
omit?: string;
|
|
1705
3949
|
}
|
|
1706
3950
|
export interface TweetSearchParams {
|
|
1707
3951
|
/**
|
|
1708
|
-
* Query, Tweet ID, or
|
|
3952
|
+
* Query, Tweet ID, or URL. Alias query. Hyphens negate terms. Use exactPhrase for
|
|
3953
|
+
* literals. Valid bounds apply per page. `since:` & `until:` dates are UTC days,
|
|
3954
|
+
* written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work, since each has 1 reading.
|
|
3955
|
+
* 04/01/2026 has 2 & answers 424 with the form to write. `since_time:` &
|
|
3956
|
+
* `until_time:` take Unix seconds or an ISO 8601 time. `list:` takes a public
|
|
3957
|
+
* List's ID. A private List answers 404 list_not_found. X searches up to 512
|
|
3958
|
+
* characters. A longer query answers 424 before any read, unless a term of its
|
|
3959
|
+
* first OR group fits alone.
|
|
1709
3960
|
*/
|
|
1710
3961
|
q: string;
|
|
1711
3962
|
/**
|
|
@@ -1726,7 +3977,8 @@ export interface TweetSearchParams {
|
|
|
1726
3977
|
*/
|
|
1727
3978
|
boundingBox?: string;
|
|
1728
3979
|
/**
|
|
1729
|
-
*
|
|
3980
|
+
* Keep only Tweets with this card type, such as poll2choice_text_only. Tweet
|
|
3981
|
+
* search checks each Tweet's card.
|
|
1730
3982
|
*/
|
|
1731
3983
|
cardName?: string;
|
|
1732
3984
|
/**
|
|
@@ -1738,28 +3990,40 @@ export interface TweetSearchParams {
|
|
|
1738
3990
|
*/
|
|
1739
3991
|
conversationId?: string;
|
|
1740
3992
|
/**
|
|
1741
|
-
* Cursor from the previous response.
|
|
1742
|
-
*
|
|
3993
|
+
* Cursor from the previous response. Existing unprefixed cursors keep legacy
|
|
3994
|
+
* standard behavior. Pages can be empty before more rows; follow next_cursor. Also
|
|
3995
|
+
* read as next_cursor, next_token, pagination_token or continuation_token.
|
|
1743
3996
|
*/
|
|
1744
3997
|
cursor?: string;
|
|
1745
3998
|
/**
|
|
1746
|
-
*
|
|
3999
|
+
* Match this literal phrase, including any hyphens.
|
|
1747
4000
|
*/
|
|
1748
4001
|
exactPhrase?: string;
|
|
1749
4002
|
/**
|
|
1750
|
-
*
|
|
4003
|
+
* X search no longer supports excludeSource. A Tweet search with it answers 424 &
|
|
4004
|
+
* charges nothing.
|
|
1751
4005
|
*/
|
|
1752
4006
|
excludeSource?: string;
|
|
1753
4007
|
/**
|
|
1754
4008
|
* Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
1755
4009
|
*/
|
|
1756
4010
|
excludeWords?: string;
|
|
4011
|
+
/**
|
|
4012
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
4013
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
4014
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
4015
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
4016
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
4017
|
+
* named fields.
|
|
4018
|
+
*/
|
|
4019
|
+
fields?: string;
|
|
1757
4020
|
/**
|
|
1758
4021
|
* Filter by author username.
|
|
1759
4022
|
*/
|
|
1760
4023
|
fromUser?: string;
|
|
1761
4024
|
/**
|
|
1762
|
-
*
|
|
4025
|
+
* X search no longer supports geocode. A Tweet search with it answers 424 &
|
|
4026
|
+
* charges nothing.
|
|
1763
4027
|
*/
|
|
1764
4028
|
geocode?: string;
|
|
1765
4029
|
/**
|
|
@@ -1771,13 +4035,18 @@ export interface TweetSearchParams {
|
|
|
1771
4035
|
*/
|
|
1772
4036
|
inReplyToTweetId?: string;
|
|
1773
4037
|
/**
|
|
1774
|
-
*
|
|
4038
|
+
* Words the Tweets must match, in X search syntax.
|
|
4039
|
+
*/
|
|
4040
|
+
keywords?: string;
|
|
4041
|
+
/**
|
|
4042
|
+
* Filter by language. Alias `lang` is accepted.
|
|
1775
4043
|
*/
|
|
1776
4044
|
language?: string;
|
|
1777
4045
|
/**
|
|
1778
|
-
*
|
|
1779
|
-
* defaults to 2000
|
|
1780
|
-
*
|
|
4046
|
+
* Most unique matches to return after filtering. Default 20; explicit coverage
|
|
4047
|
+
* defaults to 2000. At the deadline it returns kept rows & diagnostics. Only
|
|
4048
|
+
* returned rows are billed; credits can cut results, & 0 affordable rows returns
|
|
4049
|
+
* 402. Aliases: pageSize, count, max_results, maxItems, max_items & per_page.
|
|
1781
4050
|
*/
|
|
1782
4051
|
limit?: number;
|
|
1783
4052
|
/**
|
|
@@ -1785,11 +4054,11 @@ export interface TweetSearchParams {
|
|
|
1785
4054
|
*/
|
|
1786
4055
|
listId?: string;
|
|
1787
4056
|
/**
|
|
1788
|
-
* Maximum likes threshold. maxLikes
|
|
4057
|
+
* Maximum likes threshold. maxLikes & max_likes also work.
|
|
1789
4058
|
*/
|
|
1790
4059
|
maxFaves?: number;
|
|
1791
4060
|
/**
|
|
1792
|
-
* Return Tweets
|
|
4061
|
+
* Return Tweets at or below this ID.
|
|
1793
4062
|
*/
|
|
1794
4063
|
maxId?: string;
|
|
1795
4064
|
/**
|
|
@@ -1805,7 +4074,7 @@ export interface TweetSearchParams {
|
|
|
1805
4074
|
*/
|
|
1806
4075
|
maxRetweets?: number;
|
|
1807
4076
|
/**
|
|
1808
|
-
* Filter
|
|
4077
|
+
* Filter media. Aliases: has_video, has_media.
|
|
1809
4078
|
*/
|
|
1810
4079
|
mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
|
|
1811
4080
|
/**
|
|
@@ -1817,9 +4086,13 @@ export interface TweetSearchParams {
|
|
|
1817
4086
|
*/
|
|
1818
4087
|
minBookmarks?: number;
|
|
1819
4088
|
/**
|
|
1820
|
-
*
|
|
4089
|
+
* @deprecated Use minLikes instead. The API still reads minFaves.
|
|
1821
4090
|
*/
|
|
1822
4091
|
minFaves?: number;
|
|
4092
|
+
/**
|
|
4093
|
+
* Minimum likes. Aliases: minFaves, min_likes, min_faves.
|
|
4094
|
+
*/
|
|
4095
|
+
minLikes?: number;
|
|
1823
4096
|
/**
|
|
1824
4097
|
* Minimum quote count threshold.
|
|
1825
4098
|
*/
|
|
@@ -1850,9 +4123,14 @@ export interface TweetSearchParams {
|
|
|
1850
4123
|
*/
|
|
1851
4124
|
near?: string;
|
|
1852
4125
|
/**
|
|
1853
|
-
*
|
|
4126
|
+
* X no longer searches filter:news.
|
|
1854
4127
|
*/
|
|
1855
4128
|
news?: boolean;
|
|
4129
|
+
/**
|
|
4130
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
4131
|
+
* fields. With fields, it drops from the kept fields.
|
|
4132
|
+
*/
|
|
4133
|
+
omit?: string;
|
|
1856
4134
|
/**
|
|
1857
4135
|
* Search within a place ID.
|
|
1858
4136
|
*/
|
|
@@ -1866,11 +4144,17 @@ export interface TweetSearchParams {
|
|
|
1866
4144
|
*/
|
|
1867
4145
|
pointRadius?: string;
|
|
1868
4146
|
/**
|
|
1869
|
-
*
|
|
4147
|
+
* Latest lists posts newest first. Top keeps X's engagement ranking within each
|
|
4148
|
+
* read. Xquik reads several of X's views, so a later page can hold a post X ranks
|
|
4149
|
+
* higher. Top skips posts X shows above a ranked reply that cannot match the
|
|
4150
|
+
* query. They cost nothing. Any case works. Photos, Videos & Media read Latest
|
|
4151
|
+
* with mediaType images, videos or media, unless mediaType is set. People & Lists
|
|
4152
|
+
* answer 400 & point to /x/users/search & /x/lists/search. Aliases result_type,
|
|
4153
|
+
* sort_order, type, search_type, product, category & section.
|
|
1870
4154
|
*/
|
|
1871
|
-
queryType?:
|
|
4155
|
+
queryType?: string;
|
|
1872
4156
|
/**
|
|
1873
|
-
*
|
|
4157
|
+
* Only when the caller requests a quote mode.
|
|
1874
4158
|
*/
|
|
1875
4159
|
quotes?: 'include' | 'exclude' | 'only';
|
|
1876
4160
|
/**
|
|
@@ -1878,11 +4162,11 @@ export interface TweetSearchParams {
|
|
|
1878
4162
|
*/
|
|
1879
4163
|
quotesOfTweetId?: string;
|
|
1880
4164
|
/**
|
|
1881
|
-
* Reply mode.
|
|
4165
|
+
* Reply mode. Exclude keeps own-thread replies.
|
|
1882
4166
|
*/
|
|
1883
4167
|
replies?: 'include' | 'exclude' | 'only';
|
|
1884
4168
|
/**
|
|
1885
|
-
*
|
|
4169
|
+
* Only when the caller requests a repost mode.
|
|
1886
4170
|
*/
|
|
1887
4171
|
retweets?: 'include' | 'exclude' | 'only';
|
|
1888
4172
|
/**
|
|
@@ -1894,19 +4178,23 @@ export interface TweetSearchParams {
|
|
|
1894
4178
|
*/
|
|
1895
4179
|
safe?: boolean;
|
|
1896
4180
|
/**
|
|
1897
|
-
* Start date
|
|
4181
|
+
* Start date as a UTC day, written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work,
|
|
4182
|
+
* since each has 1 reading. A date that fits both orders reads month first, so
|
|
4183
|
+
* 04/01/2026 is 1 April.
|
|
1898
4184
|
*/
|
|
1899
4185
|
sinceDate?: string;
|
|
1900
4186
|
/**
|
|
1901
|
-
* Return Tweets
|
|
4187
|
+
* Return Tweets whose IDs exceed this ID.
|
|
1902
4188
|
*/
|
|
1903
4189
|
sinceId?: string;
|
|
1904
4190
|
/**
|
|
1905
|
-
* Inclusive ISO bound.
|
|
4191
|
+
* Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix
|
|
4192
|
+
* seconds also work. A time without an offset is UTC.
|
|
1906
4193
|
*/
|
|
1907
4194
|
sinceTime?: string;
|
|
1908
4195
|
/**
|
|
1909
|
-
*
|
|
4196
|
+
* X search no longer supports source. A Tweet search with it answers 424 & charges
|
|
4197
|
+
* nothing.
|
|
1910
4198
|
*/
|
|
1911
4199
|
source?: string;
|
|
1912
4200
|
/**
|
|
@@ -1914,11 +4202,13 @@ export interface TweetSearchParams {
|
|
|
1914
4202
|
*/
|
|
1915
4203
|
toUser?: string;
|
|
1916
4204
|
/**
|
|
1917
|
-
* End date
|
|
4205
|
+
* End date as a UTC day, inclusive, so its own posts count. It takes the same date
|
|
4206
|
+
* forms as sinceDate.
|
|
1918
4207
|
*/
|
|
1919
4208
|
untilDate?: string;
|
|
1920
4209
|
/**
|
|
1921
|
-
* Exclusive ISO bound.
|
|
4210
|
+
* Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time
|
|
4211
|
+
* without an offset is UTC.
|
|
1922
4212
|
*/
|
|
1923
4213
|
untilTime?: string;
|
|
1924
4214
|
/**
|
|
@@ -1930,16 +4220,39 @@ export interface TweetSearchParams {
|
|
|
1930
4220
|
*/
|
|
1931
4221
|
verifiedOnly?: boolean;
|
|
1932
4222
|
/**
|
|
1933
|
-
*
|
|
4223
|
+
* X search no longer supports within. A Tweet search with it answers 424 & charges
|
|
4224
|
+
* nothing. Use near alone.
|
|
1934
4225
|
*/
|
|
1935
4226
|
within?: string;
|
|
1936
4227
|
/**
|
|
1937
|
-
*
|
|
4228
|
+
* Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
|
|
4229
|
+
* h or d.
|
|
1938
4230
|
*/
|
|
1939
4231
|
withinTime?: string;
|
|
1940
4232
|
}
|
|
4233
|
+
export interface TweetTranslateParams {
|
|
4234
|
+
/**
|
|
4235
|
+
* Language code to translate into, such as `en`, `tr`, `pt-br`, or `zh-tw`. Upper
|
|
4236
|
+
* and lower case both work.
|
|
4237
|
+
*/
|
|
4238
|
+
language: string;
|
|
4239
|
+
/**
|
|
4240
|
+
* Fields to keep in each row, comma-separated. Use dots for nested fields, such as
|
|
4241
|
+
* author.username. A list keeps the field in each item. Case & underscores do not
|
|
4242
|
+
* matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
|
|
4243
|
+
* always stay. An unknown name answers 400 unknown_field with the valid names,
|
|
4244
|
+
* before any read. The price stays the same. SDK row types then hold only the
|
|
4245
|
+
* named fields.
|
|
4246
|
+
*/
|
|
4247
|
+
fields?: string;
|
|
4248
|
+
/**
|
|
4249
|
+
* Fields to drop from each row, comma-separated. It takes the same names as
|
|
4250
|
+
* fields. With fields, it drops from the kept fields.
|
|
4251
|
+
*/
|
|
4252
|
+
omit?: string;
|
|
4253
|
+
}
|
|
1941
4254
|
export declare namespace Tweets {
|
|
1942
|
-
export { type TweetAuthor as TweetAuthor, type TweetDetail as TweetDetail, type TweetCreateResponse as TweetCreateResponse, type TweetRetrieveResponse as TweetRetrieveResponse, type TweetDeleteResponse as TweetDeleteResponse, type TweetGetRepliesResponse as TweetGetRepliesResponse, type TweetSearchResponse as TweetSearchResponse, type TweetCreateParams as TweetCreateParams, type TweetListParams as TweetListParams, type TweetDeleteParams as TweetDeleteParams, type TweetGetFavoritersParams as TweetGetFavoritersParams, type TweetGetQuotesParams as TweetGetQuotesParams, type TweetGetRepliesParams as TweetGetRepliesParams, type TweetGetRetweetersParams as TweetGetRetweetersParams, type TweetGetThreadParams as TweetGetThreadParams, type TweetSearchParams as TweetSearchParams, };
|
|
4255
|
+
export { type TweetAuthor as TweetAuthor, type TweetDetail as TweetDetail, type TweetCreateResponse as TweetCreateResponse, type TweetRetrieveResponse as TweetRetrieveResponse, type TweetListResponse as TweetListResponse, type TweetDeleteResponse as TweetDeleteResponse, type TweetCheckRepostResponse as TweetCheckRepostResponse, type TweetEmbedResponse as TweetEmbedResponse, type TweetGetInsightsResponse as TweetGetInsightsResponse, type TweetGetRepliesResponse as TweetGetRepliesResponse, type TweetGetRetweeterIDsResponse as TweetGetRetweeterIDsResponse, type TweetGetSubtitlesResponse as TweetGetSubtitlesResponse, type TweetResolveLinksResponse as TweetResolveLinksResponse, type TweetSearchResponse as TweetSearchResponse, type TweetTranslateResponse as TweetTranslateResponse, type TweetCreateParams as TweetCreateParams, type TweetRetrieveParams as TweetRetrieveParams, type TweetListParams as TweetListParams, type TweetDeleteParams as TweetDeleteParams, type TweetCheckRepostParams as TweetCheckRepostParams, type TweetEmbedParams as TweetEmbedParams, type TweetGetFavoritersParams as TweetGetFavoritersParams, type TweetGetHiddenRepliesParams as TweetGetHiddenRepliesParams, type TweetGetInsightsParams as TweetGetInsightsParams, type TweetGetQuotesParams as TweetGetQuotesParams, type TweetGetRepliesParams as TweetGetRepliesParams, type TweetGetRetweeterIDsParams as TweetGetRetweeterIDsParams, type TweetGetRetweetersParams as TweetGetRetweetersParams, type TweetGetSubtitlesParams as TweetGetSubtitlesParams, type TweetGetThreadParams as TweetGetThreadParams, type TweetListTopParams as TweetListTopParams, type TweetResolveLinksParams as TweetResolveLinksParams, type TweetSearchParams as TweetSearchParams, type TweetTranslateParams as TweetTranslateParams, };
|
|
1943
4256
|
export { Like as Like, type LikeCreateResponse as LikeCreateResponse, type LikeDeleteResponse as LikeDeleteResponse, type LikeCreateParams as LikeCreateParams, type LikeDeleteParams as LikeDeleteParams, };
|
|
1944
4257
|
export { Retweet as Retweet, type RetweetCreateResponse as RetweetCreateResponse, type RetweetDeleteResponse as RetweetDeleteResponse, type RetweetCreateParams as RetweetCreateParams, type RetweetDeleteParams as RetweetDeleteParams, };
|
|
1945
4258
|
}
|