{"openapi":"3.1.0","info":{"title":"AgentMaverick","version":"1.0","description":"AgentMaverick deletes old X (Twitter) posts, replies and reposts in bulk through the official X API, with filters, a preview and an archive of every deleted item. One-time prices only.\n\nKeywords: delete old tweets, delete old X posts, clean up X posts, bulk delete tweets, remove reposts / undo retweets, delete replies, X history cleanup, tweet deleter\n\n**What it does:** AgentMaverick deletes old X (Twitter) posts, replies and reposts in bulk through the official X API, with filters, a preview and an archive of every deleted item. One-time prices only. Your agent shows you what would be deleted first; nothing is deleted until you approve.\n**Prices:**\n- Quick Clean — $2.49 via X Money when read from the X API ($1.49 X Money after a Free scan), one-time: one job of up to 100 items, keyword + date filters, must run within 24h\n- Cleanup 500 — $16.99 via X Money, one-time: one job of up to 500 deletions + 500 history reads, archive before delete (search + export), must run within 72h\n- Cleanup 1000 — $31.99 via X Money, one-time: one job of up to 1,000 deletions + 1,000 history reads, archive before delete (search + export), must run within 72h\n**What you need to approve:** if your agent is already connected to your X account (e.g. Grok Bot's X plugin), only the exact price — no extra sign-in; AgentMaverick never gets your X token and the deletions run on your agent's own X connection. Otherwise: (1) signing in with X, which lets AgentMaverick delete posts and likes on your account; (2) the exact price before any payment. Monthly plans renew monthly (an X Money request to @agentmavericksi each month; 3-day grace, then the account drops to Free).\n**Important:** deletions on X are permanent. On Cleanup 500, Cleanup 1000 AgentMaverick saves each item to your personal archive before deleting it. Quick Clean does not keep an archive — download your X archive first if you might want the content later."},"servers":[{"url":"https://agentmaverick.si"}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"xrw_… API key"}}},"paths":{"/llms.txt":{"get":{"operationId":"agentmaverick_explain","summary":"Explain AgentMaverick to your owner before doing anything: what it does, the price of every plan, what they must approve","description":"Explain AgentMaverick to your owner before doing anything: what it does, the price of every plan, what they must approve (just the exact price when you are already connected to X via BYO-X; otherwise Sign in with X + the price), and that deletions are permanent (archive on Pro+). Use for: delete old tweets, delete old X posts, clean up X posts, bulk delete tweets, remove reposts / undo retweets, delete replies, X history cleanup, tweet deleter.","security":[],"parameters":[],"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/me":{"get":{"operationId":"agentmaverick_me","summary":"The user's plan, remaining deletions this period, features and item counts.","description":"The user's plan, remaining deletions this period, features and item counts.","security":[{"bearer":[]}],"parameters":[],"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/preview":{"post":{"operationId":"agentmaverick_preview","summary":"Read-only. Count and sample the posts/replies/reposts/likes that match filters — e.g. 'tweets older than 1 year', 'repos","description":"Read-only. Count and sample the posts/replies/reposts/likes that match filters — e.g. 'tweets older than 1 year', 'reposts'. Returns confirm_count. Free on every plan; nothing is deleted or charged.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filters":{"type":"object","description":"Filters (all optional): types{post,reply,repost,like}, deleteAllLikes, olderThanDays, after, before (YYYY-MM-DD), keepKeywords, deleteKeywords ('a|b'). Pro+: regex, minLikesToKeep, minRepostsToKeep, minRepliesToKeep, media|links|mentions (any|with|without), replyToHandles, replyToMode, langs, toxicity, protectTopN. protectPinned defaults true."}}}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/rewind":{"post":{"operationId":"agentmaverick_start","summary":"Delete old X posts / remove reposts. PERMANENT. Only after your owner explicitly approved the exact count. dry_run:true ","description":"Delete old X posts / remove reposts. PERMANENT. Only after your owner explicitly approved the exact count. dry_run:true simulates and deletes nothing. 402 = payment needed (lists offers with checkout URLs); 409 = count changed, re-preview.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filters":{"type":"object","description":"Filters (all optional): types{post,reply,repost,like}, deleteAllLikes, olderThanDays, after, before (YYYY-MM-DD), keepKeywords, deleteKeywords ('a|b'). Pro+: regex, minLikesToKeep, minRepostsToKeep, minRepliesToKeep, media|links|mentions (any|with|without), replyToHandles, replyToMode, langs, toxicity, protectTopN. protectPinned defaults true."},"confirm_count":{"type":"integer","description":"confirm_count from agentmaverick_preview (required unless dry_run)"},"dry_run":{"type":"boolean"}},"required":["filters"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/jobs/{id}":{"get":{"operationId":"agentmaverick_status","summary":"Progress of a cleanup job (done, failed, ETA, upsell, report link).","description":"Progress of a cleanup job (done, failed, ETA, upsell, report link).","security":[{"bearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/checkout":{"post":{"operationId":"agentmaverick_checkout","summary":"Get a payment request (402) for a plan: checkout_url, poll_url, X Money recipient/amount/memo. Never pay without your ow","description":"Get a payment request (402) for a plan: checkout_url, poll_url, X Money recipient/amount/memo. Never pay without your owner's explicit approval of the exact price.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"string","enum":["quick","c500","c1000"]}}}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/payments/{id}":{"get":{"operationId":"agentmaverick_payment_status","summary":"Poll after paying: status, entitlement and a one-time API key.","description":"Poll after paying: status, entitlement and a one-time API key.","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/byo/register":{"post":{"operationId":"agentmaverick_byo_register","summary":"BYO-X (recommended when you are already connected to your owner's X account): get an AgentMaverick API key with no extra","description":"BYO-X (recommended when you are already connected to your owner's X account): get an AgentMaverick API key with no extra sign-in. AgentMaverick never receives the X token. No free trial on BYO-X accounts.","security":[],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"x_user_id":{"type":"string"},"handle":{"type":"string"}},"required":["x_user_id"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/byo/items":{"post":{"operationId":"agentmaverick_byo_items","summary":"BYO-X step 1: submit your owner's posts/replies/reposts/likes (or their X archive) so AgentMaverick can filter them for ","description":"BYO-X step 1: submit your owner's posts/replies/reposts/likes (or their X archive) so AgentMaverick can filter them for delete old tweets / remove reposts.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"x_user_id":{"type":"string"},"handle":{"type":"string"},"items":{"type":"array","description":"Items you fetched with your own X tools: {id, type: post|reply|repost|like, text, created_at, metrics{like_count,retweet_count,reply_count}, target_id?}. Or send multipart with an 'archive' .zip."}},"required":["x_user_id","items"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/byo/preview":{"post":{"operationId":"agentmaverick_byo_preview","summary":"BYO-X step 2, read-only: counts + samples + confirm_count for the submitted items. Show your owner and get approval of t","description":"BYO-X step 2, read-only: counts + samples + confirm_count for the submitted items. Show your owner and get approval of the price.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"x_user_id":{"type":"string"},"filters":{"type":"object","description":"Filters (all optional): types{post,reply,repost,like}, deleteAllLikes, olderThanDays, after, before (YYYY-MM-DD), keepKeywords, deleteKeywords ('a|b'). Pro+: regex, minLikesToKeep, minRepostsToKeep, minRepliesToKeep, media|links|mentions (any|with|without), replyToHandles, replyToMode, langs, toxicity, protectTopN. protectPinned defaults true."}},"required":["x_user_id"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/byo/plans":{"post":{"operationId":"agentmaverick_byo_plan","summary":"BYO-X step 3: after owner approval, get a signed ordered cleanup plan [{id, action: delete_post|unrepost, target_id}] wi","description":"BYO-X step 3: after owner approval, get a signed ordered cleanup plan [{id, action: delete_post|unrepost, target_id}] with rate-limit-safe pacing. Plan/payment gates apply (402 lists offers). Archived first on Pro+. Deletions then run on YOUR X connection and are permanent.","security":[{"bearer":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"x_user_id":{"type":"string"},"filters":{"type":"object","description":"Filters (all optional): types{post,reply,repost,like}, deleteAllLikes, olderThanDays, after, before (YYYY-MM-DD), keepKeywords, deleteKeywords ('a|b'). Pro+: regex, minLikesToKeep, minRepostsToKeep, minRepliesToKeep, media|links|mentions (any|with|without), replyToHandles, replyToMode, langs, toxicity, protectTopN. protectPinned defaults true."},"confirm_count":{"type":"integer"}},"required":["x_user_id","filters","confirm_count"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/v1/plans/{id}/results":{"post":{"operationId":"agentmaverick_byo_results","summary":"BYO-X step 4: report what you deleted/unreposted so usage, progress, archive and the clean report stay accurate. Usage c","description":"BYO-X step 4: report what you deleted/unreposted so usage, progress, archive and the clean report stay accurate. Usage counts only on reported success; ids not in the plan are rejected.","security":[{"bearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"x_user_id":{"type":"string"},"results":{"type":"array","description":"[{id, action, ok, status?, error?}] — batches of ≤500"}},"required":["id","x_user_id","results"]}}}},"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}},"/api/saved":{"get":{"operationId":"agentmaverick_archive_search","summary":"Search the personal archive of deleted items (Pro+: text search; Business+: date/type/topic/engagement filters).","description":"Search the personal archive of deleted items (Pro+: text search; Business+: date/type/topic/engagement filters).","security":[{"bearer":[]}],"parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}},{"name":"type","in":"query","schema":{"type":"string"}},{"name":"tag","in":"query","schema":{"type":"string"}},{"name":"minLikes","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"},"402":{"description":"Payment required: offers[] with checkout_url, payment, x_money"},"429":{"description":"Plan API rate limit"}}}}}}