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

# Créer ou mettre à jour une Publication

> Crée une nouvelle Publication pour l’utilisateur authentifié ou modifie une Publication existante si des edit_options sont fournies.



## OpenAPI

````yaml /fr/openapi.json POST /2/tweets
openapi: 3.0.0
info:
  description: Points de terminaison disponibles dans X API v2
  version: '2.157'
  title: X API v2
  termsOfService: https://developer.x.com/en/developer-terms/agreement-and-policy.html
  contact:
    name: X Developers
    url: https://developer.x.com/
  license:
    name: X Developer Agreement and Policy
    url: https://developer.x.com/en/developer-terms/agreement-and-policy.html
servers:
  - description: X API
    url: https://api.x.com
security: []
tags:
  - name: Account Activity
    description: >-
      Points de terminaison pour la récupération et la gestion des abonnements
      AAA
    externalDocs:
      description: En savoir plus
      url: >-
        https://docs.x.com/x-api/enterprise-gnip-2.0/fundamentals/account-activity
  - name: Bookmarks
    description: >-
      Points de terminaison permettant de récupérer et de gérer les signets d’un
      utilisateur
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/bookmarks
  - name: Compliance
    description: >-
      Points de terminaison pour garantir la conformité des données X dans vos
      systèmes
    externalDocs:
      description: En savoir plus
      url: >-
        https://developer.twitter.com/en/docs/twitter-api/compliance/batch-tweet/introduction
  - name: Connections
    description: Points de terminaison pour les connexions de flux en continu
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com/en/docs/x-api/connections
  - name: Direct Messages
    description: >-
      Points de terminaison permettant de récupérer et de gérer les Direct
      Messages
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/direct-messages
  - name: General
    description: Points de terminaison divers pour des fonctionnalités générales de l’API
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api
  - name: Lists
    description: Points de terminaison pour la récupération et la gestion des Listes
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/lists
  - name: Media
    description: Points de terminaison pour les médias
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: MediaUpload
    description: Points de terminaison pour le téléversement de médias
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: News
    description: Point de terminaison pour récupérer des articles d’actualité
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/news
  - name: Spaces
    description: Points de terminaison pour la récupération et la gestion des Spaces
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/spaces
  - name: Stream
    description: Points de terminaison pour le streaming
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: Tweets
    description: >-
      Points de terminaison pour la récupération, la recherche et la
      modification de Tweets
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/tweets/lookup
  - name: Users
    description: >-
      Points de terminaison pour la récupération et la gestion des relations des
      utilisateurs
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/users/lookup
paths:
  /2/tweets:
    post:
      tags:
        - Tweets
      summary: Créer ou mettre à jour une Publication
      description: >-
        Crée une nouvelle Publication pour l’utilisateur authentifié ou modifie
        une Publication existante si des edit_options sont fournies.
      operationId: createPosts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TweetCreateRequest'
        required: true
      responses:
        '201':
          description: La requête a réussi.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TweetCreateResponse'
        default:
          description: La requête a échoué.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - OAuth2UserToken:
            - tweet.read
            - tweet.write
            - users.read
        - UserToken: []
      externalDocs:
        url: >-
          https://developer.x.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets
