Delete a chat

October 12, 2026

Table of contents

  1. Request Headers
  2. Responses
  3. Model
  4. Examples
  5. Try It

Delete a chat on Muse. It disappears from the muse.ai app and from GET /chats. A job’s chat can be deleted too, and its job record stays readable with GET /jobs/jobid. The files the chat made stay in the account’s workspace: list them with GET /assets, and remove one with DELETE /assets/assetId.

https://api.useapi.net/v1/muse/chats/chatId

  • chatId is URL-encoded in the path (it contains : and @).
Request Headers
Authorization: Bearer {API token}
Responses
  • 200 OK

    {
      "chatId": "c-u12345-email:[email protected]:272b73f4-6fcb-42c2-9ec7-75cc0c020940-bot:muse",
      "deleted": true
    }
    
  • 400 Bad Request — the path value is not a Muse chatId.

    {
      "error": "Path parameter chatId (not-a-chat-id) is not a valid Muse chat id",
      "code": 400
    }
    
  • 401 Unauthorized

    Invalid API token.

    {
      "error": "useapi.net ⁝ Unauthorized",
      "code": 401
    }
    
  • 403 Forbidden — the chatId was issued to a different API token.

    {
      "error": "This chat id does not belong to this API token",
      "code": 403
    }
    
  • 404 Not Found — the chat is already deleted, or the account that holds it is not added.

    {
      "error": "Chat not found",
      "code": 404
    }
    
  • 503 Service Unavailable — Muse could not be reached. Retry shortly.

    {
      "error": "Could not connect to the Muse workspace of account [email protected] (…), please retry shortly",
      "code": 503
    }
    
  • 596 Account Error

    The account needs your attention, and it is paused until you add it again. You receive an email when this happens. There are two causes.

    Meta asks for a security check on the account. Sign in once at muse.ai in a browser, complete the check, then add the account again with POST /accounts using the same email and password. The API keeps using its session, so no new sign-in is needed.

    {
      "error": "Account [email protected]: Meta asks for a security check on account [email protected] (\"This account must complete a security checkpoint on the web\"). Sign in once at https://muse.ai in a browser, complete the check, then add the account again with POST /accounts",
      "code": 596
    }
    

    Or Muse refused to sign the account in again when its session needed renewing, most often because the password was changed. Add the account again with the current password.

    {
      "error": "Account [email protected]: Muse refused to sign in account [email protected] (…). Update its password with POST /accounts, or sign in at https://muse.ai to clear the block, then re-add it",
      "code": 596
    }
    
Model
{ // TypeScript, all fields are optional
  chatId: string
  deleted: true
  error?: string    // errors only
  code?: number     // errors only
}
Examples
  • CHATID="c-u12345-email:[email protected]:272b73f4-6fcb-42c2-9ec7-75cc0c020940-bot:muse"
    curl -X DELETE -H "Authorization: Bearer …" \
         "https://api.useapi.net/v1/muse/chats/$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=''))" "$CHATID")"
    
  • const token = "API token";
    const chatId = "chatId from POST /chats or GET /chats";
    const apiUrl = `https://api.useapi.net/v1/muse/chats/${encodeURIComponent(chatId)}`;
    const response = await fetch(apiUrl, {
      method: "DELETE",
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    console.log("response", response.status, await response.json());
    
  • import requests
    from urllib.parse import quote
    token = "API token"
    chatId = "chatId from POST /chats or GET /chats"
    apiUrl = f"https://api.useapi.net/v1/muse/chats/{quote(chatId, safe='')}"
    headers = {
        "Authorization" : f"Bearer {token}"
    }
    response = requests.delete(apiUrl, headers=headers)
    print(response, response.json())
    
Try It