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

# Client

> Reference for the client Python package in the X API SDK, grouping the client and Pydantic models for the client endpoints of the X API v2.

This module provides the primary Client class for interacting with the X API.
It coordinates all sub-clients and handles authentication, session management,
and OAuth2 PKCE flows. All functionality is generated from the OpenAPI specification.

## Client

<Badge color="blue">Class</Badge>

<Badge color="gray">Bases: object</Badge>

\| None = None)

Cliente para interactuar con la X API.

## Constructores

### `__init__`

Inicializa el cliente de la X API.

#### Parámetros

<ParamField path="path.base_url" type="str" default="'https://api.x.com'">
  La URL base de la X API (por defecto [https://api.x.com](https://api.x.com)).
</ParamField>

<ParamField path="path.bearer_token" type="str or None" default="None">
  El bearer token para la X API (autenticación app-only).
</ParamField>

<ParamField path="path.access_token" type="str or None" default="None">
  El access token de OAuth2 para contexto de usuario (puede usarse directamente como bearer token).
</ParamField>

<ParamField path="path.client_id" type="str or None" default="None">
  El client ID para la X API (requerido para el flujo OAuth2 PKCE).
</ParamField>

<ParamField path="path.client_secret" type="str or None" default="None">
  El client secret para la X API.
</ParamField>

<ParamField path="path.redirect_uri" type="str or None" default="None">
  La URI de redirección para la autorización OAuth2.
</ParamField>

<ParamField path="path.token" type="Dict[str, Any] or None" default="None">
  Un diccionario de token OAuth2 existente (si está disponible). Si se proporciona, se extraerá access\_token.
</ParamField>

<ParamField path="path.scope" type="str or List[str] or None" default="None">
  Cadena separada por espacios o lista de cadenas para los scopes de autorización OAuth2.
</ParamField>

<ParamField path="path.authorization_base_url" type="str" default="'https://x.com/i'">
  La URL base para la autorización OAuth2 (por defecto [https://x.com/i](https://x.com/i)).
</ParamField>

<ParamField path="path.auth" type="OAuth1">
  Instancia de OAuth1 para la autenticación OAuth 1.0a.
</ParamField>

#### Parámetros

<ParamField path="path.base_url" type="str" default="'https://api.x.com'" />

<ParamField path="path.bearer_token" type="str or None" default="None" />

<ParamField path="path.access_token" type="str or None" default="None" />

<ParamField path="path.client_id" type="str or None" default="None" />

<ParamField path="path.client_secret" type="str or None" default="None" />

<ParamField path="path.redirect_uri" type="str or None" default="None" />

<ParamField path="path.token" type="Dict[str, Any] or None" default="None" />

<ParamField path="path.scope" type="str or List[str] or None" default="None" />

<ParamField path="path.authorization_base_url" type="str" default="'https://x.com/i'" />

<ParamField path="path.auth" type="OAuth1" />

### `exchange_code`

Intercambia el código de autorización por tokens (coincide con la API de TypeScript).

#### Parámetros

<ParamField path="path.code" type="Any">
  El código de autorización del callback.
</ParamField>

<ParamField path="path.code_verifier" type="Any" default="None">
  Verificador de código opcional (usa el verificador almacenado si no se proporciona).
</ParamField>

### `fetch_token`

Obtiene el token usando la URL de respuesta de autorización (método heredado).

#### Parámetros

<ParamField path="path.authorization_response" type="Any">
  La URL de callback completa recibida después de la autorización.
</ParamField>

### `get_authorization_url`

Obtiene la URL de autorización para el flujo OAuth2 PKCE.

#### Parámetros

<ParamField path="path.state" type="Any" default="None">
  Parámetro de estado opcional por seguridad.
</ParamField>

### `is_token_expired`

Verifica si el token OAuth2 ha expirado.

### `refresh_token`

Renueva el token OAuth2.
