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

# Editar Posts

> Edita Posts en X dentro de una ventana de 30 minutos hasta cinco veces y lee el historial de ediciones, edit_controls y los metadatos editable devueltos por la API v2.

Los Posts en X se pueden editar dentro de los 30 minutos posteriores a su publicación, hasta 5 veces. La X API proporciona acceso completo al historial de ediciones y sus metadatos.

***

## Reglas de edición

| Regla                     | Detalles                                          |
| :------------------------ | :------------------------------------------------ |
| **Ventana de tiempo**     | 30 minutos desde el post original                 |
| **Límite de ediciones**   | Máximo 5 ediciones                                |
| **Comportamiento del ID** | Cada edición crea un nuevo ID de post             |
| **Eliminación**           | Eliminar cualquier versión elimina toda la cadena |

***

## Qué no se puede editar

Algunos tipos de post no son editables:

* Posts promocionados (anuncios)
* Posts con encuestas
* Respuestas a otros (que no sean self-thread)
* Reposts (los Quote posts *sí* se pueden editar)
* Posts de Comunidad
* Posts colaborativos
* Posts programados

***

## Datos de edición en las respuestas

### Campos por defecto

Todas las respuestas de posts incluyen `edit_history_tweet_ids` por defecto:

```json theme={null}
{
  "data": {
    "id": "1234567891",
    "text": "Updated text (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891"]
  }
}
```

* Un solo ID = nunca editado
* Múltiples IDs = historial de ediciones (el más antiguo primero)

### Edit controls

Solicita `edit_controls` para conocer el estado de edición:

```bash theme={null}
curl "https://api.x.com/2/tweets/1234567891?tweet.fields=edit_controls" \
  -H "Authorization: Bearer $TOKEN"
```

```json title="Ejemplo de respuesta" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "id": "1234567891",
    "text": "Updated text (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891"],
    "edit_controls": {
      "is_edit_eligible": true,
      "editable_until": "2024-01-15T12:30:00.000Z",
      "edits_remaining": 3
    }
  }
}
```

| Campo              | Descripción                                            |
| :----------------- | :----------------------------------------------------- |
| `is_edit_eligible` | Si el post puede editarse                              |
| `editable_until`   | Marca de tiempo en que se cierra la ventana de edición |
| `edits_remaining`  | Número de ediciones restantes (0-5)                    |

***

## Obtener el historial de ediciones

Usa la expansion `edit_history_tweet_ids` para obtener los objetos post completos de todas las versiones:

```bash theme={null}
curl "https://api.x.com/2/tweets/1234567891?\
tweet.fields=edit_controls&\
expansions=edit_history_tweet_ids" \
  -H "Authorization: Bearer $TOKEN"
```

```json title="Ejemplo de respuesta" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "id": "1234567891",
    "text": "Updated text (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891"],
    "edit_controls": {
      "is_edit_eligible": true,
      "editable_until": "2024-01-15T12:30:00.000Z",
      "edits_remaining": 3
    }
  },
  "includes": {
    "tweets": [{
      "id": "1234567890",
      "text": "Original text (with typo)",
      "edit_history_tweet_ids": ["1234567890", "1234567891"],
      "edit_controls": {
        "is_edit_eligible": true,
        "editable_until": "2024-01-15T12:30:00.000Z",
        "edits_remaining": 3
      }
    }]
  }
}
```

***

## ¿Qué versión se devuelve?

Por defecto, la API devuelve la **versión más reciente** de un post editado.

Para obtener una versión específica, solicítala directamente por su ID de post:

```bash theme={null}
# Get original version
curl "https://api.x.com/2/tweets/1234567890" -H "Authorization: Bearer $TOKEN"

# Get edited version  
curl "https://api.x.com/2/tweets/1234567891" -H "Authorization: Bearer $TOKEN"
```

***

## Métricas para posts editados

Cada versión de un post editado tiene sus propias métricas de engagement. Las métricas se atribuyen a la versión que era visible cuando ocurrió la interacción.

***

## Disponibilidad

Los metadatos de edición están disponibles:

* Para todos los posts creados desde el 29 de septiembre de 2022
* En todos los endpoints v2 que devuelven posts
* Incluyendo search, timelines, stream y lookup

Los posts creados antes de esta fecha no tienen metadatos de edición.

***

## Casos de uso

<Tabs>
  <Tab title="Rastrear cambios">
    Monitoriza los posts para detectar ediciones y registrar las diferencias:

    ```python theme={null}
    def check_for_edits(post):
        history = post.get("edit_history_tweet_ids", [])
        if len(history) > 1:
            print(f"Post {post['id']} has been edited {len(history) - 1} times")
    ```
  </Tab>

  <Tab title="Mostrar indicador de edición">
    Muestra un distintivo "edited" en tu UI:

    ```javascript theme={null}
    const isEdited = post.edit_history_tweet_ids?.length > 1;
    if (isEdited) {
      showEditedBadge();
    }
    ```
  </Tab>

  <Tab title="Obtener contenido original">
    Recupera la versión original de un post editado:

    ```python theme={null}
    original_id = post["edit_history_tweet_ids"][0]
    original = api.get_tweet(original_id)
    ```
  </Tab>
</Tabs>

***

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Búsqueda de posts" icon="https://mintcdn.com/x-preview/cfyQtgCdwk8p69aa/icons/xds/icon-search.svg?fit=max&auto=format&n=cfyQtgCdwk8p69aa&q=85&s=8c11ad89387b7c09ced1553d5c232834" href="/x-api/posts/lookup/introduction" width="24" height="24" data-path="icons/xds/icon-search.svg">
    Recupera posts con historial de ediciones.
  </Card>

  <Card title="Diccionario de datos" icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-book.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=22ac564792481d14ae36a941546039c8" href="/x-api/fundamentals/data-dictionary" width="24" height="24" data-path="icons/xds/icon-book.svg">
    Referencia completa del objeto post.
  </Card>
</CardGroup>
