Skip to content
Docs

Repost a post, or undo a repost

Early access. Tell us what you're building and we'll set you up. Contact us

POSTapi.lempile.com/posts/repost

A plain repost of one X post. A post the account already reposted stays as it is (already: true). With undo: true, takes the account's repost of that post back instead: X's green Repost button, then Undo repost, answered once the post shows its plain Repost button (PostUnreposted; a post it hasn't reposted answers already: true with nothing pressed). An undo's receipt fingerprint differs from the repost's, so one key never covers both. Not paced.

Scope: accounts.write.

Authentication

X-API-KEY header·A Lempile API key, made in the dashboard under Access tokens.

Headers

  • Idempotency-Keystring

    Optional. With a key, the write gets a receipt (GET /writes/{key}) and a repeat replays the first answer.

    ≤ 200 chars

Request body

  • account_idstringrequired
  • post_idstringrequired

    The post to repost, or (with undo) the post the account reposted.

    Pattern^[0-9]+$
  • navigationstring

    timeline finds the post in the account's Following feed first, as a person scrolling would, then falls back to its page; direct opens the post's page. Default: the post's page.

    One oftimelinedirect
  • author_handlestring

    The post author's X handle, which timeline looks for in the feed.

    ≤ 15 chars
  • undoboolean

    true takes the account's repost back. true or false only: any other value answers 400. X only (a LinkedIn post answers 501).

    Defaultfalse

Responses

200

Reposted, or (with undo) the repost taken back.

›

application/json

  • PostRepostedPostReposted
    ›Show fields
    • objectany
      AlwaysPostReposted
    • providerany
      AlwaysX
    • post_idstring
    • alreadyboolean
    • viastring
  • PostUnrepostedPostUnreposted
    ›Show fields
    • objectany
      AlwaysPostUnreposted
    • providerany
      AlwaysX
    • post_idstring
    • alreadyboolean

      true: the account hadn't reposted it; nothing was pressed.

    • viastring
400

errors/invalid_parameters: no X post id, or undo that isn't true or false.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

401

Missing or invalid API key ({error, message}), errors/disconnected_account, or errors/reauth_required when X is signed out in the account's browser.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

402

subscription_required: the workspace has no active trial or subscription.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

404

errors/post_not_found.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

422

errors/repost_unavailable (X didn't offer Repost, or Undo repost), errors/not_reposted or errors/not_unreposted. Nothing changed.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

423

errors/x_account_locked: X shows the account its lock page (x.com/account/access). Nothing was done; someone has to pass X's check.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

501

errors/feature_not_implemented: undo on a LinkedIn post.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

502

errors/repost_unconfirmed: check the post; doing it again changes nothing.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

503

errors/service_unavailable (the account isn't ready, or the browser runner can't be reached), errors/no_client_session, or errors/maintenance with retry_at.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

504

errors/timeout.

›

application/problem+json

  • typestringrequired
  • titlestring
  • statusintegerrequired
  • detailstring
  • retry_atstring · date-time
  • codestring

    The browser's own reason, when it refused before the click: replies_limited, post_not_accepted, gif_not_found, browser_busy…

Was this page helpful?