> ## 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.

# Disconnect X account

> Delete the stored Xquik connection only; the X account stays unchanged, old IDs return 404, and reconnecting creates a new ID

<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>

Use this endpoint when a connected account should no longer be available for write actions, DMs, media upload, or profile updates. It deletes only the stored Xquik connection for that account ID. It does not change the X account itself. After success, the old Xquik account ID returns `404`; reconnect the account to get a new ID.

## What disconnect does

<CardGroup cols={1}>
  <Card title="Removes this connection" icon="trash-2">
    The stored connection row is removed from your Xquik account. Future `GET /x/accounts/{id}` calls for the same ID return `404`.
  </Card>

  <Card title="Stops writes immediately" icon="send">
    The dashboard Disconnect button uses the same endpoint and warns that write actions stop immediately. After success, new write, DM, media upload, and profile actions must choose another connected account or reconnect this X account.
  </Card>

  <Card title="Keeps monitors separate" icon="radio">
    Account and keyword monitors are independent. Disconnecting credentials for `@username` does not remove monitors that track that username. Delete those monitors separately when tracking should stop.
  </Card>

  <Card title="Reconnect with a new ID" icon="refresh-cw">
    To use the same X account again, call [Connect X Account](/api-reference/x-accounts/connect). Store the new account `id` from the connect response instead of reusing the deleted ID.
  </Card>
</CardGroup>

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

  ```javascript Node.js theme={null}
  const accountId = "3";
  const response = await fetch(`https://xquik.com/api/v1/x/accounts/${accountId}`, {
    method: "DELETE",
    headers: {
      "x-api-key": "xq_YOUR_KEY_HERE",
    },
  });
  const data = await response.json();
  ```

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

  account_id = "3"
  response = requests.delete(
      f"https://xquik.com/api/v1/x/accounts/{account_id}",
      headers={"x-api-key": "xq_YOUR_KEY_HERE"},
  )
  data = response.json()
  ```

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

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

  func main() {
      accountID := "3"
      req, err := http.NewRequest("DELETE", "https://xquik.com/api/v1/x/accounts/"+accountID, 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.Println(data)
  }
  ```
</CodeGroup>

## Path parameters

<ParamField path="id" type="string" required>
  The unique account ID.
</ParamField>

## Headers

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

## Response

<Tabs>
  <Tab title="200 OK">
    <ResponseField name="success" type="boolean">Always `true` on successful disconnection.</ResponseField>

    ```json theme={null}
    { "success": true }
    ```
  </Tab>

  <Tab title="400 Invalid ID">
    ```json theme={null}
    { "error": "invalid_id", "message": "Invalid account ID format" }
    ```

    The provided account ID is not a valid format.
  </Tab>

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

    Missing or invalid API key.
  </Tab>

  <Tab title="404 Not Found">
    ```json theme={null}
    { "error": "not_found", "message": "Resource not found." }
    ```

    No account exists with this ID, or it belongs to a different Xquik account.
  </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 disconnecting another account.
  </Tab>
</Tabs>

<Info>
  The account is disconnected and stored credentials are permanently deleted. This does not affect your X account itself.
</Info>

<Note>
  **Related:** [List X Accounts](/api-reference/x-accounts/list) to verify the account was removed, or [Connect X Account](/api-reference/x-accounts/connect) to add a new one.
</Note>
