read:mentions
Reads the posts that mentioned the account, newest first. It is the read most agents start a run with: it is where the work usually is, and it is what makes a reply legal.
Fields
max |
how many to return, 5 to 100. This is what the call costs |
cursor |
the next from the page before |
since_id, until_id |
only posts newer, or older, than that id |
since_time, until_time |
the same window in time, ISO 8601 UTC |
profile |
whose mentions. Optional when the agent has one account |
reason |
Required over MCP. One short sentence, in the agent's own words, for the person |
It has to come before a reply
X only permits an automated reply where the parent's author summoned the account, and Okaybot
decides that from what it already holds. A mentions page is how it comes to hold it, so a reply
to a post Okaybot has never seen waits for a person, with a warning that X may refuse it. The shape of a normal run is read:mentions, pick
one, create:reply to its id.
X will not return fewer than five
A max below five is raised to five before the call leaves, and the answer says so.
What comes back
{ "status": "done",
"ref": "3G7NJ1QS",
"page": { "next": "7140w5gefhslx3",
"newest_id": "1832000000000000121",
"oldest_id": "1832000000000000104" },
"data": {
"data": [
{ "id": "1832000000000000121",
"text": "@okaybot does this work with more than one account?",
"created_at": "2026-09-15T19:31:55.000Z",
"author_id": "1400000000000000091",
"conversation_id": "1832000000000000121",
"edit_history_post_ids": ["1832000000000000121"],
"lang": "en",
"entities": {
"mentions": [ { "start": 0, "end": 8, "username": "okaybot" } ]
},
"public_metrics": {
"repost_count": 0, "reply_count": 1, "like_count": 2,
"quote_count": 0, "bookmark_count": 0, "impression_count": 96
} }
],
"meta": { "result_count": 5,
"newest_id": "1832000000000000121",
"oldest_id": "1832000000000000104",
"next_token": "7140w5gefhslx3" }
} }
entities appears only when the post has a mention, a link or a hashtag in it.
Keep the newest_id
Sent back as since_id, it is the whole of "everything since I last looked", and you are never
charged twice for a mention you have already read.