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

# Introducción a la Chat API

> Descripción general de la Chat API de X para enviar y recibir mensajes directos cifrados de extremo a extremo y firmados con el Chat XDK.

La **Chat API** te permite enviar y recibir mensajes directos **cifrados de extremo a extremo** en X. Los cuerpos de los mensajes se cifran en el cliente; X enruta el texto cifrado y no puede leer el contenido en texto plano. Los mensajes también se **firman** para que los destinatarios puedan verificar al remitente.

***

## Lo que necesitas en tu aplicación

| Pieza                            | Responsabilidad                                                                                                                                                          |
| :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **[Chat XDK](/xchat/xchat-xdk)** | Generar claves, cifrar/descifrar, firmar/verificar y, opcionalmente, copia de seguridad segura de claves protegida con código de acceso (Python, JS, Rust, Go, C#, Java) |
| **Acceso a la X API**            | Claves públicas, claves de conversación, mensajes, eventos y multimedia—mediante el **[XDK](/xdks/python/overview)** (Python/TypeScript) o HTTPS                         |
| **Entrega**                      | [Webhooks o activity stream](/xchat/real-time-events) para eventos en vivo; events API para historial                                                                    |

Sigue **[Primeros pasos](/xchat/getting-started)** para una implementación completa. Si solo quieres conceptos, consulta el **[Manual básico de criptografía](/xchat/cryptography-primer)**.

***

## Cómo funciona el cifrado (resumen)

1. Crea pares de claves de **identidad** y **firma**; guarda las claves privadas de forma segura (copia de seguridad segura de claves o un blob protegido).
2. **Publica las claves públicas** para que otros puedan intercambiar claves de conversación contigo y verificar firmas.
3. Comparte una **clave de conversación** publicando copias cifradas para cada participante.
4. **Cifra y firma** los mensajes salientes; envía a X solo el texto cifrado.
5. **Recibe** texto cifrado a través de webhooks, stream o historial de eventos.
6. **Verifica y descifra** con el Chat XDK.

***

## Endpoints útiles

Agrupados bajo **API reference** en la barra lateral, incluyen:

* Claves públicas — registrar y consultar
* Conversaciones y mensajes — listar/obtener conversaciones, agregar/rotar claves, eventos, enviar, escribiendo, leído, membresía de grupo
* Multimedia — subir y descargar adjuntos cifrados ([guía](/xchat/media))

***

## Notas de autenticación

Usa **OAuth 2.0 user context** con los scopes relacionados a DM (`dm.read`, `dm.write`, además de `users.read` / `tweet.read` según sea necesario; `media.write` para subidas). La actividad de X Chat de un usuario requiere la autorización de ese usuario. La configuración de la copia de seguridad segura de claves se devuelve en **tu** registro de clave pública (campo `juicebox_config`)—consulta Primeros pasos.

***

## Próximos pasos

1. [Manual básico de criptografía](/xchat/cryptography-primer) — antecedentes opcionales sobre conceptos de E2EE
2. [Primeros pasos](/xchat/getting-started) — implementa claves, envío y recepción
3. [Chat XDK](/xchat/xchat-xdk) — referencia del SDK de cifrado
4. [Eventos en tiempo real](/xchat/real-time-events), [Multimedia](/xchat/media) o [Solución de problemas](/xchat/troubleshooting) cuando necesites esos temas
