Pular para o conteúdo principal
Com expansions, os desenvolvedores podem expandir objetos referenciados no payload. Os objetos disponíveis para expansão são referenciados por ID. Por exemplo, os campos referenced_tweets.id e author_id retornados no payload de Posts lookup podem ser expandidos em objetos completos. Se você deseja solicitar fields relacionados ao usuário que publicou aquele Post ou à mídia, enquete (poll) ou local incluídos naquele Post, será necessário passar o parâmetro de query de expansion correspondente na sua solicitação para receber esses data na sua resposta. Atualmente, endpoints v2 que retornam Posts, Users, Lists, Spaces e objetos de evento de Mensagem Direta oferecem suporte a expansions (veja os exemplos abaixo). Ao incluir uma expansion na sua solicitação, incluiremos os fields padrão desse objeto expandido na mesma resposta. Isso ajuda a retornar data adicional na mesma resposta sem a necessidade de solicitações separadas. Se você deseja solicitar fields adicionais relacionados ao objeto expandido, pode incluir o parâmetro de field associado a esse objeto expandido, junto com uma lista de fields separados por vírgulas que você deseja receber na resposta. Observe que os fields nem sempre são retornados na mesma ordem em que foram solicitados na query. O payload de Post abaixo contém IDs de referência para objetos complementares que podem ser expandidos, incluindo o author_id de quem publicou o Post, o id de um Post referenciado e um media_key para um anexo de mídia.
{
    "data": {
        "attachments": {
            "media_keys": ["16_1211797899316740096"]
        },
        "author_id": "2244994945",
        "id": "1212092628029698048",
        "referenced_tweets": [
            {
                "type": "replied_to",
                "id": "1212092627178287104"
            }
        ],
        "text": "Acreditamos que a melhor versão futura da nossa API virá de construí-la junto com VOCÊ. Um brinde a mais um ótimo ano com todos que desenvolvem na plataforma X. Mal podemos esperar para continuar trabalhando com você no novo ano. https://t.co/yvxdK6aOo2"
    }
}

Expansões disponíveis para payloads de Post

ExpansionDescription
author_idRetorna um objeto de usuário que representa o autor do Post
referenced_tweets.idRetorna um Objeto Post ao qual este Post faz referência (como Retweet, Tweet com citação ou resposta)
edit_history_tweet_idsRetorna Objetos Post que fazem parte do histórico de edição de um Post
in_reply_to_user_idRetorna um objeto de usuário que representa o autor do Post ao qual o Post solicitado é uma resposta
attachments.media_keysRetorna um objeto de mídia que representa as imagens, vídeos e GIFs incluídos no Post
attachments.poll_idsRetorna um objeto de enquete contendo metadados da enquete incluída no Post
geo.place_idRetorna um objeto de local contendo metadados do local marcado no Post
entities.mentions.usernameRetorna um objeto de usuário para o usuário mencionado no Post
referenced_tweets.id.author_idRetorna um objeto de usuário para o autor do Post referenciado

Expansões disponíveis para payloads de usuário

ExpansãoDescrição
pinned_tweet_idRetorna um Objeto Post que representa o Post fixado no topo do perfil do usuário

Expansions disponíveis para cargas de eventos de Mensagem Direta

ExpansionDescription
attachments.media_keysRetorna um objeto Media que foi anexado a uma Mensagem Direta
referenced_tweets.idRetorna um Objeto Post que foi referenciado em uma Mensagem Direta
sender_idRetorna um objeto User que representa o autor de uma Mensagem Direta e quem convidou um participante para participar de uma conversa
participant_idsRetorna um objeto User que representa um participante que entrou ou saiu de uma conversa

Expansions disponíveis para payloads de Spaces

ExpansionDescrição
invited_user_idsRetorna objetos de usuário que representam as contas convidadas
speaker_idsRetorna objetos de usuário que representam as contas que falaram durante um Space
creator_idRetorna um objeto de usuário que representa a conta que criou o Space
host_idsRetorna objetos de usuário que representam as contas definidas como anfitriãs
topics_idsRetorna descrições de tópicos definidas pelo criador

Expansões disponíveis para cargas de List

ExpansãoDescrição
owner_idRetorna um objeto de usuário que representa a conta que criou e mantém a List

Expandindo o objeto Media

Na solicitação a seguir, estamos pedindo a expansão geo.place_id para incluí-la junto aos Post fields padrão: Exemplo de solicitação
{`curl 'https://api.x.com/2/tweets/:ID?expansions=geo.place_id' --header 'Authorization: Bearer $ACCESS_TOKEN'`}
Exemplo de resposta
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "Teste"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}

Expandindo o objeto Poll

Na solicitação a seguir, estamos pedindo a expansão attachments.poll_ids para incluí-la junto com os Post fields padrão: Exemplo de solicitação Exemplo de resposta
{`{
  "data": {
      "attachments": {
          "poll_ids": ["1199786642468413448"]
      },
      "id": "1199786642791452673",
      "text": "C#"
  },
  "includes": {
      "polls": [
          {
              "id": "1199786642468413448",
              "options": [
                  {
                      "position": 1,
                      "label": "“C Sharp”"
                      "votes": 795
                  },
                  {
                      "position": 2,
                      "label": "“C Hashtag”"
                      "votes": 156
                  }
              ]
          }
      ]
  }
}`}

Expandindo o objeto Place

Na solicitação a seguir, estamos requisitando a expansão geo.place_id para incluir, junto aos campos padrão de Post: Exemplo de solicitação Exemplo de resposta
{`{
  "data": {
      "geo": {
          "place_id": "01a9a39529b27f36"
      },
      "id": "ID",
      "text": "Teste"
  },
  "includes": {
      "places": [
          {
              "full_name": "Manhattan, NY",
              "id": "01a9a39529b27f36"
          }
      ]
  }
}`}
I