{"meta":{"title":"Autenticación en la API REST","intro":"Puedes autenticarte en la API REST para acceder a más puntos de conexión y tener un límite de frecuencia más alto.","product":"REST API","breadcrumbs":[{"href":"/es/enterprise-server@3.21/rest","title":"REST API"},{"href":"/es/enterprise-server@3.21/rest/authentication","title":"Autenticación"},{"href":"/es/enterprise-server@3.21/rest/authentication/authenticating-to-the-rest-api","title":"Autenticación"}],"documentType":"article"},"body":"# Autenticación en la API REST\n\nPuedes autenticarte en la API REST para acceder a más puntos de conexión y tener un límite de frecuencia más alto.\n\n## Acerca de la autenticación\n\nMuchos puntos de conexión de la API REST necesitan autenticación o devuelven información adicional si te autenticas. Además, cuando te autenticas, puedes realizar más solicitudes por hora.\n\nPara autenticar la solicitud, deberás proporcionar un token de autenticación con los ámbitos o permisos necesarios. Hay varias maneras diferentes de obtener un token: puede crear un personal access token, generar un token con un GitHub App, o usar el integrado en un `GITHUB_TOKEN` flujo de trabajo GitHub Actions.\n\nDespués de crear un token, puedes autenticar la solicitud enviando un token en el encabezado `Authorization` de la solicitud. Por ejemplo, en la siguiente solicitud, reemplaza `YOUR-TOKEN` por una referencia al token:\n\n```shell\ncurl --request GET \\\n--url \"http(s)://HOSTNAME/api/v3/octocat\" \\\n--header \"Authorization: Bearer YOUR-TOKEN\" \\\n--header \"X-GitHub-Api-Version: 2026-03-10\"\n```\n\n> \\[!NOTE]\n> En la mayoría de los casos, puedes usar `Authorization: Bearer` o `Authorization: token` para pasar un token. Sin embargo, si vas a pasar un token web JSON (JWT), debes usar `Authorization: Bearer`.\n\n### Límite de intentos de inicio de sesión fallidos\n\nSi intentas usar un punto de conexión de la API REST sin un token o con un token que no tenga permisos suficientes, recibirás una respuesta `404 Not Found` o `403 Forbidden`. La autenticación con credenciales no válidas devolverá inicialmente una respuesta `401 Unauthorized`.\n\nDespués de detectar varias solicitudes con credenciales no válidas en un breve periodo de tiempo, la API rechazará temporalmente todos los intentos de autenticación para el usuario en cuestión (incluidos aquellos con credenciales válidas) con una respuesta `403 Forbidden`. Para más información, consulta [Límites de tasa de la API REST](/es/enterprise-server@3.21/rest/using-the-rest-api/rate-limits-for-the-rest-api).\n\n## Autenticación con personal access token\n\nSi desea usar la GitHub API REST para su uso personal, puede crear un personal access token. Si es posible, GitHub recomienda que use un fine-grained personal access token en lugar de un personal access token (classic). Para obtener más información sobre cómo crear un personal access token, vea [Administración de tokens de acceso personal](/es/enterprise-server@3.21/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\nSi utiliza un fine-grained personal access token, su fine-grained personal access token requiere permisos específicos para acceder a cada extremo de la API REST. El documento de referencia de la API REST para cada punto de conexión indica si el punto de conexión funciona con fine-grained personal access tokens y indica qué permisos son necesarios para que el token use el punto de conexión. Algunos puntos de conexión pueden requerir varios permisos y algunos puntos de conexión pueden requerir uno de varios permisos. Para obtener información general sobre los puntos fine-grained personal access token de conexión de la API REST a los que puede acceder con cada permiso, consulte [Permisos necesarios para los tokens de acceso personal específicos](/es/enterprise-server@3.21/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens).\n\nSi usa personal access token (classic), necesita permisos específicos para acceder a cada extremo de la API REST. Para obtener instrucciones generales sobre qué ámbitos elegir, consulta [Ámbitos para las aplicaciones de OAuth](/es/enterprise-server@3.21/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes).\n\nPersonal access tokens actúe como su identidad (limitada por los ámbitos o permisos seleccionados) al realizar solicitudes a la API REST. Por lo tanto, es importante mantener seguro su personal access tokens. Para obtener más información sobre cómo mantener la personal access tokens seguridad, consulte [Protección de las credenciales de API](/es/enterprise-server@3.21/rest/authentication/keeping-your-api-credentials-secure?apiVersion=2022-11-28).\n\n### Personal access tokens y SAML SSO\n\n## Autenticación con un token generado por una aplicación\n\nSi desea usar la API para una organización o en nombre de otro usuario, GitHub recomienda usar .GitHub App Para más información, consulta [Acerca de la autenticación con una aplicación de GitHub](/es/enterprise-server@3.21/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app).\n\nLa documentación de referencia de la API REST para cada punto de conexión indica si el punto de conexión funciona con GitHub Apps y indica qué permisos se requieren para que la aplicación use el punto de conexión. Algunos puntos de conexión pueden requerir varios permisos y algunos puntos de conexión pueden requerir uno de varios permisos. Para obtener información general sobre los puntos GitHub App de conexión de la API REST a los que puede acceder con cada permiso, consulte [Permisos necesarios para aplicaciones de GitHub](/es/enterprise-server@3.21/rest/authentication/permissions-required-for-github-apps).\n\nTambién puede crear un token de OAuth con OAuth app para acceder a la API REST. Sin embargo, GitHub recomienda que use un GitHub App en su lugar.\nGitHub Apps permite un mayor control sobre el acceso y el permiso que tiene la aplicación.\n\n### Uso de autenticación básica\n\nAlgunos puntos de conexión de la API REST para GitHub Apps y OAuth apps requieren que use la autenticación básica para acceder al punto de conexión. Usarás el Id. de cliente de la aplicación como nombre de usuario y el secreto de cliente como contraseña.\n\nPor ejemplo:\n\n```shell\ncurl --request POST \\\n--url \"http(s)://HOSTNAME/api/v3/applications/YOUR_CLIENT_ID/token\" \\\n--user \"YOUR_CLIENT_ID:YOUR_CLIENT_SECRET\" \\\n--header \"Accept: application/vnd.github+json\" \\\n--header \"X-GitHub-Api-Version: 2026-03-10\" \\\n--data '{\n  \"access_token\": \"ACCESS_TOKEN_TO_CHECK\"\n}'\n```\n\nEl identificador de cliente y el secreto de cliente están asociados a la aplicación, no al propietario de la aplicación o a un usuario que autorizó la aplicación. Se usan para realizar operaciones en nombre de la aplicación, como la creación de tokens de acceso.\n\nSi es el propietario de un GitHub App o OAuth app, o si es gestor de aplicaciones de un GitHub App, puede encontrar el identificador de cliente y generar un secreto de cliente en la página de configuración de su aplicación. Para ir a la página de configuración de la aplicación:\n\n1. En la esquina superior derecha de cualquier página de GitHub, haga clic en la imagen de perfil.\n2. Navega a la configuración de tu cuenta.\n   * Para una aplicación propiedad de una cuenta personal, haga clic en **Configuración**.\n   * Para una aplicación propiedad de una organización:\n     1. Haga clic en **Sus organizaciones**.\n     2. A la derecha de la organización, haga clic en **Configuración**.\n3. En la barra lateral de la izquierda, haz clic en **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> Developer settings**.\n4. En la barra lateral izquierda, haga clic en **GitHub Apps** o **OAuth apps**.\n5. Para GitHub Apps, a la derecha de GitHub App al que desea acceder, haga clic en **Editar**. En OAuth apps, haga clic en la aplicación a la que desea acceder.\n6. Junto a **Id. de cliente**, verás el Id. de cliente de tu aplicación.\n7. Junto a **Secretos de cliente**, haga clic en **Generar un nuevo secreto de cliente** para generar un secreto de cliente para la aplicación.\n\n## Autenticación en un GitHub Actions flujo de trabajo\n\nSi desea usar la API en un GitHub Actions flujo de trabajo, GitHub recomienda autenticarse con la función integrada en `GITHUB_TOKEN` en vez de crear un token. Puedes conceder permisos a `GITHUB_TOKEN` con la clave `permissions`. Para más información, consulta [Uso de GITHUB\\_TOKEN para la autenticación en flujos de trabajo](/es/enterprise-server@3.21/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token).\n\nSi esto no es posible, puede guardar su token como un secreto y usar el nombre de su secreto en su flujo de trabajo GitHub Actions. Para obtener más información sobre secretos, consulta [Uso de secretos en Acciones de GitHub](/es/enterprise-server@3.21/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets).\n\n### Autenticación en un GitHub Actions flujo de trabajo mediante GitHub CLI\n\nPara realizar una solicitud autenticada a la API en un flujo de trabajo de GitHub Actions usando GitHub CLI, puede almacenar el valor de `GITHUB_TOKEN` como variable de entorno y usar la palabra clave `run` para ejecutar el subcomando GitHub CLI`api`. Para obtener más información sobre la palabra clave `run`, consulta [Sintaxis del flujo de trabajo para Acciones de GitHub](/es/enterprise-server@3.21/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsrun).\n\nEn el siguiente flujo de trabajo de ejemplo, reemplaza `PATH` por la ruta de acceso del punto de conexión. Para obtener más información sobre la ruta de acceso, consulte [Introducción a la API REST](/es/enterprise-server@3.21/rest/using-the-rest-api/getting-started-with-the-rest-api?tool=cli#path). Reemplace por `HOSTNAME` el nombre de tu instancia de GitHub Enterprise Server.\n\n```yaml\njobs:\n  use_api:\n    runs-on: ubuntu-latest\n    permissions: {}\n    steps:\n      - env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          gh api /PATH\n```\n\n### Autenticación en un GitHub Actions flujo de trabajo mediante `curl`\n\nPara realizar una solicitud autenticada a la API en un flujo de trabajo GitHub Actions usando `curl`, puede almacenar el valor de `GITHUB_TOKEN` como una variable de entorno y usar la palabra clave `run` para realizar una solicitud `curl` a la API. Para obtener más información sobre la palabra clave `run`, consulta [Sintaxis del flujo de trabajo para Acciones de GitHub](/es/enterprise-server@3.21/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsrun).\n\nEn el siguiente flujo de trabajo de ejemplo, reemplaza `PATH` por la ruta de acceso del punto de conexión. Para obtener más información sobre la ruta de acceso, consulte [Introducción a la API REST](/es/enterprise-server@3.21/rest/using-the-rest-api/getting-started-with-the-rest-api?tool=cli#path). Reemplace por `HOSTNAME` el nombre de tu instancia de GitHub Enterprise Server.\n\n```yaml copy\njobs:\n  use_api:\n    runs-on: ubuntu-latest\n    permissions: {}\n    steps:\n      - env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          curl --request GET \\\n          --url \"http(s)://HOSTNAME/api/v3/PATH\" \\\n          --header \"Authorization: Bearer $GH_TOKEN\"\n```\n\n### Autenticación en un GitHub Actions flujo de trabajo mediante JavaScript\n\nPara obtener un ejemplo de cómo autenticarse en un GitHub Actions flujo de trabajo mediante JavaScript, consulte [Scripting con la API de REST y JavaScript](/es/enterprise-server@3.21/rest/guides/scripting-with-the-rest-api-and-javascript#authenticating-in-github-actions).\n\n## Autenticación con nombre de usuario y contraseña\n\nGitHub recomienda usar un token para autenticarse en la API REST en lugar de la contraseña. Tienes más control sobre lo que puede hacer un token y puedes revocar un token en cualquier momento. Pero también te puedes autenticar en la API REST mediante el nombre de usuario y la contraseña para la autenticación básica. Para ello, tendrás que pasar el nombre de usuario y la contraseña con la opción `--user`:\n\n```shell\ncurl --request GET \\\n--url \"http(s)://HOSTNAME/api/v3/user\" \\\n--user USERNAME:PASSWORD \\\n--header \"X-GitHub-Api-Version: 2026-03-10\"\n```\n\n## Información adicional\n\n* [Protección de las credenciales de API](/es/enterprise-server@3.21/rest/authentication/keeping-your-api-credentials-secure)\n* [Introducción a la API REST](/es/enterprise-server@3.21/rest/using-the-rest-api/getting-started-with-the-rest-api#authentication)"}