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

# Configura tu propia clave de API de X

> Guía paso a paso para conectar tus propias credenciales de API de X (Twitter) con Ayrshare

El 31 de marzo de 2026, X cambió la forma en que las plataformas de terceros acceden a su API. Como resultado, cada cuenta de Ayrshare que publique en X a través de Ayrshare debe registrar su propia X Developer App y usar su API Key y API Secret en cada solicitud.

Este es un cambio a nivel de plataforma exigido por X que afecta a todas las herramientas de terceros.

<Info>
  **Las claves BYO se establecen una vez por plataforma (a nivel de cuenta), no por cliente o subperfil.** Creas **una X Developer App** bajo tu propia cuenta de X, y la misma **API Key + API Secret** se aplican a nivel de cuenta para X: se utilizan para **cada** subperfil / usuario final que vincule X bajo tu cuenta de Ayrshare. Si tienes un plan Business o Enterprise con cientos de subperfiles, **no** necesitas repetir esta configuración para cada uno. La configuras una vez para la plataforma X y luego pasas los mismos dos headers en cada solicitud.
</Info>

Hemos simplificado el proceso de configuración para hacer esto lo más sencillo posible, y debería llevar menos de 10 minutos completarlo. Sigue nuestra guía paso a paso a continuación, y si necesitas ayuda en el camino, nuestro equipo está aquí para ayudar.

## Paso 1: Crea tu cuenta de X Developer

