> ## 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.

# 개요

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

최신 버전의 X API v2는 매우 중요한 변경 사항입니다. 따라서 이 마이그레이션 섹션을 몇 가지 부분으로 나누었습니다:

| X API v2의 새로운 기능  | X API v2에 새로 추가된 엔드포인트와 기능에 대해 알아보세요.                                          |
| :---------------- | :----------------------------------------------------------------------------- |
| 마이그레이션할 준비가 되셨나요? | 일련의 가이드와 지침을 통해 마이그레이션을 시작하세요.                                                 |
| 데이터 형식 마이그레이션 가이드 | 기존에 standard v1.1 및 enterprise 데이터 형식과 함께 동작하던 데이터 파서를 어떻게 다시 구성할 수 있는지 알아보세요. |
| X API 엔드포인트 맵     | standard v1.1 및 enterprise 엔드포인트가 새로운 X API v2 엔드포인트에 어떻게 매핑되는지 확인하세요.         |

***

<div id="what-is-the-x-api-v2">
  ## X API v2란?
</div>

X API v2는 이제 주요 X API이며, 제품 투자와 혁신이 집중되는 영역입니다. 우리는 다양한 개발자 커뮤니티를 더 잘 지원하기 위해 개발자들과 협력하여 차세대 X API를 구축해 왔습니다. 개발자 피드백을 바탕으로 더 폭넓은 요구 사항을 충족하고, 새로운 기능과 엔드포인트를 도입하며, 개발자 경험을 개선할 수 있도록 API를 다시 설계했습니다.

X API v2는 이제 주요 X API이며, 제품 투자와 혁신이 집중되는 영역입니다. 지난 몇 년 동안 우리는 개발자들과 협력하여 더 폭넓은 요구 사항을 충족하고, 새로운 기능과 엔드포인트를 도입하며, 개발자 경험을 개선할 수 있도록 API를 다시 설계해 왔습니다. 우리는 개방형 개발자 플랫폼을 지속적으로 구축하는 데 전념하고 있으며, 여러분이 X API v2를 활용해 무엇을 만들지 기대하고 있습니다.

<div id="why-migrate">
  ## 왜 마이그레이션해야 하나요?
</div>

X API v2는 현대적이고 더 지속 가능한 기반 위에 구축되었으며, 표준 v1.1 및 엔터프라이즈 제품을 위한 향상된 대체 엔드포인트뿐만 아니라 완전히 새로운 기능도 제공합니다. 당사는 레거시 API(v1.1 및 엔터프라이즈) 사용자가 v2로의 마이그레이션을 시작할 것을 강력히 권장하며, 해당 API들은 장기적으로 사용이 중단될 예정입니다. X API를 사용하여 공개 대화를 모니터링하고 분석하며, X에서 사람들과 소통하고, 새로운 기능을 혁신적으로 활용해 보세요.

이 섹션에서는 엔드포인트와 기능에 대해 설명합니다.

<div id="v2-endpoints">
  ## V2 endpoints
</div>

다음 가이드를 통해 v2 엔드포인트 전체 목록과 v2 이전 버전에서의 대응 엔드포인트를 확인할 수 있습니다:

<Button href="/ko/x-api/migrate/x-api-endpoint-map">
  X API Endpoint 맵
</Button>

대부분의 X API v2 엔드포인트는 기존 엔드포인트를 대체하지만, 여러 새로운 엔드포인트도 도입했습니다. 다음은 v2에서 새로 제공하는 엔드포인트의 몇 가지 예시입니다:

* [Spaces 엔드포인트](/ko/x-api/spaces/introduction)는 사람들이 X Spaces를 더 잘 활용할 수 있도록 돕고, 개발자가 오디오 대화의 미래를 설계하는 데 기여할 수 있도록 합니다.
* [답글 숨기기](/ko/x-api/posts/hide-replies/introduction)는 악의적이거나 산만하거나 오해를 불러일으킬 수 있는 답글의 영향을 대규모로 줄이는 도구를 구축할 수 있게 해 줍니다.
* 새로운 Lists 엔드포인트를 사용하면 [리스트를 고정 및 고정 해제](/ko/x-api/lists/pinned-lists/introduction)하거나, 특정 사용자의 고정된 리스트를 조회할 수 있습니다.
* 새로운 [배치 규정 준수 엔드포인트](/ko/x-api/compliance/batch-compliance/introduction)를 사용하면 저장된 사용자 및 Tweet 데이터가 관련 규정을 준수하고 있는지 확인할 수 있습니다.

