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

# Índice de la referencia de la API OAuth

<div id="oauth-10a">
  ### OAuth 1.0a
</div>

|                                                                                                                                                                                |                                                                                                                     |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |
| **Propósito**                                                                                                                                                                  | Método                                                                                                              |
| Paso 1 del flujo OAuth de 3 fases y de Iniciar sesión con X  <br />Permite a una aplicación cliente obtener un OAuth Request Token para solicitar la autorización del usuario. | [POST oauth/request\_token](/es/resources/fundamentals/authentication/api-reference#post-oauth-request-token)       |
| Paso 2 del flujo OAuth de 3 fases y de Iniciar sesión con X  <br />Permite a una aplicación cliente usar un OAuth Request Token para solicitar la autorización del usuario.    | [GET oauth/authenticate](/es/resources/fundamentals/authentication/api-reference#get-oauth-authenticate)            |
| Paso 2 del flujo OAuth de 3 fases y de Iniciar sesión con X  <br />Permite a una aplicación cliente usar un OAuth Request Token para solicitar la autorización del usuario.    | [GET oauth/authorize](/es/resources/fundamentals/authentication/api-reference#get-oauth-authorize)                  |
| Paso 3 del flujo OAuth de 3 fases y de Iniciar sesión con X  <br />Permite a una aplicación cliente intercambiar el OAuth Request Token por un OAuth Access Token.             | [POST oauth/access\_token](/es/resources/fundamentals/authentication/api-reference#post-oauth-access-token)         |
| Permite que una aplicación registrada revoque un OAuth Access Token emitido.                                                                                                   | [POST oauth/invalidate\_token](/es/resources/fundamentals/authentication/api-reference#post-oauth-invalidate-token) |

<div id="oauth-20-bearer-token">
  ### Bearer Token de OAuth 2.0
</div>

|                                                                                                                                                                                                       |                                                                                                                       |
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |
| **Propósito**                                                                                                                                                                                         | Método                                                                                                                |
| Permite que una App registrada genere un Bearer Token de OAuth 2 de solo aplicación (app-only), que puede utilizarse para realizar solicitudes a la API en nombre de la App, sin contexto de usuario. | [POST oauth2/token](/es/resources/fundamentals/authentication/api-reference#post-oauth2-token)                        |
| Permite que una App registrada revoque un Bearer Token de OAuth 2 de solo aplicación (app-only) previamente emitido.                                                                                  | [POST oauth2/invalidate\_token](/es/resources/fundamentals/authentication/api-reference#post-oauth2-invalidate-token) |

<div id="post-oauthrequest_token">
  ### POST oauth/request\_token
</div>

Permite que una aplicación Consumer obtenga un OAuth Request Token para solicitar la autorización del usuario. Este método cumple con la [Sección 6.1](https://oauth.net/core/1.0/#auth_step1) del [flujo de autenticación OAuth 1.0](http://oauth.net/core/1.0/#anchor9).

**Requerimos que utilices HTTPS para todos los pasos de autorización OAuth.**

**Nota de uso:** Solo se aceptan caracteres ASCII para `oauth_nonce`

**Resource URL[](#resource-url "Permalink to this headline")**

`https://api.x.com/oauth/request_token`

**Resource Information[](#resource-information "Permalink to this headline")**

|                          |      |
| :----------------------- | :--- |
| Response formats         | JSON |
| Requires authentication? | No   |
| Rate limited?            | Sí   |

**Parameters[](#parameters "Permalink to this headline")**

| Name                  | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Example                                                          |
| :-------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- |
| oauth\_callback       | required | Para cumplir con OAuth 1.0a este parámetro es **obligatorio**. El valor que especifiques aquí se utilizará como la URL a la que se redirige a un usuario si aprueba el acceso de tu aplicación a su cuenta. Establécelo en `oob` para el modo PIN fuera de banda. Esta también es la forma en que especificas URLs de callback personalizadas para usar en aplicaciones de escritorio o móviles. Envía siempre un `oauth_callback` en este paso, independientemente de que exista un callback preregistrado.<br /><br />Requerimos que cualquier URL de callback utilizada con este endpoint esté configurada en la configuración de la App en developer.x.com\* | `http://themattharris.local/auth.php` `twitterclient://callback` |
| x\_auth\_access\_type | optional | Sobrescribe el nivel de acceso que una aplicación solicita a la cuenta de un usuario. Los valores admitidos son `read` o `write`. Este parámetro está pensado para permitir que un desarrollador registre una aplicación de lectura/escritura pero también solicite acceso de solo lectura cuando sea apropiado.                                                                                                                                                                                                                                                                                                                                                 |                                                                  |

Obtén más información sobre cómo aprobar tus URLs de callback en [esta página](/es/resources/fundamentals/developer-apps#callback-urls).

**Ten en cuenta** - Puedes ver y editar tus [X apps](/es/resources/fundamentals/developer-apps) existentes a través del [X app dashboard](https://developer.x.com/en/apps) si has iniciado sesión en tu cuenta de X en developer.x.com.

**Example request[](#example-request "Permalink to this headline")**

Request URL: `POST https://api.x.com/oauth/request_token`

Request POST Body: *N/A*

Authorization Header: `OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1300228849", oauth_consumer_key="OqEqJeafRSF11jBMStrZz", oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", oauth_version="1.0"`

Response: `oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true`

<div id="get-oauthauthorize">
  ### GET oauth/authorize
</div>

Permite que una aplicación cliente use un OAuth Request Token para solicitar la autorización del usuario. Este método cumple con la [Sección 6.2](http://oauth.net/core/1.0/#auth_step2) del [flujo de autenticación OAuth 1.0](http://oauth.net/core/1.0/#anchor9). Las aplicaciones de escritorio deben usar este método (y no pueden usar [GET oauth / authenticate](/es/resources/fundamentals/authentication/api-reference#get-oauth-authenticate)).

**Nota de uso:** Un `oauth_callback` nunca se envía a este método; en su lugar, proporciónalo a [POST oauth / request\_token](/es/resources/fundamentals/authentication/api-reference#post-oauth-request-token).

**URL del recurso[](#resource-url "Enlace permanente a este encabezado")**

`https://api.x.com/oauth/authorize`

**Información del recurso[](#resource-information "Enlace permanente a este encabezado")**

|                              |      |
| :--------------------------- | :--- |
| Formatos de respuesta        | JSON |
| ¿Requiere autenticación?     | Sí   |
| ¿Tiene límite de frecuencia? | Sí   |

**Parámetros[](#parameters "Enlace permanente a este encabezado")**

|              |             |                                                                                                                           |                      |         |
| :----------- | :---------- | :------------------------------------------------------------------------------------------------------------------------ | :------------------- | :------ |
| Nombre       | Obligatorio | Descripción                                                                                                               | Valor predeterminado | Ejemplo |
| force\_login | opcional    | Obliga al usuario a introducir sus credenciales para garantizar que se autoriza la cuenta de usuario correcta.            |                      |         |
| screen\_name | opcional    | Rellena previamente el campo de nombre de usuario en la pantalla de inicio de sesión de OAuth con el valor proporcionado. |                      |         |

**Ejemplo de solicitud[](#example-request "Enlace permanente a este encabezado")**

Envía al usuario al paso `oauth/authorize` en un navegador web, incluyendo el parámetro `oauth_token`:
`https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik`

<div id="get-oauthauthenticate">
  ### GET oauth/authenticate
</div>

Permite que una aplicación Consumer use un `request_token` de OAuth para solicitar la autorización del usuario.

Este método reemplaza la [Sección 6.2](http://oauth.net/core/1.0/#auth_step2) del [flujo de autenticación OAuth 1.0](http://oauth.net/core/1.0/#anchor9) para aplicaciones que utilizan el flujo de autenticación con callback. El método usará al usuario que haya iniciado sesión actualmente como la cuenta para la autorización de acceso, a menos que el parámetro `force_login` se establezca en `true`.

Este método difiere de [GET oauth / authorize](/es/resources/fundamentals/authentication/api-reference#get-oauth-authorize) en que, si el usuario ya ha concedido permisos a la aplicación, la redirección se producirá sin que el usuario tenga que volver a aprobar la aplicación. Para lograr este comportamiento, debes habilitar la opción *Use Sign in with X* en el [registro de tu aplicación](https://developer.x.com/apps).

**Resource URL[](#resource-url "Permalink to this headline")**

`https://api.x.com/oauth/authenticate`

**Resource Information[](#resource-information "Permalink to this headline")**

|                          |      |
| :----------------------- | :--- |
| Response formats         | JSON |
| Requires authentication? | Yes  |
| Rate limited?            | Yes  |

**Parameters[](#parameters "Permalink to this headline")**

|              |          |                                                                                                                           |               |         |
| :----------- | :------- | :------------------------------------------------------------------------------------------------------------------------ | :------------ | :------ |
| Name         | Required | Description                                                                                                               | Default Value | Example |
| force\_login | optional | Obliga al usuario a introducir sus credenciales para garantizar que se autoriza la cuenta de usuario correcta.            |               | *true*  |
| screen\_name | optional | Rellena previamente el campo de nombre de usuario de la pantalla de inicio de sesión de OAuth con el valor proporcionado. |               |         |

**Example request[](#example-request "Permalink to this headline")**

Envía al usuario al paso `oauth/authenticate` en un navegador web, incluyendo un parámetro `oauth_token`:
`https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik`

<div id="post-oauthaccess_token">
  ### POST oauth/access\_token
</div>

Permite que una aplicación cliente intercambie el OAuth Request Token por un OAuth Access Token. Este método cumple con la [Sección 6.3](http://oauth.net/core/1.0/#auth_step3) del [flujo de autenticación OAuth 1.0](http://oauth.net/core/1.0/#anchor9).

**Resource URL[](#resource-url "Enlace permanente a este título")**

`https://api.x.com/oauth/access_token`

**Resource Information[](#resource-information "Enlace permanente a este título")**

|                                  |      |
| :------------------------------- | :--- |
| Formatos de respuesta            | JSON |
| ¿Requiere autenticación?         | Sí   |
| ¿Tiene limitación de frecuencia? | Sí   |

**Parameters[](#parameters "Enlace permanente a este título")**

|                 |             |                                                                                                                                                                                                                                                                                                                                                                                                          |                      |         |
| :-------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- | :------ |
| Nombre          | Obligatorio | Descripción                                                                                                                                                                                                                                                                                                                                                                                              | Valor predeterminado | Ejemplo |
| oauth\_token    | obligatorio | El oauth\_token aquí debe ser el mismo oauth\_token devuelto en el paso de request\_token.                                                                                                                                                                                                                                                                                                               |                      |         |
| oauth\_verifier | obligatorio | Si se usa el flujo web de OAuth, establezca este parámetro con el valor de *oauth\_verifier* devuelto en la URL de callback. Si está usando OAuth fuera de banda, establezca este valor con el código PIN. Para cumplir con OAuth 1.0a este parámetro es **obligatorio**. OAuth 1.0a se aplica de forma estricta y las aplicaciones que no usen *oauth\_verifier* no podrán completar el flujo de OAuth. |                      |         |

**Example request[](#example-request "Enlace permanente a este título")**

`POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx`

Para flujo basado en PIN: `POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795`

**Example response[](#example-response "Enlace permanente a este título")**

`oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi`

<div id="post-oauthinvalidate_token">
  ### POST oauth/invalidate\_token
</div>

Permite a una aplicación registrada revocar un access\_token OAuth emitido presentando sus credenciales de cliente. Una vez que un access\_token se ha invalidado, los nuevos intentos de creación generarán un Access Token diferente y el uso del token invalidado ya no estará permitido.

**Resource URL[](#resource-url "Permalink to this headline")**

`https://api.x.com/1.1/oauth/invalidate_token`

**Resource Information[](#resource-information "Permalink to this headline")**

|                          |                                                                     |
| :----------------------- | :------------------------------------------------------------------ |
| Response formats         | JSON                                                                |
| Requires authentication? | Sí: contexto de usuario con los access tokens que quieras invalidar |
| Rate limited?            | Sí                                                                  |

**Example request[](#example-request "Permalink to this headline")**

```bash theme={null}
        curl --request POST
          --url 'https://api.x.com/1.1/oauth/invalidate_token.json'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
```

**Respuesta de ejemplo[](#example-response "Enlace permanente a este encabezado")**

```bash theme={null}
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
```

**Ejemplo de respuesta de error después de invalidar el token[](#example-error-response-after-token-has-been-invalidated "Permalink to this headline")**

```bash theme={null}
        HTTP/1.1 401 Authorization Required
        ...

        {"errors": [{
          "code": 89,
          "message": "Invalid or expired token."}
        ]}
```

<div id="post-oauth2token">
  ### POST oauth2/token
</div>

Permite que una aplicación registrada obtenga un Bearer Token de OAuth 2, que se puede usar para realizar solicitudes a la API en nombre de la propia aplicación, sin un contexto de usuario. Esto se denomina [autenticación solo de la aplicación](/es/resources/fundamentals/authentication/oauth-2-0/application-only).

Un Bearer Token se puede invalidar usando oauth2/invalidate\_token. Una vez que se haya invalidado un Bearer Token, los nuevos intentos de creación generarán un Bearer Token diferente y el uso del token anterior ya no estará permitido.

Solo puede existir un Bearer Token activo para una aplicación, y las solicitudes repetidas a este método devolverán el mismo token ya existente hasta que se haya invalidado.

Las respuestas satisfactorias incluyen una estructura JSON que describe el Bearer Token otorgado.

Los tokens recibidos mediante este método deben almacenarse en caché. Si se intenta con demasiada frecuencia, las solicitudes se rechazarán con un HTTP 403 con el código de error 99.

**URL del recurso[](#resource-url "Permalink to this headline")**

`https://api.x.com/oauth2/token`

**Información del recurso[](#resource-information "Permalink to this headline")**

|                              |                                                                                                           |
| :--------------------------- | :-------------------------------------------------------------------------------------------------------- |
| Formatos de respuesta        | JSON                                                                                                      |
| ¿Requiere autenticación?     | Sí: autenticación básica con tu API key como nombre de usuario y el secreto de tu API key como contraseña |
| ¿Tiene límite de frecuencia? | Sí                                                                                                        |

**Parámetros[](#parameters "Permalink to this headline")**

|             |          |                                                                                                                                                                                                                                                                    |               |                       |
| :---------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ | :-------------------- |
| Name        | Required | Description                                                                                                                                                                                                                                                        | Default Value | Example               |
| grant\_type | required | Especifica el tipo de grant que solicita la aplicación. En este momento, solo se permite *client\_credentials*. Consulta [autenticación solo de la aplicación](/es/resources/fundamentals/authentication/oauth-2-0/application-only) para obtener más información. |               | *client\_credentials* |

**Ejemplo de solicitud[](#example-request "Permalink to this headline")**

```bash theme={null}
    POST /oauth2/token HTTP/1.1
    Host: api.x.com
    User-Agent: My X App v1.0.23
    Authorization: Basic eHZ6MWV2R ... o4OERSZHlPZw==
    Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    Content-Length: 29
    Accept-Encoding: gzip

    grant_type=client_credentials
```

**Ejemplo de respuesta:**

```bash theme={null}
    HTTP/1.1 200 OK
    Status: 200 OK
    Content-Type: application/json; charset=utf-8
    ...
    Content-Encoding: gzip
    Content-Length: 140

    {"token_type":"bearer","access_token":"AAAA%2FAAA%3DAAAAAAAA"}
```

<div id="post-oauth2invalidate_token">
  ### POST oauth2/invalidate\_token
</div>

Permite que una aplicación registrada revoque un Bearer Token de OAuth 2.0 emitido al presentar sus credenciales de cliente. Una vez que se haya invalidado un Bearer Token, los nuevos intentos de creación generarán un Bearer Token diferente y el uso del token invalidado ya no estará permitido.

Las respuestas satisfactorias incluyen una estructura JSON que describe el Bearer Token revocado.

**Resource URL[](#resource-url "Permalink to this headline")**

`https://api.x.com/oauth2/invalidate_token`

**Resource Information[](#resource-information "Permalink to this headline")**

|                          |                                                                                                                                                                                              |
| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Response formats         | JSON                                                                                                                                                                                         |
| Requires authentication? | Yes - [OAuth 1.0a](/es/resources/fundamentals/authentication/oauth-1-0a) con las consumer API keys de la aplicación y el access token y access token secret del propietario de la aplicación |
| Rate limited?            | Yes                                                                                                                                                                                          |

**Parameters[](#parameters "Permalink to this headline")**

| Name          | Required | Description                                     |
| :------------ | :------- | :---------------------------------------------- |
| access\_token | required | El valor del Bearer Token que quieres invalidar |

**Example request[](#example-request "Permalink to this headline")**

```
        curl --request POST
          --url 'https://api.x.com/oauth2/invalidate_token?access_token=AAAA%2FAAA%3DAAAAAAAA'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
```

**Respuesta de ejemplo[](#example-response "Enlace permanente a este título")**

```
         Status: 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }
```