components:
  schemas:
    TweetCreateRequest:
      type: object
      properties:
        card_uri:
          type: string
          description: >-
            Paramètre Card URI. Ce paramètre ne peut pas être utilisé
            conjointement avec Quote Tweet Id, Poll, Media ou Direct Message
            Deep Link.
        community_id:
          $ref: '#/components/schemas/CommunityId'
        direct_message_deep_link:
          type: string
          description: >-
            Lien permettant de faire passer la conversation de la timeline
            publique à un Message direct privé.
        edit_options:
          type: object
          description: >-
            Options pour modifier une Publication existante. Lorsqu’elles sont
            définies, cette requête modifie la Publication spécifiée au lieu
            d’en créer une nouvelle.
          required:
            - previous_post_id
          properties:
            previous_post_id:
              $ref: '#/components/schemas/TweetId'
          additionalProperties: false
        for_super_followers_only:
          type: boolean
          description: Tweet réservé aux super‑followers.
          default: false
        geo:
          type: object
          description: Identifiant de lieu associé au Tweet pour la géolocalisation.
          properties:
            place_id:
              type: string
          additionalProperties: false
        media:
          type: object
          description: >-
            Informations relatives aux médias associés au Tweet créé. Ce champ
            est mutuellement exclusif avec Quote Tweet id, Poll et Card URI.
          required:
            - media_ids
          properties:
            media_ids:
              type: array
              description: Une liste d’identifiants de médias à associer au Tweet créé.
              minItems: 1
              maxItems: 4
              items:
                $ref: '#/components/schemas/MediaId'
            tagged_user_ids:
              type: array
              description: >-
                Une liste d’identifiants d’utilisateurs à mentionner dans les
                médias du Tweet créé.
              minItems: 0
              maxItems: 10
              items:
                $ref: '#/components/schemas/UserId'
          additionalProperties: false
        nullcast:
          type: boolean
          description: >-
            Les Publications nullcastées (diffusées uniquement en promotion)
            n’apparaissent pas dans la timeline publique et ne sont pas
            diffusées aux abonnés.
          default: false
        poll:
          type: object
          description: >-
            Options pour un Tweet contenant un sondage. Ceci est mutuellement
            exclusif avec Media, l’id du Tweet cité et l’URI de la carte (Card).
          required:
            - options
            - duration_minutes
          properties:
            duration_minutes:
              type: integer
              description: Durée du sondage en minutes.
              minimum: 5
              maximum: 10080
              format: int32
            options:
              type: array
              minItems: 2
              maxItems: 4
              items:
                type: string
                description: Texte pour un choix de sondage.
                minLength: 1
                maxLength: 25
            reply_settings:
              type: string
              description: Paramètres indiquant qui peut répondre au Tweet.
              enum:
                - following
                - mentionedUsers
                - subscribers
                - verified
          additionalProperties: false
        quote_tweet_id:
          $ref: '#/components/schemas/TweetId'
        reply:
          type: object
          description: Informations sur le Tweet auquel il répond.
          required:
            - in_reply_to_tweet_id
          properties:
            auto_populate_reply_metadata:
              type: boolean
              description: >-
                Si défini sur true, les métadonnées de réponse seront
                automatiquement renseignées.
            exclude_reply_user_ids:
              type: array
              description: >-
                Une liste d’identifiants utilisateur à exclure de la réponse au
                Tweet.
              items:
                $ref: '#/components/schemas/UserId'
            in_reply_to_tweet_id:
              $ref: '#/components/schemas/TweetId'
          additionalProperties: false
        reply_settings:
          type: string
          description: Paramètres définissant qui peut répondre au Tweet.
          enum:
            - following
            - mentionedUsers
            - subscribers
            - verified
        share_with_followers:
          type: boolean
          description: Partager également la publication de la communauté avec les abonnés.
          default: false
        text:
          $ref: '#/components/schemas/TweetText'
      additionalProperties: false
    TweetCreateResponse:
      type: object
      properties:
        data:
          type: object
          required:
            - id
            - text
          properties:
            id:
              $ref: '#/components/schemas/TweetId'
            text:
              $ref: '#/components/schemas/TweetText'
        errors:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Problem'
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    Problem:
      type: object
      description: >-
        Un objet HTTP Problem Details, tel que défini dans la RFC IETF 7807
        (https://tools.ietf.org/html/rfc7807).
      required:
        - type
        - title
      properties:
        detail:
          type: string
        status:
          type: integer
        title:
          type: string
        type:
          type: string
      discriminator:
        propertyName: type
        mapping:
          about:blank:
            $ref: '#/components/schemas/GenericProblem'
          https://api.twitter.com/2/problems/client-disconnected:
            $ref: '#/components/schemas/ClientDisconnectedProblem'
          https://api.twitter.com/2/problems/client-forbidden:
            $ref: '#/components/schemas/ClientForbiddenProblem'
          https://api.twitter.com/2/problems/conflict:
            $ref: '#/components/schemas/ConflictProblem'
          https://api.twitter.com/2/problems/disallowed-resource:
            $ref: '#/components/schemas/DisallowedResourceProblem'
          https://api.twitter.com/2/problems/duplicate-rules:
            $ref: '#/components/schemas/DuplicateRuleProblem'
          https://api.twitter.com/2/problems/invalid-request:
            $ref: '#/components/schemas/InvalidRequestProblem'
          https://api.twitter.com/2/problems/invalid-rules:
            $ref: '#/components/schemas/InvalidRuleProblem'
          https://api.twitter.com/2/problems/noncompliant-rules:
            $ref: '#/components/schemas/NonCompliantRulesProblem'
          https://api.twitter.com/2/problems/not-authorized-for-field:
            $ref: '#/components/schemas/FieldUnauthorizedProblem'
          https://api.twitter.com/2/problems/not-authorized-for-resource:
            $ref: '#/components/schemas/ResourceUnauthorizedProblem'
          https://api.twitter.com/2/problems/operational-disconnect:
            $ref: '#/components/schemas/OperationalDisconnectProblem'
          https://api.twitter.com/2/problems/resource-not-found:
            $ref: '#/components/schemas/ResourceNotFoundProblem'
          https://api.twitter.com/2/problems/resource-unavailable:
            $ref: '#/components/schemas/ResourceUnavailableProblem'
          https://api.twitter.com/2/problems/rule-cap:
            $ref: '#/components/schemas/RulesCapProblem'
          https://api.twitter.com/2/problems/streaming-connection:
            $ref: '#/components/schemas/ConnectionExceptionProblem'
          https://api.twitter.com/2/problems/unsupported-authentication:
            $ref: '#/components/schemas/UnsupportedAuthenticationProblem'
          https://api.twitter.com/2/problems/usage-capped:
            $ref: '#/components/schemas/UsageCapExceededProblem'
    CommunityId:
      type: string
      description: L’identifiant unique de cette Communauté.
      pattern: ^[0-9]{1,19}$
      example: '1146654567674912769'
    TweetId:
      type: string
      description: >-
        Identifiant unique de ce Tweet. Il est renvoyé sous forme de chaîne de
        caractères afin d’éviter les complications avec les langages et outils
        qui ne gèrent pas les entiers de très grande taille.
      pattern: ^[0-9]{1,19}$
      example: '1346889436626259968'
    MediaId:
      type: string
      description: L’identifiant unique de ce média.
      pattern: ^[0-9]{1,19}$
      example: '1146654567674912769'
    UserId:
      type: string
      description: >-
        Identifiant unique de cet utilisateur. Il est renvoyé sous forme de
        chaîne de caractères afin d’éviter les problèmes avec les langages et
        outils qui ne prennent pas en charge les entiers de grande taille.
      pattern: ^[0-9]{1,19}$
      example: '2244994945'
    TweetText:
      type: string
      description: Contenu du Tweet.
      example: >-
        Learn how to use the user Tweet timeline and user mention timeline
        endpoints in the X API v2 to explore Tweet\u2026
        https:\/\/t.co\/56a0vZUx7i
    GenericProblem:
      description: >-
        Problème générique ne contenant aucune information supplémentaire
        au-delà de celle fournie par le code d’état HTTP.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ClientDisconnectedProblem:
      description: Votre client a été déconnecté.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ClientForbiddenProblem:
      description: >-
        Un problème indiquant que votre client n’est pas autorisé à effectuer
        cette requête.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            reason:
              type: string
              enum:
                - official-client-forbidden
                - client-not-enrolled
            registration_url:
              type: string
              format: uri
    ConflictProblem:
      description: >-
        Vous ne pouvez pas créer de nouvelle tâche si une tâche est déjà en
        cours.
      allOf:
        - $ref: '#/components/schemas/Problem'
    DisallowedResourceProblem:
      description: >-
        Objet Problem qui indique que la ressource demandée enfreint les
        principes de cette API.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - resource_id
            - resource_type
            - section
          properties:
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
    DuplicateRuleProblem:
      description: La règle que vous avez soumise est un doublon.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            id:
              type: string
            value:
              type: string
    InvalidRequestProblem:
      description: Un Problem qui indique que cette requête est invalide.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            errors:
              type: array
              minItems: 1
              items:
                type: object
                properties:
                  message:
                    type: string
                  parameters:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
    InvalidRuleProblem:
      description: La règle que vous avez soumise est invalide.
      allOf:
        - $ref: '#/components/schemas/Problem'
    NonCompliantRulesProblem:
      description: >-
        Un Problem indiquant que l'ensemble de règles de l'utilisateur n'est pas
        conforme.
      allOf:
        - $ref: '#/components/schemas/Problem'
    FieldUnauthorizedProblem:
      description: >-
        Un problème indiquant que vous n’êtes pas autorisé à voir un champ
        particulier d’un Tweet, d’un utilisateur, etc.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - resource_type
            - field
            - section
          properties:
            field:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
    ResourceUnauthorizedProblem:
      description: >-
        Un problème indiquant que vous n’êtes pas autorisé à voir un Tweet, un
        utilisateur, etc. donné.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - value
            - resource_id
            - resource_type
            - section
            - parameter
          properties:
            parameter:
              type: string
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
            value:
              type: string
    OperationalDisconnectProblem:
      description: Vous avez été déconnecté pour des raisons opérationnelles.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            disconnect_type:
              type: string
              enum:
                - OperationalDisconnect
                - UpstreamOperationalDisconnect
                - ForceDisconnect
                - UpstreamUncleanDisconnect
                - SlowReader
                - InternalError
                - ClientApplicationStateDegraded
                - InvalidRules
    ResourceNotFoundProblem:
      description: >-
        Un Problem qui indique qu’un Tweet, un utilisateur, etc. donné n’existe
        pas.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - parameter
            - value
            - resource_id
            - resource_type
          properties:
            parameter:
              type: string
              minLength: 1
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            value:
              type: string
              description: La valeur sera conforme au schéma du champ.
    ResourceUnavailableProblem:
      description: >-
        Un problème indiquant qu’un Tweet, un utilisateur, etc. donné n’est pas
        disponible pour vous.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - parameter
            - resource_id
            - resource_type
          properties:
            parameter:
              type: string
              minLength: 1
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
    RulesCapProblem:
      description: Vous avez dépassé le nombre maximal de règles autorisées.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ConnectionExceptionProblem:
      description: >-
        Un objet Problem indiquant qu’il y a un dysfonctionnement avec la
        connexion.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            connection_issue:
              type: string
              enum:
                - TooManyConnections
                - ProvisioningSubscription
                - RuleConfigurationIssue
                - RulesInvalidIssue
    UnsupportedAuthenticationProblem:
      description: >-
        Un Problem indiquant que le mécanisme d’authentification utilisé n’est
        pas pris en charge.
      allOf:
        - $ref: '#/components/schemas/Problem'
    UsageCapExceededProblem:
      description: Un Problem qui indique qu’un plafond d’utilisation a été dépassé
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            period:
              type: string
              enum:
                - Daily
                - Monthly
            scope:
              type: string
              enum:
                - Account
                - Product
  securitySchemes:
    OAuth2UserToken:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.x.com/2/oauth2/authorize
          tokenUrl: https://api.x.com/2/oauth2/token
          scopes:
            block.read: View accounts you have blocked.
            bookmark.read: Read your bookmarked Posts.
            bookmark.write: Create and delete your bookmarks.
            dm.read: Read all your Direct Messages.
            dm.write: Send and manage your Direct Messages.
            follows.read: View accounts you follow and accounts following you.
            follows.write: Follow and unfollow accounts on your behalf.
            like.read: View Posts you have liked and likes you can see.
            like.write: Like and unlike Posts on your behalf.
            list.read: >-
              View Lists, members, and followers of Lists you created or are a
              member of, including private Lists.
            list.write: Create and manage Lists on your behalf.
            media.write: Upload media, such as photos and videos, on your behalf.
            mute.read: View accounts you have muted.
            mute.write: Mute and unmute accounts on your behalf.
            offline.access: Request a refresh token for the app.
            space.read: View all Spaces you have access to.
            timeline.read: >-
              View all Custom Timelines you can see, including public Custom
              Timelines from other developers.
            tweet.moderate.write: Hide and unhide replies to your Posts.
            tweet.read: >-
              View all Posts you can see, including those from protected
              accounts.
            tweet.write: Post and repost on your behalf.
            users.read: View any account you can see, including protected accounts.
    UserToken:
      type: http
      scheme: OAuth

````