v1
latestOpenAPI 3.1.02026-07-13143194365.4 KBtipping
Send a paid message via tip
Send a tip that delivers a message to the recipient via email. The recipient must have a Grove account with an email identity. All accounts accept paid messages by default (tip_to_talk_min=0). Recipients can set a higher minimum or opt out entirely (tip_to_talk_min=NULL). Every tip sent via this endpoint lands with context.is_paid_message=true on the resulting TipContextResponse — it's a server-owned signal (the route writes it unconditionally) that feed / activity consumers can use to render "X messaged Y" without re-deriving intent from the tip amount.
post/v1/tip/message
Headers
authorizationstring nullable
Bearer JWT that identifies the sending account.
Bearer JWT that identifies the sending account.
Request body
Example request
{
"context": {
"source_post_url": "https://x.com/olshansky/status/1234567890",
"sender_username": "olshansky",
"sender_profile_url": "https://x.com/olshansky",
"recipient_username": "vitalik",
"recipient_profile_url": "https://x.com/vitalik",
"campaign": "hackathon-2024",
"referrer": "grove-twitter-bot",
"custom_metadata": "{\"note\": \"great work!\"}",
"discrete_giveaway_id": "gw_5f3c2a1b-..."
}
}Response
Successful Response