<div id="new-functionality">
  ## 새로운 기능
</div>

X API v2에는 X API를 통해 더 많은 가치를 얻을 수 있도록 돕는 새로운 기능이 포함되어 있습니다. 다수의 신규 기능은 여러분의 피드백을 반영해 설계되었으며, 이전에는 엔터프라이즈 고객에게만 제공되던 일부 기능도 포함하고 있습니다.

API의 주요 개선 사항은 다음과 같습니다.

* [엔드포인트 전반에 걸친 일관된 설계](/ko/x-api/fundamentals/consistency)
* [응답 페이로드에 어떤 필드와 객체를 반환할지 지정할 수 있는 기능](/ko/x-api/fundamentals/data-dictionary#how-to-use-fields-and-expansions)
* [새롭고 더 세분화된 데이터 객체](/ko/x-api/fundamentals/data-dictionary)
* [Tweet 주석으로 제공되는 새로운 컨텍스트 정보를 활용해 데이터를 수신하고 필터링할 수 있는 기능](/ko/x-api/fundamentals/post-annotations)
* [새로운 메트릭에 대한 접근](/ko/x-api/fundamentals/metrics)
* [답글 스레드에 속한 대화를 쉽게 식별하고 필터링할 수 있는 기능](/ko/x-api/fundamentals/conversation-id)
* [학술 연구자를 위한 고급 기능 및 데이터 접근성 확대](https://developer.x.com/content/developer-twitter/en/products/twitter-api/academic-research)
* [스트리밍 엔드포인트를 위한 복구 및 이중화(레던던시) 기능](/ko/x-api/posts/filtered-stream/integrate/recovery-and-redundancy-features)
* [쿼리에 일치하는 Tweet 개수를 쉽게 반환할 수 있는 기능](/ko/x-api/posts/counts/introduction)
* [Edit Tweets 지원](/ko/x-api/fundamentals/edit-posts)
* 높은 신뢰도의 스팸 필터링
* 보다 효과적인 필터링 및 분석을 위해 단축 URL을 완전히 해제해 전체 URL을 제공
* 사용 중단된 필드를 제거하고 레이블을 현대화해 단순화한 JSON 응답 객체
* 검색 쿼리에서 일치하는 공개·사용 가능한 Tweet을 100% 반환
* 연결을 끊지 않고도 변경할 수 있는 스트리밍 "rules"
* Tweet 검색, Tweet 개수, 필터링된 스트림을 위한 더욱 표현력 있는 쿼리 언어
* 새로운 라이브러리를 구축하고 변경 사항을 더 투명하게 추적하기 위한 OpenAPI 스펙

<div id="discover-new-and-updated-response-objects">
  ### 새롭고 업데이트된 응답 객체 살펴보기
</div>

v2 엔드포인트에서는 다음 여섯 가지 데이터 객체를 사용할 수 있습니다:

| Object                                                 | Description                                                                                                                                 |
| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |
| [Tweet](/ko/x-api/fundamentals/data-dictionary#tweet)  | Tweet 객체에는 `id`, `text`, `created_at`와 같은 루트 수준 필드가 길게 정의되어 있습니다. Tweet 객체는 `user`, `media`, `poll`, `place`를 포함한 여러 자식 객체의 부모 객체이기도 합니다.   |
| [User](/ko/x-api/fundamentals/data-dictionary#user)    | User 객체에는 참조된 사용자를 설명하는 X 사용자 계정 메타데이터가 포함되어 있습니다.                                                                                          |
| [Spaces](/ko/x-api/fundamentals/data-dictionary#space) | Space 객체에는 `state`, `host_id`, `is_ticketed`, `lang` 등의 필드가 포함됩니다.                                                                          |
| [Lists](/ko/x-api/fundamentals/data-dictionary#list)   | 리스트 객체에는 요청된 리스트에 대한 기본 정보(`description`, `member_count`, `owner_id` 등)가 포함됩니다.                                                             |
| [Media](/ko/x-api/fundamentals/data-dictionary#media)  | Tweet에 이미지와 같은 미디어가 포함되어 있는 경우, `media.fields` 매개변수를 사용해 media 객체를 요청할 수 있으며, `media_key`, `type`, `url`, `preview_image_url` 등의 필드가 포함됩니다. |
| [Poll](/ko/x-api/fundamentals/data-dictionary#poll)    | Tweet에 포함된 투표는 어떤 엔드포인트에서도 기본(주) 객체는 아니지만, Tweet 객체에서 조회하고 확장할 수 있습니다.                                                                      |
| [Place](/ko/x-api/fundamentals/data-dictionary#place)  | place 객체에는 `place_id`, `geo` 객체, `country_code` 등의 필드가 포함됩니다. 이 정보는 Tweet을 식별하고 위치 기준으로 Tweet을 분석하는 데 사용할 수 있습니다.                           |

[필드와 expansions를 사용하는 방법](/ko/x-api/fundamentals/data-dictionary#how-to-use-fields-and-expansions)에 대해 더 알아보세요.

<div id="flexibility-to-choose-which-objects-and-fields-you-receive">
  ### 수신할 객체와 필드를 유연하게 선택하기
</div>

GET 엔드포인트에 요청을 보내면 해당 엔드포인트와 관련된 기본 데이터 객체를 받게 되며, 여기에는 기본 필드 집합이 포함됩니다. 예를 들어, Tweet 객체는 기본적으로 `id` 및 `text` 필드를 제공합니다.

요청에 추가 필드를 포함해 가져오려면 [fields](/ko/x-api/fundamentals/fields) 및 [expansions](/ko/x-api/fundamentals/expansions) 파라미터를 사용해야 합니다. `expansions` 파라미터를 사용하면 사용자의 고정 Tweet이나 미디어 객체와 같은 관련 데이터 객체를 가져올 수 있고, 필드 관련 파라미터를 사용하면 기본값을 넘어 반환된 객체 내에서 특정 필드를 선택적으로 요청할 수 있습니다.

다음은 다양한 X API v2 엔드포인트에서 요청할 수 있는 expansions의 전체 목록입니다:

| Object / Resource | Available Expansions                                                                                                                                                                                                   |
| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tweets            | `author_id`, `edit_history_tweet_ids`, `entities.mentions.username`, `in_reply_to_user_id`, `referenced_tweets.id`, `referenced_tweets.id.author_id`, `attachments.poll_ids`, `attachments.media_keys`, `geo.place_id` |
| Users             | `pinned_tweet_id`                                                                                                                                                                                                      |
| Spaces            | `invited_user_ids`, `speaker_ids`, `creator_id`, `host_ids`, `topic_ids`                                                                                                                                               |

[fields와 expansions를 사용하는 방법](/ko/x-api/fundamentals/data-dictionary#how-to-use-fields-and-expansions)에 대해 더 자세히 알아보세요.

<div id="new-metrics-available-within-tweets-users-spaces-and-media-objects">
  ## Tweet, 사용자, Spaces, 리스트, 미디어 객체에서 사용 가능한 신규 지표
</div>

이제 Tweet, 사용자, Spaces, 리스트, 미디어 객체에서 더 많은 지표를 조회할 수 있습니다. 이 지표에는 공개 지표와 비공개 지표가 모두 포함되며, 일부 지표는 Tweet 광고에서 오가닉(organic) 또는 프로모션(promoted) 컨텍스트로 세분해 확인할 수 있습니다.

사용 가능한 [지표](/ko/x-api/fundamentals/metrics)에 대해 더 알아보세요.

| 객체     | 사용 가능한 지표            | 공개 지표 | 비공개 지표 | 오가닉 지표 | 프로모션 지표 |
| :----- | :------------------- | :---- | :----- | :----- | :------ |
| tweets | retweet\_count       | ✔️    |        | ✔️     | ✔️      |
|        | quote\_count         | ✔️    |        |        |         |
|        | like\_count          | ✔️    |        | ✔️     | ✔️      |
|        | reply\_count         | ✔️    |        | ✔️     | ✔️      |
|        | impression\_count    |       | ✔️     | ✔️     | ✔️      |
|        | url\_profile\_clicks |       | ✔️     | ✔️     | ✔️      |
|        | url\_link\_clicks    |       | ✔️     | ✔️     | ✔️      |
| user   | follower\_count      | ✔️    |        |        |         |
| user   | following\_count     | ✔️    |        |        |         |
| media  | view\_count          |       | ✔️     |        |         |
| media  | playback\_0\_count   |       | ✔️     |        |         |
| space  | participant\_count   | ✔️    |        |        |         |

<div id="edit-tweets">
  ## Tweet 편집
</div>

X API v2 엔드포인트는 편집된 Tweet 메타데이터를 제공합니다. *Edit Tweet* 기능은 2022년 9월 1일 X 직원들을 대상으로 테스트 목적으로 처음 도입되었습니다. 그날부터 편집 자격이 있는 Tweet은 30분 동안 최대 5번까지 편집할 수 있습니다. [Tweet 편집](/ko/x-api/fundamentals/edit-posts)에 대해 더 알아보세요.
X API v2를 사용하면 개발자는 다음을 확인할 수 있습니다:

* Tweet이 생성 시점에 편집 자격이 있었는지 여부. 설문조사가 포함된 Tweet이나 예약된 Tweet 등 일부 Tweet은 편집할 수 없습니다.
* Tweet은 30분 동안 편집할 수 있으며, 최대 5번까지 편집이 가능합니다. 편집 가능한 Tweet의 경우 남은 편집 가능 시간과 추가로 몇 번 더 편집할 수 있는지 확인할 수 있습니다.
* 현재 보고 있는 Tweet이 편집된 버전인지 여부(대부분의 경우, 특정 과거 버전을 Tweet ID로 요청하지 않는 한 API는 해당 Tweet의 최신 버전을 반환합니다).
* 해당 Tweet의 전체 편집 기록.
* Tweet 각 버전에 귀속되는 참여(engagement) 지표.

<div id="track-threaded-conversations">
  ## 스레드 대화 추적
</div>

새로운 Tweet 필드를 사용하면 특정 Tweet이 어느 대화 스레드에 속하는지 식별할 수 있습니다. 대화 ID는 해당 대화를 시작한 Tweet의 Tweet ID입니다. [대화 추적](/ko/x-api/fundamentals/conversation-id)에 대해 더 알아보세요.

<div id="ready-to-migrate">
  ## 마이그레이션 준비
</div>

v2 엔드포인트를 사용하려면 다음이 필요합니다.

* [개발자 계정](https://developer.x.com/en/portal/petition/essential/basic-info)
* [프로젝트](resources/fundamentals/projects) 내에 생성된 [개발자 App](https://developer.x.com/en/apps)
* 해당 프로젝트의 개발자 App에서 발급된 [키와 토큰](resources/fundamentals/authentication)

프로젝트 내 App에서 발급된 키와 토큰을 사용하는 것이 중요합니다. 프로젝트 외부의 App에서 발급된 키와 토큰을 사용하는 경우 v2 엔드포인트에 요청을 보낼 수 없습니다.

개발자 계정을 보유하고 있으면 위의 모든 항목을 [개발자 콘솔](https://developer.x.com/en/portal/petition/essential/basic-info)에서 설정할 수 있습니다.

<div id="authentication">
  ### 인증
</div>

새로운 Twitter API에서는 서로 다른 엔드포인트에 접근하기 위해 OAuth 1.0a User Context와 OAuth 2.0 Bearer 토큰이라는 두 가지 인증 방식을 사용합니다. 각 방식은 엔드포인트에 요청을 보낼 때 서로 다른 용도로 사용됩니다.

OAuth 1.0a User Context는 Twitter 사용자를 대신해 요청할 때 필요합니다.
OAuth 2.0 Bearer 토큰은 개발자 App을 대신해 요청할 때 필요합니다.

<div id="tools-and-code">
  ## 도구 및 코드
</div>

새로운 엔드포인트와 기능에 익숙해지고 빠르게 시작할 수 있도록 몇 가지 옵션을 제공합니다.

* Twitter [Postman 컬렉션](https://app.getpostman.com/run-collection/9956214-784efcda-ed4c-4491-a4c0-a26470a67400)을 사용하면 Postman 클라이언트로 개별 엔드포인트에 요청을 보내고 연결할 수 있습니다. 이는 인증을 테스트하고 엔드포인트를 시험해 보기에 간편한 방법입니다.
* 또한 Ruby, Python, Node.js, Java 등 다양한 언어에 대해 Twitter에서 지원하는 라이브러리와 서드파티 라이브러리 목록을 제공하고 있습니다. 자세한 내용은 [도구 및 라이브러리 페이지](/ko/x-api/tools-and-libraries/overview)를 참조하세요.

<div id="migrating-to-updated-endpoints">
  ## 업데이트된 엔드포인트로 마이그레이션하기
</div>

새로운 Twitter v2 엔드포인트를 살펴보기 시작할 때, 각 업데이트된 엔드포인트의 기능을 이전 버전과 비교·대조할 수 있도록 다음과 같은 일련의 상세 마이그레이션 가이드를 제공하고 있습니다:

* **Tweets**
  * [Tweets 조회](/ko/x-api/posts/lookup/integrate)
  * [Tweet 관리](/ko/x-api/posts/manage-tweets/migrate/overview)
  * [타임라인](/ko/x-api/posts/timelines/migrate/overview)
  * [Tweet 검색](/ko/x-api/posts/search/migrate/overview)
  * [Tweet 개수](/ko/x-api/posts/counts/migrate/overview)
  * [필터링된 스트림](/ko/x-api/posts/filtered-stream/migrate/overview)
  * 샘플 스트림
  * [리트윗](/ko/x-api/posts/retweets/migrate/overview)
  * [좋아요](/ko/x-api/posts/likes/migrate/likes-lookup-standard-to-twitter-api-v2)
  * [답글 숨기기](/ko/x-api/posts/hide-replies/migrate)
* **Users**
  * [사용자 조회](/ko/x-api/users/lookup/migrate/overview)
  * [팔로우](/ko/x-api/users/follows/migrate/standard-to-twitter-api-v2)
  * [차단](/ko/x-api/users/blocks/migrate)
  * [뮤트](/ko/x-api/users/mutes/migrate/manage-mutes-standard-to-twitter-api-v2)
* **리스트**
  * [리스트 조회](/ko/x-api/lists/list-lookup/migrate/overview)
  * [리스트 관리](/ko/x-api/lists/manage-lists/migrate/overview)
  * [리스트 Tweet 조회](/ko/x-api/lists/list-tweets/migrate/overview)
  * [리스트 멤버](/ko/x-api/lists/list-members/migrate/overview)

<div id="migrating-to-the-new-data-format">
  ## 새로운 데이터 형식으로 마이그레이션
</div>

v1.1 또는 enterprise에서 v2로 전환할 때, 데이터 제공 형식이 크게 변경되었다는 점을 이해하는 것이 중요합니다. 새로운 필드가 추가되고, 필드의 순서가 변경되었으며, 일부 경우에는 요소가 완전히 제거되었습니다.

이러한 변경 사항을 더 잘 이해할 수 있도록, v2 이전 데이터 형식의 필드를 새로운 필드에 매핑하는 데 도움을 주고, 이러한 새 필드를 요청하는 방법을 설명하는 일련의 가이드를 준비하고 있습니다.

이 마이그레이션 허브의 [데이터 형식 마이그레이션](/ko/x-api/migrate/data-format-migration) 섹션을 방문하거나, 다음과 같은 개별 데이터 형식 가이드를 통해 더 자세히 알아볼 수 있습니다.

* [네이티브 형식에서 X API v2(standard v1.1)로](/ko/x-api/migrate/data-format-migration#migrating-from-standard-v1-1s-data-format-to-v2)
* [Native Enriched에서 X API v2(enterprise)로](/ko/x-api/migrate/data-format-migration#migrating-from-native-enriched-data-format-to-v2)
* [Activity Streams에서 X API v2(enterprise)로](/ko/x-api/migrate/data-format-migration#migrating-from-activity-streams-data-format-to-v2)

<div id="whats-next">
  ## 다음 단계
</div>

플랫폼을 이미 한동안 사용해 온 분들은 많은 신규 엔드포인트가 기존 [standard v1.1](https://developer.x.com/en/docs/twitter-api/v1) 및 [enterprise](/ko/x-api/enterprise-gnip-2.0/enterprise-gnip) 엔드포인트와 일치하도록 설계되어 있다는 점을 알아차리셨을 것입니다. 실제로, 우리는 앞으로 이 엔드포인트들이 세 가지 버전 모두를 대체하도록 할 계획입니다.

[X API 엔드포인트 매핑](/ko/x-api/migrate/x-api-endpoint-map)이 이전 버전들과 어떻게 연결되는지 이해하는 데 도움이 되도록 표를 준비했습니다.

앞으로 어떤 기능이 추가될 예정인지 확인하려면 [제품 로드맵](https://trello.com/b/myf7rKwV/twitter-developer-platform-roadmap)을 방문해 주세요.

또한 이미 어떤 내용을 출시했는지 확인할 수 있는 [변경 로그](https://developer.x.com/en/updates/changelog)도 제공하고 있습니다.

<div id="what-should-we-build-next">
  ### 다음에는 무엇을 만들어야 할까요?
</div>

X API v2의 추가 기능을 계속 확장해 나가면서 여러분의 의견을 계속 듣고 싶습니다. 여러분의 [피드백](https://twitterdevfeedback.uservoice.com/)을 언제나 환영하며 적극적으로 요청드립니다.

이미 제출된 아이디어를 살펴보고, 여러분의 필요와 맞는 것에 지지를 보내고, 의견도 함께 남겨 주세요!