<Steps>
  <Step title="Inicia sesión en la Developer Console">
    Ve a [console.x.com](https://console.x.com) e inicia sesión con tu cuenta de X. Consulta la [guía de introducción de X](https://docs.x.com/x-api/getting-started/getting-access) si necesitas ayuda.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step1-developer-console.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=58a00543db365d4d889722070643a070" alt="X Developer Console sign-in page" data-path="images/dashboard/x-byo-setup/step1-developer-console.webp" />
  </Step>

  <Step title="Completa la incorporación">
    Completa la incorporación de desarrollador y acepta el Developer Agreement y las políticas.
  </Step>

  <Step title="Accede a la consola">
    Ya estás en la X Developer Console.
  </Step>
</Steps>

## Paso 2: Crear una app

<Info>
  Solo creas **una X Developer App por cuenta de Ayrshare**. La misma app y su API Key + API Secret se reutilizan para cada subperfil / usuario final que vincules posteriormente bajo tu cuenta de Ayrshare. No creas una nueva app por cliente.
</Info>

<Steps>
  <Step title="Navega a Apps">
    En la Developer Console, navega a **Apps**.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step2-apps-page.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=36076b8577cb46f4713cad41933bae2f" alt="Apps page in X Developer Console" data-path="images/dashboard/x-byo-setup/step2-apps-page.webp" />
  </Step>

  <Step title="Crear la app">
    En el App dashboard, haz clic en **Create App** (consulta la [documentación de configuración de App de X](https://docs.x.com/fundamentals/developer-apps) para más detalles). Introduce un nombre de app (típicamente el nombre de tu marca). Este nombre aparecerá en la pantalla de autorización de OAuth cuando los usuarios conecten su cuenta de X.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step2-create-app.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=dd9627eeb7e58c80f6249dd5cbfb0d4e" alt="Create App button in the X Developer Console" data-path="images/dashboard/x-byo-setup/step2-create-app.webp" />
  </Step>

  <Step title="Seleccionar entorno">
    Selecciona el entorno **Production** en el desplegable.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step2-credentials-popup.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=2b111d840665b0b7eb96fc0d9df99f0e" alt="Production environment selection and credentials popup" data-path="images/dashboard/x-byo-setup/step2-credentials-popup.webp" />
  </Step>

  <Step title="Cierra la ventana emergente de credenciales inicial">
    X generará varias credenciales. **Ignora estas credenciales y cierra esta ventana.**
  </Step>
</Steps>

## Paso 3: Configurar los permisos de la app

<Steps>
  <Step title="Abre la configuración de tu app">
    En "Apps", localiza la nueva app (actualiza la página si no aparece) y luego haz clic en ella para ver sus detalles.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step3-app-details.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=41f185aa2ffb4d90f0f9f174597cc4f1" alt="App details page in the X Developer Console" data-path="images/dashboard/x-byo-setup/step3-app-details.webp" />

    En **User authentication settings**, haz clic en **Set up**.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step3-user-auth-settings.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=4faad9d5bc061f442ee0cc605e0aad6a" alt="User authentication settings, click Set up" data-path="images/dashboard/x-byo-setup/step3-user-auth-settings.webp" />
  </Step>

  <Step title="Establecer permisos de la app">
    En **App permissions**, selecciona **Read and write and Direct message**. Esto es necesario para el soporte completo de funciones, incluidas las publicaciones y los DMs.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step3-app-permissions.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=57549ea060507af5b99552b6952ef95a" alt="App permissions set to Read and write and Direct message" data-path="images/dashboard/x-byo-setup/step3-app-permissions.webp" />
  </Step>

  <Step title="Establecer el tipo de app">
    En **Type of App**, selecciona **Web App, Automated App or Bot**. Esta es la elección correcta para integraciones del lado del servidor como Ayrshare.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step3-app-type.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=8609d048548432862ad801113e7b7b8e" alt="Type of App set to Web App, Automated App or Bot" data-path="images/dashboard/x-byo-setup/step3-app-type.webp" />
  </Step>

  <Step title="Establece las URLs de callback y del sitio web">
    En **App info**:

    * **Callback URL:** Añade ambas de las siguientes URLs de callback:
      * `https://profile.ayrshare.com/social-accounts`
      * `https://app.ayrshare.com/social-accounts`
    * **Website URL:** `https://app.ayrshare.com`

    <Warning>
      **No omitas este paso.** Estas URLs de callback son necesarias para el flujo de vinculación OAuth. Cuando tus usuarios finales autorizan la conexión a X, X los redirige a una de estas URLs para completar el proceso de vinculación. Si faltan, el flujo de OAuth fallará con un error `403 Callback URL not approved`.
    </Warning>

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/itktiDewCYTaymFN/images/dashboard/x-byo-setup/step3-app-info-urls.webp?fit=max&auto=format&n=itktiDewCYTaymFN&q=85&s=09d7254aa2d183e2899f95412e97316b" alt="App info form with callback URL and website URL filled in" data-path="images/dashboard/x-byo-setup/step3-app-info-urls.webp" />
  </Step>

  <Step title="Guarda tu configuración">
    Haz clic en **Save**. Puedes ignorar la ventana emergente de OAuth 2.0, ya que solo usarás 2 de las claves de OAuth 1.0 (API Key y API Secret).
  </Step>
</Steps>

<Warning>
  **Importante: establece los permisos antes de vincular.** Los permisos que elijas aquí determinan lo que tu app puede hacer. Si cambias los permisos después de vincular tu cuenta de X vía OAuth, tendrás que volver a vincularla para que el nuevo Access Token herede los permisos actualizados.

  <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step3-keys-and-tokens.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=761423c4c27f0c90b480d00f1ff253f7" alt="Keys and tokens page showing OAuth 1.0 keys with permission level" data-path="images/dashboard/x-byo-setup/step3-keys-and-tokens.webp" />
</Warning>

Asegúrate de almacenar estas 2 claves:

1. **API Key** (también conocida como Consumer Key, el identificador de la app de X)
2. **API Secret** (también conocida como Consumer Secret)

<Info>
  **NO** necesitas generar manualmente Access Tokens. Ayrshare se encarga de esto automáticamente cuando vinculas tu cuenta de X vía OAuth.
</Info>

## Paso 4: Comprar créditos de API de X

X ahora usa facturación de API basada en créditos, comprados a través de la developer console.

<Steps>
  <Step title="Navega a facturación">
    En la Developer Console, haz clic en **Billing → Credits** en la barra lateral izquierda.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step4-billing-credits.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=b104e991f726ec2ecb8cc8274d1889d2" alt="Billing Credits page in X Developer Console" data-path="images/dashboard/x-byo-setup/step4-billing-credits.webp" />
  </Step>

  <Step title="Comprar créditos">
    Compra créditos (el mínimo es \$5, suficiente para cientos de llamadas a la API). Cada llamada a la API es una fracción de centavo, por lo que el costo debería ser mínimo para la mayoría de los usuarios.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step4-purchase-credits.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=ae555dc44bcfdfb0d7e4f55237b248ef" alt="Credit purchase page in the X Developer Console" data-path="images/dashboard/x-byo-setup/step4-purchase-credits.webp" />
  </Step>

  <Step title="Habilita la recarga automática">
    Puedes habilitar la **auto-recharge** para evitar interrupciones del servicio y gestionar tu spend cap estableciendo un monto máximo que puedes gastar en tu ciclo de facturación.

    <img class="center" width="700" src="https://mintcdn.com/ayrshare-docs/qVYhhKC6hYCwYmRp/images/dashboard/x-byo-setup/step4-auto-recharge.webp?fit=max&auto=format&n=qVYhhKC6hYCwYmRp&q=85&s=c9e0f36c379bbd5c47c8b242213eaa6a" alt="Auto-recharge and spend cap settings in X Developer Console" data-path="images/dashboard/x-byo-setup/step4-auto-recharge.webp" />
  </Step>
</Steps>

<Warning>
  **Tus llamadas a la API fallarán sin créditos.** La API de X es de pago por uso. Si tu saldo de créditos es cero, cada solicitud a la API devolverá un error `402 CreditsDepleted` con el mensaje "Your enrolled account does not have any credits to fulfill this request." Esto incluye publicar, leer tweets y búsquedas de usuarios. Carga créditos antes de probar tu integración. Consulta [Cómo funciona el precio de la API de X](#how-x-api-pricing-works) para una actualización completa sobre los precios de X.
</Warning>

## Paso 5: Actualizar tus llamadas a la API de Ayrshare

En el paso 3, guardaste estos 2 elementos de forma segura en tu propio env, config o gestor de secretos:

1. **API Key** (también conocida como Consumer Key, el identificador de la app de X)
2. **API Secret** (también conocida como Consumer Secret)

Ahora, añade tus credenciales de X a los headers de tus llamadas a la API de Ayrshare.

<Info>
  **Tus claves siguen siendo privadas.** Ayrshare no almacena tu API Key ni tu API Secret.
</Info>

### Referencia de headers

| Header                        | Valor                            |
| ----------------------------- | -------------------------------- |
| `X-Twitter-OAuth1-Api-Key`    | API Key (Consumer Key)           |
| `X-Twitter-OAuth1-Api-Secret` | API Key Secret (Consumer Secret) |

<Warning>
  **Cómo saber si tus permisos están mal:**

  * Si los permisos de tu app están mal configurados, tu solicitud a la API puede devolver un error `403 Forbidden` con el mensaje: "Your client app is not configured with the appropriate OAuth1 app permissions."

  Si ves este error, actualiza los permisos de tu app a **Read and write and Direct message** en la X Developer Console, luego vuelve a vincular tu cuenta de X vía OAuth para que el nuevo Access Token herede los permisos actualizados.
</Warning>

### Ejemplos de código

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X POST https://api.ayrshare.com/api/post \
    -H "Authorization: Bearer YOUR_AYRSHARE_API_KEY" \
    -H "X-Twitter-OAuth1-Api-Key: your_api_key" \
    -H "X-Twitter-OAuth1-Api-Secret: your_api_secret" \
    -H "Content-Type: application/json" \
    -d '{"post": "Hello from my own X App!", "platforms": ["twitter"]}'
  ```

  ```javascript Node.js theme={"system"}
  const response = await fetch("https://api.ayrshare.com/api/post", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_AYRSHARE_API_KEY",
      "Content-Type": "application/json",
      "X-Twitter-OAuth1-Api-Key": process.env.X_API_KEY,
      "X-Twitter-OAuth1-Api-Secret": process.env.X_API_SECRET,
    },
    body: JSON.stringify({
      post: "Hello from my own X App!",
      platforms: ["twitter"],
    }),
  });
  ```

  ```python Python theme={"system"}
  import os
  import requests

  headers = {
      "Authorization": "Bearer YOUR_AYRSHARE_API_KEY",
      "Content-Type": "application/json",
      "X-Twitter-OAuth1-Api-Key": os.environ["X_API_KEY"],
      "X-Twitter-OAuth1-Api-Secret": os.environ["X_API_SECRET"],
  }

  response = requests.post(
      "https://api.ayrshare.com/api/post",
      headers=headers,
      json={"post": "Hello from my own X App!", "platforms": ["twitter"]},
  )
  ```
</CodeGroup>

Tus automatizaciones y flujos de trabajo existentes seguirán funcionando siempre que incluyas los headers API Key y API Secret en cada solicitud dirigida a X.

### Migrar perfiles existentes (Business y Enterprise)

Si tienes subperfiles que ya están vinculados a X a través de Ayrshare, esos perfiles necesitan volver a vincular sus cuentas de X después de cambiar a claves BYO. Esto se debe a que los access tokens existentes se emitieron bajo la app de X de Ayrshare y no se pueden usar con tus consumer keys (las firmas de OAuth 1.0a están vinculadas a la app que emitió el token).

<Steps>
  <Step title="Incluye tus claves en generateJWT">
    Añade `twitterApiKey` y `twitterApiSecret` al cuerpo de tu llamada a [generateJWT](/apis/profiles/generate-jwt#body-parameters-13). Estas se cifran antes de incrustarse en el JWT y no se exponen a tus usuarios finales.

    ```json theme={"system"}
    {
      "domain": "your-domain",
      "profileKey": "...",
      "privateKey": "...",
      "twitterApiKey": "YOUR_X_CONSUMER_KEY",
      "twitterApiSecret": "YOUR_X_CONSUMER_SECRET"
    }
    ```

    Esta es la única solicitud donde tus consumer keys van en el cuerpo. Todas las demás solicitudes de X usan los headers descritos arriba.
  </Step>

  <Step title="Haz que los usuarios vuelvan a vincular X">
    Después de generar el JWT con las claves incluidas, tus usuarios necesitan reconectar su cuenta de X a través de la página de vinculación de perfiles. La pantalla de consentimiento de OAuth ahora mostrará el nombre de tu app en lugar del de Ayrshare.

    Para agilizar esto, puedes:

    * Desvincular cuentas programáticamente a través de la [API de desvinculación](/apis/profiles/unlink-social-network#unlink-a-social-network), luego hacer que los usuarios re-autoricen
    * Usar el [parámetro `logout`](/apis/profiles/generate-jwt#param-logout) en generateJWT para forzar un nuevo inicio de sesión
    * Usar [`allowedSocial`](/apis/profiles/generate-jwt#param-allowed-social) para mostrar solo X en la página de vinculación durante el flujo de migración
  </Step>

  <Step title="Sigue enviando headers en todas las llamadas a la API">
    Después de volver a vincular, continúa incluyendo los headers `X-Twitter-OAuth1-Api-Key` y `X-Twitter-OAuth1-Api-Secret` en cada llamada a la API (publicación, analíticas, comentarios, etc.).
  </Step>
</Steps>

<Info>
  Una vez que un perfil se haya vuelto a vincular bajo tu app de X, todas las publicaciones posteriores para ese perfil usarán tus credenciales. Puedes verificar esto revisando la página Usage en tu [X Developer Console](https://console.x.com).
</Info>

### Verifica tu configuración

Haz una llamada de prueba a través de la API de Ayrshare con tus nuevos headers para confirmar que todo está funcionando. El endpoint [/analytics/social](/apis/analytics/social) es una buena prueba ligera, ya que no creará ninguna publicación.

## Cómo funciona el precio de la API de X

Anteriormente, Ayrshare cubría el costo del uso de la API de X en tu nombre. Bajo el modelo actual de X, cada cliente de Ayrshare mantiene su propia cuenta de X Developer y paga a X directamente por las solicitudes a la API que hace su aplicación. (Una cuenta de X Developer por cuenta de Ayrshare, no por usuario final. Todos tus subperfiles comparten la misma cuenta de X Developer y el mismo saldo de créditos.)

El modelo de precios de X es de pago por uso: compras créditos en la X Developer Console y se deducen a medida que se realizan las solicitudes a la API. No se necesitan contratos ni suscripciones.

Las operaciones típicas son económicas. Por ejemplo:

| Operación                                         | Costo aproximado                                                                                        |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Crear una publicación (solo texto)                | \~\$0.01 por publicación                                                                                |
| Crear una publicación con media                   | \~\$0.02 por publicación (la subida de media y la creación de la publicación son solicitudes separadas) |
| Leer una publicación                              | \~\$0.005 por lectura                                                                                   |
| Búsqueda de usuario                               | \~\$0.01 por búsqueda                                                                                   |
| Enviar un DM                                      | \~\$0.01 por mensaje                                                                                    |
| Leer eventos de DM                                | \~\$0.01 por evento                                                                                     |
| Interacciones de usuario (seguir, dar like, etc.) | \~\$0.015 por solicitud                                                                                 |

Como contexto, si publicas unas 100 veces al mes, tu costo directo con X sería probablemente alrededor de \$1, y las publicaciones con media serían aproximadamente \$2 al mes.

<Note>
  El precio de pago por uso de X está actualmente en fase piloto. Las tarifas están sujetas a cambios y pueden introducirse costos adicionales. Siempre consulta la Developer Console para conocer los precios más actuales. Consulta el [desglose de información de precios de X](https://docs.x.com/x-api/fundamentals/pricing).
</Note>

Sabemos que esto introduce un costo que antes no existía, y queremos ser transparentes al respecto. Al mismo tiempo, este modelo también desbloquea varios beneficios que no eran posibles bajo la configuración previa de clave compartida.

## Beneficios de usar tu propia clave de API de X

Usar tus propias credenciales de API de X proporciona más control y fiabilidad que el modelo previo de clave compartida. Esto incluye:

* **Experiencia OAuth con marca:** Los usuarios ven el nombre y la marca de tu app cuando autorizan el acceso a X.
* **Límites de tasa dedicados:** Tu uso de la API se rige por los límites de tu propia cuenta de X Developer, separados de otros usuarios de Ayrshare. Puedes monitorear tu uso en la [X Developer Console](https://console.x.com) y revisar la [documentación de rate limits de la API de X](https://developer.x.com/en/docs/x-api/rate-limits).
* **Control de credenciales:** Tu API Key y Secret permanecen en tu propia cuenta de X Developer. Ayrshare no almacena tus claves secretas.
* **Portabilidad:** Como los usuarios se autentican con tu X App, tu integración permanece totalmente bajo tu control.
* **Visibilidad del uso:** Tu panel de X Developer muestra las solicitudes a la API, los rate limits y el uso de créditos.

X es la primera plataforma que requiere este modelo, pero más plataformas se están moviendo hacia "bring your own API key". Estamos expandiendo esta capacidad a todo Ayrshare, para que los desarrolladores tengan el mismo control e independencia en todas las plataformas sociales.

## Seguridad

* Ayrshare no almacena tu API Key ni tu API Secret.
* Para las mejores prácticas de seguridad general, consulta la [guía de seguridad de autenticación de X](https://docs.x.com/resources/fundamentals/authentication).

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Necesito configurar esto para cada cliente / subperfil?">
    **No.** Configuras **una** X Developer App bajo tu propia cuenta de X, y la misma **API Key + API Secret** se reutilizan para cada subperfil / usuario final que vincules bajo tu cuenta de Ayrshare.

    * Creas la X Developer App **una vez**.
    * Pasas los mismos dos headers (`X-Twitter-OAuth1-Api-Key` y `X-Twitter-OAuth1-Api-Secret`) en cada llamada a la API de Ayrshare, independientemente del subperfil al que se dirija la llamada.
    * Tus usuarios finales aún pasan cada uno por el flujo de vinculación OAuth para autorizar su propia cuenta de X, pero **no** necesitan su propia X Developer App o claves de API. Se conectan a través de tu app.
    * Todos los subperfiles comparten la misma cuenta de X Developer, los mismos rate limits y el mismo saldo de créditos.

    La única vez que manejas las claves por perfil es en el cuerpo de [generateJWT](/apis/profiles/generate-jwt) durante la migración, que sigue siendo tus dos mismas claves, solo entregadas a la página de vinculación para que los usuarios finales puedan re-autorizar bajo tu app.
  </Accordion>

  <Accordion title="¿El requisito de clave de API de X está activo ahora?">
    Sí. Desde el 31 de marzo de 2026, todas las operaciones de X a través de Ayrshare requieren tus propias credenciales de API de X. Si aún no has configurado tu cuenta de X Developer, sigue los pasos anteriores.
  </Accordion>

  <Accordion title="¿Qué pasa si no añado mi clave de API de X a Ayrshare?">
    Publicar en X a través de Ayrshare requiere tus propias credenciales de API de X. Las solicitudes sin credenciales BYO válidas son rechazadas. Publicar en otras plataformas (Instagram, LinkedIn, Facebook, TikTok, etc.) no se ve afectado.
  </Accordion>

  <Accordion title="¿Cuánto cuesta la API de X?">
    X cobra por llamada a la API. Crear una publicación cuesta alrededor de \$0.01, y leer una publicación cuesta alrededor de \$0.005. Por ejemplo, publicar 100 publicaciones al mes costaría aproximadamente \$1. Consulta la [página de precios de X](https://docs.x.com/x-api/fundamentals/pricing) para más detalles.
  </Accordion>

  <Accordion title="¿Esto cambia el precio de mi suscripción de Ayrshare?">
    No. El precio de tu suscripción de Ayrshare permanece igual. El único costo adicional es la tarifa de uso de la API de X facturada directamente por X a través de tu cuenta de desarrollador.
  </Accordion>

  <Accordion title="¿Ayrshare almacena mis credenciales de API de X?">
    No. Ayrshare no almacena tu API Key ni tu API Secret. Para las mejores prácticas de seguridad general, consulta la [guía de seguridad de autenticación de X](https://docs.x.com/resources/fundamentals/authentication).
  </Accordion>

  <Accordion title="Ya tengo una cuenta de X Developer. ¿Puedo usar mi clave existente?">
    Sí. Puedes usar tu X App existente siempre y cuando tenga habilitados los permisos "Read and write" (y Direct Messages si usas funciones de DM).

    Necesitarás tu API Key (Consumer Key) y API Secret (Consumer Secret) de la sección Keys and tokens de la X Developer Console. Vincula tu cuenta de X vía OAuth y luego incluye estos 2 headers en tus solicitudes a la API de Ayrshare.

    Si has cambiado los permisos de tu app desde la configuración inicial, vuelve a vincular tu cuenta de X para que el Access Token herede los permisos actualizados.
  </Accordion>

  <Accordion title="El X Developer Portal muestra muchas credenciales. ¿Cuáles necesito realmente?">
    Necesitas tu API Key (Consumer Key) y API Secret (Consumer Secret). Consulta la [tabla de referencia de headers](#header-reference) arriba para saber exactamente a qué header de Ayrshare se asigna cada uno. Puedes ignorar el Client ID, Client Secret, Bearer Token, Access Token y Access Token Secret.
  </Accordion>

  <Accordion title="¿Cuál es la diferencia entre 'API Key' y 'Client ID'?">
    Son credenciales completamente diferentes para diferentes métodos de autenticación:

    * **API Key** (también llamada "Consumer Key") es para OAuth 1.0a. API Key (Consumer Key) + API Secret es lo que Ayrshare usa. Funciona con todas las funciones de X, los tokens nunca expiran y no se necesita lógica de renovación.
    * **Client ID** es para OAuth 2.0. NO necesitas esto para Ayrshare. Los tokens de OAuth 2.0 expiran después de un corto período y requieren la gestión de refresh tokens.

    Para Ayrshare, solo necesitas tu API Key y API Secret. Puedes ignorar el Client ID, Client Secret y Bearer Token.
  </Accordion>

  <Accordion title="¿Por qué OAuth 1.0a y no OAuth 2.0?">
    Los access tokens de OAuth 2.0 expiran cada 2 horas y los refresh tokens de X son de un solo uso (cada renovación invalida el token antiguo). Esto hace imposible soportar un modelo BYO sin estado, especialmente para publicaciones programadas. Los tokens de OAuth 1.0a nunca expiran, funcionan con todas las funciones de X y no requieren gestión de tokens.
  </Accordion>

  <Accordion title="¿Mis usuarios existentes necesitan volver a vincular sus cuentas de X?">
    Sí. Si tus usuarios vincularon X a través de Ayrshare antes de que configuraras claves BYO, tendrán que reconectarse. Los access tokens existentes se emitieron bajo la app de X de Ayrshare y no funcionarán con tus consumer keys. Consulta [Migrar perfiles existentes](#migrating-existing-profiles-business--enterprise) arriba para el proceso paso a paso.
  </Accordion>

  <Accordion title="¿Este cambio afecta la publicación en Instagram, LinkedIn u otras plataformas?">
    No. Este cambio solo afecta la publicación en X. Todas las demás integraciones de plataformas en Ayrshare siguen funcionando como de costumbre.
  </Accordion>

  <Accordion title="¿Qué pasa con la publicación automática de RSS/Feed en X?">
    La publicación automática de RSS en X ya no está soportada. Los feeds RSS se ejecutan automáticamente según un horario, pero el modelo bring-your-own API key requiere que se proporcionen credenciales con cada solicitud a la API. Debido a esto, los feeds RSS no pueden autenticarse cuando se envía la publicación.

    Si previamente usabas RSS para publicar en X, recomendamos cambiar a [publicaciones programadas](/apis/post/overview#schedule-posts) o llamadas directas a la API que incluyan tus credenciales. La publicación automática de RSS en todas las demás plataformas no ha cambiado.
  </Accordion>

  <Accordion title="¿Por qué recibo un error 402 &#x22;CreditsDepleted&#x22;?">
    Esto significa que tu cuenta de X Developer no tiene créditos de API disponibles. Ve a [console.x.com](https://console.x.com) → **Billing → Credits** y compra créditos. Incluso \$5 son suficientes para cientos de llamadas a la API. Una vez cargados los créditos, reintenta tu solicitud.
  </Accordion>

  <Accordion title="¿Por qué recibo un error 403 &#x22;Forbidden: OAuth1 App Permissions&#x22;?">
    Tu Access Token no tiene los permisos correctos. Esto normalmente significa una de dos cosas:

    1. **Los permisos de tu app están establecidos en "Read" en lugar de "Read and write."** Ve a la configuración de tu app en la Developer Console y cámbialos a **Read and write and Direct message**.
    2. **Cambiaste los permisos después de vincular tu cuenta de X.** Los Access Tokens conservan los permisos con los que fueron creados. Vuelve a vincular tu cuenta de X vía OAuth para que el nuevo token herede los permisos actualizados.
  </Accordion>

  <Accordion title="¿Qué pasa si necesito ayuda para configurar esto?">
    Nuestro equipo de soporte está encantado de ayudar. Si tienes alguna pregunta o encuentras problemas durante la configuración, contáctanos a través de [support@ayrshare.com](mailto:support@ayrshare.com) y te guiaremos en el proceso.
  </Accordion>
</AccordionGroup>

## Solución de problemas

<AccordionGroup>
  <Accordion title="Recibo un error 400 sobre headers faltantes">
    Asegúrate de estar enviando ambos headers requeridos:

    * `X-Twitter-OAuth1-Api-Key`
    * `X-Twitter-OAuth1-Api-Secret`

    Si ves un error de par no coincidente (por ejemplo, "You provided Api-Key but not Api-Secret"), significa que uno de los dos está faltando. Ambos son siempre necesarios.

    El mensaje de error te dirá qué header específico falta.
  </Accordion>

  <Accordion title={'Recibo un error 403: "Callback URL not approved"'}>
    Si ves este error al intentar vincular tu cuenta de X, asegúrate de haber añadido las URLs de callback requeridas a la configuración de tu X Developer App (en Authentication settings > Callback URI / Redirect URL):

    * `https://profile.ayrshare.com/social-accounts`
    * `https://app.ayrshare.com/social-accounts`

    Consulta el [paso de configuración de la Callback URL](#step-3-configure-app-permissions) arriba.
  </Accordion>

  <Accordion title={'Recibo un error 402: "CreditsDepleted"'}>
    Tu cuenta de X Developer no tiene créditos de API cargados. Ve a [console.x.com](https://console.x.com) → **Billing → Credits** y compra créditos. Incluso \$5 son suficientes para cientos de llamadas a la API.
  </Accordion>

  <Accordion title={'Recibo un error 403: "oauth1 app permissions"'}>
    Tu Access Token no tiene los permisos correctos. Esto normalmente significa:

    1. **Los permisos de tu app están establecidos en "Read" en lugar de "Read and write."** Ve a la configuración de tu app en la Developer Console y cámbialos a **Read and write and Direct message**.
    2. **Cambiaste los permisos después de vincular tu cuenta de X.** Los Access Tokens conservan los permisos con los que fueron creados. Vuelve a vincular tu cuenta de X vía OAuth para que el nuevo token herede los permisos actualizados.
  </Accordion>
</AccordionGroup>

## ¿Necesitas ayuda?

Si tienes alguna pregunta o encuentras problemas al configurar tu clave de API de X, nuestro equipo de ingeniería está encantado de ayudar. Puedes contactarnos en cualquier momento en [support@ayrshare.com](mailto:support@ayrshare.com).
