> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk retry X accounts

> Clear only temporary login failures; use re-authentication or X-side fixes for credentials, TOTP, passkeys, locked, or suspended accounts

<blockquote className="agent-llms-directive">
  For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
</blockquote>

<Callout icon="circle-check" color="#16a34a">
  **Free** - does not consume credits
</Callout>

<Info>
  Bulk retry only clears `transient` and `automated` login-failure states. It does not update passwords, TOTP secret keys, passkeys, email challenges, locked accounts, or suspended accounts. Use re-authentication or reconnect for credential and 2FA fixes, and resolve locks or suspensions on X first.
</Info>

Clears temporary login-failure state for accounts that can safely retry on the next read, write, monitor, or account action. Use it when the dashboard shows accounts with temporary issues.

## What gets retried

<CardGroup cols={1}>
  <Card title="Temporary issues are cleared" icon="refresh-cw">
    Xquik clears accounts whose stored failure reason is `transient` or `automated`. These accounts become eligible for the next automatic login attempt.
  </Card>

  <Card title="Credential fixes are skipped" icon="key-round">
    Accounts that need fresh credentials or a security challenge stay unchanged. Use [Re-authenticate](/api-reference/x-accounts/reauth) or reconnect the account instead.
  </Card>

  <Card title="X restrictions stay blocked" icon="shield-alert">
    Locked and suspended accounts stay unchanged. Resolve the restriction on X first, then re-authenticate or reconnect if needed.
  </Card>

  <Card title="Response is an aggregate" icon="list-checks">
    The API returns only `cleared`, the number of accounts reset for retry. Call [List X Accounts](/api-reference/x-accounts/list) before and after if you need per-account status.
  </Card>
</CardGroup>

The dashboard button follows the same model: it appears when accounts have temporary issues, asks for confirmation, clears retryable failures, then refreshes the account list. It does not perform the next login immediately.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://xquik.com/api/v1/x/accounts/bulk-retry \
    -H "x-api-key: xq_YOUR_KEY_HERE" | jq
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://xquik.com/api/v1/x/accounts/bulk-retry", {
    method: "POST",
    headers: {
      "x-api-key": "xq_YOUR_KEY_HERE",
    },
  });
  const data = await response.json();
  console.log(`Cleared ${data.cleared} accounts`);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://xquik.com/api/v1/x/accounts/bulk-retry",
      headers={"x-api-key": "xq_YOUR_KEY_HERE"},
  )
  data = response.json()
  print(f"Cleared {data['cleared']} accounts")
  ```

  ```go Go theme={null}
  package main

  import (
      "encoding/json"
      "fmt"
      "net/http"
  )

  func main() {
      req, err := http.NewRequest("POST", "https://xquik.com/api/v1/x/accounts/bulk-retry", nil)
      if err != nil {
          panic(err)
      }
      req.Header.Set("x-api-key", "xq_YOUR_KEY_HERE")

      resp, err := http.DefaultClient.Do(req)
      if err != nil {
          panic(err)
      }
      defer resp.Body.Close()

      var data map[string]interface{}
      if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
          panic(err)
      }
      fmt.Printf("Cleared %.0f accounts\n", data["cleared"])
  }
  ```
</CodeGroup>

## Headers

<ParamField header="x-api-key" type="string" required>
  Your API key. Generate a key from the [dashboard](https://xquik.com/dashboard).
</ParamField>

## Response

<Tabs>
  <Tab title="200 OK">
    <ResponseField name="cleared" type="integer">Number of accounts cleared for retry.</ResponseField>

    ```json theme={null}
    {
      "cleared": 3
    }
    ```
  </Tab>

  <Tab title="401 Unauthenticated">
    ```json theme={null}
    { "error": "unauthenticated", "message": "Missing or invalid API key" }
    ```

    Missing or invalid API key.
  </Tab>

  <Tab title="429 Rate Limited">
    ```json theme={null}
    { "error": "rate_limit_exceeded", "message": "Too many requests. Try again later.", "retryAfter": 60 }
    ```

    Wait for the `Retry-After` value before retrying account recovery again.
  </Tab>
</Tabs>

<Note>
  **Related:** [List X Accounts](/api-reference/x-accounts/list) to check account statuses, or [Re-authenticate](/api-reference/x-accounts/reauth) to fix a specific account manually.
</Note>
