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

# Editar mensaje

> Cambia el contenido de un mensaje que enviaste

**Auth:** `TokenAccount` o `TokenInstance` • **Rate-limit:** `Global` (100/min) • **Idempotente:** no

Edita el contenido de un mensaje **que tú enviaste**. Solo se admiten mensajes de texto.

<Warning>
  **Ventana de edición: \~15 minutos** después del envío (límite impuesto por WhatsApp). Mensajes más antiguos fallan con `too old to edit`.
</Warning>

## Ejemplo

Envía el nuevo contenido en el campo `content`. El mensaje original debe haber sido enviado por la propia instancia y estar dentro de la ventana de 15 minutos.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://ryzeapi.cloud/api/chat/edit/$Instance_Name" \
    -H "token: $Token_Instance" \
    -H "Content-Type: application/json" \
    -d '{
      "messageId": "3EB08FCF27E532F1B0F5",
      "content": "Sorry, I meant 6 PM"
    }'
  ```

  ```javascript JavaScript theme={null}
  await fetch(`https://ryzeapi.cloud/api/chat/edit/${process.env.Instance_Name}`, {
    method: "POST",
    headers: {
      "token":        process.env.Token_Instance,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      messageId: "3EB08FCF27E532F1B0F5",
      content:   "Sorry, I meant 6 PM"
    })
  });
  ```

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

  requests.post(
      f"https://ryzeapi.cloud/api/chat/edit/{os.environ['Instance_Name']}",
      headers={
          "token":        os.environ["Token_Instance"],
          "Content-Type": "application/json"
      },
      json={
          "messageId": "3EB08FCF27E532F1B0F5",
          "content":   "Sorry, I meant 6 PM"
      }
  )
  ```

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

  import (
      "net/http"
      "os"
      "strings"
  )

  func main() {
      body := strings.NewReader(`{
          "messageId": "3EB08FCF27E532F1B0F5",
          "content": "Sorry, I meant 6 PM"
      }`)
      req, _ := http.NewRequest("POST", "https://ryzeapi.cloud/api/chat/edit/"+os.Getenv("Instance_Name"), body)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      req.Header.Set("Content-Type", "application/json")
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

## Respuesta exitosa

```json 200 OK theme={null}
{
  "success": true,
  "message": "Message edited successfully",
  "messageId": "3EB08FCF27E532F1B0F5",
  "chatJid": "5511999999999@s.whatsapp.net",
  "oldContent": "Sorry, I meant 5 PM",
  "newContent": "Sorry, I meant 6 PM"
}
```

## Parámetros de ruta

<ParamField path="instance" type="string" required>
  Nombre de la instancia.
</ParamField>

## Cabeceras

<ParamField header="token" type="string" required>
  TokenAccount o TokenInstance.
</ParamField>

## Cuerpo de la solicitud

<ParamField body="messageId" type="string" required>
  ID del mensaje a editar. Debe existir y haber sido enviado por ti.
</ParamField>

<ParamField body="content" type="string" required>
  Nuevo contenido del mensaje.
</ParamField>

## Notas

<Note>
  * El destinatario ve el nuevo texto con la etiqueta "Editado".
  * La edición emite un evento `message.exchange` en el webhook/WebSocket con `type: "message_edit"` e `isEdit: true`.
  * Editar la leyenda de un media (imagen/video/documento) no está soportado de forma confiable, úsalo solo en mensajes de texto plano.
</Note>

## Respuestas de error

| HTTP | `error.message`                                      | Cuándo                                                   |
| ---- | ---------------------------------------------------- | -------------------------------------------------------- |
| 400  | `Invalid request body`                               | JSON malformado.                                         |
| 400  | `messageId is required`                              | Campo faltante.                                          |
| 400  | `content is required`                                | Falta el campo `content`.                                |
| 400  | mensaje contiene `too old to edit` o `can only edit` | Fuera de la ventana de 15 minutos o mensaje no de texto. |
| 401  | `Invalid token`                                      | ,                                                        |
| 404  | `Instance not found` o `message not found`           | ,                                                        |
| 503  | `Instance is not connected to WhatsApp`              | Sin sesión activa.                                       |
