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

# Revocar un Token de actualización

> Invalida un Token de actualización para evitar que vuelva a utilizarse.

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Endpoint
</div>

`POST /oauth/revoke`

Use este endpoint para invalidar un Token de actualización si se ha visto comprometido.

El comportamiento de este endpoint depende del estado del conmutador [Refresh Token Revocation Deletes Grant](https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens#choose-whether-token-revocation-deletes-grants).
Si este conmutador está habilitado, cada solicitud de revocación invalida no solo el token específico, sino también todos los demás tokens basados en la misma concesión de autorización. Esto significa que **todos los Tokens de actualización emitidos para el mismo usuario, la misma aplicación y la misma audiencia se revocarán**.
Si este conmutador está deshabilitado, solo se revoca el token de actualización, mientras que la concesión permanece intacta.

<div id="remarks">
  ## Observaciones
</div>

* En las aplicaciones no confidenciales que no pueden mantener seguro el Secreto del cliente (por ejemplo, las aplicaciones nativas), el endpoint permite no enviar ningún Secreto del cliente, pero la propia aplicación debe tener la propiedad `tokenEndpointAuthMethod` establecida en `none`. Puede hacerlo desde la IU ([Dashboard > Applications > Application Settings](https://manage.auth0.com/dashboard)) o mediante la [Management API](https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id).

<div id="learn-more">
  ## Más información
</div>

* [Tokens de actualización](https://auth0.com/docs/secure/tokens/refresh-tokens)

<div id="body-parameters">
  ## Parámetros del cuerpo
</div>

<ParamField body="client_id" type="string" required>
  El `client_id` de tu aplicación.
</ParamField>

<ParamField body="client_assertion" type="string">
  Un JWT que contiene una aserción firmada con las credenciales de tu aplicación. Se requiere cuando Private Key JWT es el método de autenticación de la aplicación.
</ParamField>

<ParamField body="client_assertion_type" type="string">
  El valor es `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`. Se requiere cuando Private Key JWT es el método de autenticación de la aplicación.
</ParamField>

<ParamField body="client_secret" type="string">
  El `client_secret` de tu aplicación. Se requiere cuando Client Secret Basic o Client Secret Post es el método de autenticación de la aplicación. Específicamente, se requiere **solo** para aplicaciones web regulares.
</ParamField>

<ParamField body="token" type="string" required>
  El Token de actualización que quieres revocar.
</ParamField>

<div id="response-schema">
  ## Esquema de respuesta
</div>

<ResponseSchema>
  Una respuesta satisfactoria con código 200 no tiene cuerpo. Las respuestas de error usan esta estructura:

  <ResponseField name="error" type="string">
    Código de error.
  </ResponseField>

  <ResponseField name="error_description" type="string">
    Descripción del error.
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## Mensajes de respuesta
</div>

| Estado  | Descripción                    |
| ------- | ------------------------------ |
| 200     | (cuerpo de la respuesta vacío) |
| 400     | Solicitud incorrecta           |
| 401     | No autorizado                  |
| default | Error inesperado               |
