Passer au contenu principal
Les Publications sur X peuvent être modifiées dans les 30 minutes suivant leur publication, jusqu’à 5 fois. L’API X offre un accès complet à l’historique des modifications et aux métadonnées.

Règles de modification

RègleDétails
Fenêtre de modification30 minutes à partir de la publication initiale
Limite de modifications5 modifications maximum
Comportement de l’IDChaque modification crée un nouvel ID de publication
SuppressionLa suppression de n’importe quelle version supprime toute la chaîne

Ce qui ne peut pas être modifié

Certains types de Publications ne sont pas modifiables :
  • Publications sponsorisées (annonces)
  • Publications contenant un sondage
  • Réponses à d’autres personnes (hors fil personnel)
  • Reposts (les Publications citées peuvent être modifiées)
  • Publications de communauté
  • Publications collaboratives
  • Publications programmées

Modifier les données des réponses

Champs par défaut

Toutes les réponses de l’API pour les Publications contiennent edit_history_tweet_ids par défaut :
{
  "data": {
    "id": "1234567891",
    "text": "Updated text (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891"]
  }
}
  • Un seul id = jamais modifié
  • Plusieurs id = historique des modifications (de la plus ancienne à la plus récente)

Contrôles de modification

Demandez edit_controls pour obtenir le statut de modification :
curl "https://api.x.com/2/tweets/1234567891?tweet.fields=edit_controls" \
  -H "Authorization: Bearer $TOKEN"
{
  "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
    }
  }
}
FieldDescription
is_edit_eligibleIndique si la publication peut être modifiée
editable_untilHorodatage indiquant la fin de la fenêtre d’édition
edits_remainingNombre de modifications restantes (0-5)

Récupérer l’historique des modifications

Utilisez l’extension edit_history_tweet_ids pour obtenir des objets de type Publication complets pour toutes les versions :
curl "https://api.x.com/2/tweets/1234567891?\
tweet.fields=edit_controls&\
expansions=edit_history_tweet_ids" \
  -H "Authorization: Bearer $TOKEN"
{
  "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
      }
    }]
  }
}

Quelle version est renvoyée ?

Par défaut, l’API renvoie la version la plus récente d’une publication modifiée. Pour obtenir une version spécifique, demandez-la directement à partir de son ID de publication :
# Obtenir la version d'origine
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étriques pour les Publications modifiées

Chaque version d’une Publication modifiée possède ses propres métriques d’engagement. Les métriques sont attribuées à la version qui était visible au moment de l’engagement.

Disponibilité

Les métadonnées de modification sont disponibles :
  • Pour toutes les Publications créées depuis le 29 septembre 2022
  • Sur tous les endpoints v2 qui renvoient des Publications
  • Y compris la recherche, les chronologies, les flux et les recherches par identifiant
Les Publications créées avant cette date ne disposent pas de métadonnées de modification.

Cas d’utilisation

Surveillez les publications afin de détecter les modifications et consignez les différences :
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")

Prochaines étapes

Recherche de publications

Récupérez des publications avec leur historique des modifications.

Dictionnaire de données

Référence complète de l’objet Publication.