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

# Referencia de la API My Account

> Documentación de la API My Account de Auth0

<Badge>Versión: 1.0 (Vigente)</Badge>

La API My Account de Auth0 proporciona un conjunto específico de endpoints para que los usuarios administren la información de su propia cuenta. Los clientes pueden usar estas API para crear experiencias de autoservicio en sus aplicaciones o añadir progresivamente datos a la cuenta de un usuario.

La API My Account funciona en el contexto del usuario que ha iniciado sesión y puede usarse directamente en aplicaciones orientadas al usuario final.

<Tip>
  <p class="uppercase font-bold">Uso del dominio de Auth0 frente a un dominio personalizado</p>

  La API My Account admite el uso de tu dominio canónico de Auth0 o de tu dominio personalizado, pero debes usar el mismo en todo el proceso, lo que incluye:

  * Obtener un token de acceso
  * Establecer el valor de audience
  * Llamar al endpoint de la API My Account

  Para obtener más información, consulta [Dominios personalizados](https://auth0.com/docs/customize/custom-domains).
</Tip>

<div id="activate-the-my-account-api">
  ## Active la API My Account
</div>

Puede activar la API My Account para su inquilino desde el Auth0 Dashboard:

1. Vaya a **Authentication > APIs**.
2. Ubique el banner de la API My Account.
3. Seleccione **Activate**.

<img src="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/api/myaccount/My_Account_API_-_Activate.png?fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=8270b723526f0d685ddd74b81bd88ddd" width="952" height="480" data-path="docs/images/api/myaccount/My_Account_API_-_Activate.png" />

De forma predeterminada, la API My Account se crea con las siguientes políticas de acceso de aplicaciones a la API:

`require_client_grant` para flujos de usuario

`deny_all` para flujos de cliente (máquina a máquina)

Para que una aplicación acceda a la API My Account en nombre del usuario, debe crear explícitamente un client grant para esa aplicación, lo que le permite definir los alcances máximos que la aplicación puede solicitar. Como alternativa, puede cambiar la política de los flujos de acceso de usuario a `allow_all`, lo que permite que cualquier aplicación de su inquilino solicite cualquier alcance de la API My Account.

Dado que la API My Account expone información y operaciones sensibles, Auth0 no recomienda usar `allow_all` para los flujos de acceso de usuario. Debe aplicar el principio de privilegio mínimo con la API My Account para garantizar que las aplicaciones solo obtengan acceso a lo que realmente necesitan y minimizar así los posibles riesgos de seguridad.

Los permisos finales otorgados a la aplicación se determinarán por la intersección entre los alcances permitidos por la política de acceso de aplicaciones a la API, los permisos de control de acceso basado en roles (RBAC) asignados al usuario final y cualquier consentimiento otorgado por el usuario (si corresponde).

<Note>
  <p class="uppercase font-bold">Flujos compatibles</p>

  No puede actualizar la política de API de la aplicación para el acceso de cliente a la API My Account, lo que significa que no puede acceder a la API My Account mediante el flujo de credenciales del cliente.
</Note>

Para obtener más información sobre cómo administrar las políticas de acceso de aplicaciones a la API y sus client grants asociados, consulte [Acceso de aplicaciones a las API: Client Grants](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants).

<div id="get-an-access-token">
  ## Obtener un token de acceso
</div>

Puede obtener un token de acceso para la API My Account de la misma forma que obtendría un token de acceso para una de sus propias API.

<Note>
  <p class="uppercase font-bold">Operaciones sensibles</p>

  Si va a permitir que la API My Account realice operaciones sensibles (como inscribir un método de autenticación), le recomendamos encarecidamente que use la [autenticación reforzada](https://auth0.com/docs/secure/multi-factor-authentication/step-up-authentication) para aplicar políticas de seguridad adicionales mediante [autenticación multifactor (MFA)](https://auth0.com/docs/secure/multi-factor-authentication).
</Note>

Si usa Universal Login, lea los siguientes artículos:

* [Llamar a su API mediante Authorization Code Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow)
* [Llamar a su API mediante Authorization Code Flow con PKCE](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/call-your-api-using-the-authorization-code-flow-with-pkce)

Si usa el inicio de sesión integrado, lea los siguientes artículos:

* [Llamar a su API mediante Resource Owner Password Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow)
* [Flujo de inicio de sesión con Native Passkeys API](https://auth0.com/docs/native-passkeys-api#login-flow)

<div id="examples">
  ## Ejemplos
</div>

<div id="universal-login-with-authorization-code-flow">
  ### Universal Login con flujo de código de autorización
</div>

**Paso 1: Solicitar el código de autorización**

```bash lines theme={null}
curl --request GET \
  --url 'https://{yourDomain}/authorize?response_type=code&client_id={yourClientId}&redirect_uri=%7ByourRedirectUri%7D&scope=create%3Ame%3Aauthentication_methods&offline_access=&audience=https%3A%2F%2F{yourDomain}%2Fme%2F'
```

**Paso 2: Canjear el code por un token de acceso**

```bash lines theme={null}
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{"grant_type": "authorization_code","client_id": "{yourClientId}","client_secret": "{yourClientId}","code": "{yourAuthorizationCode}","redirect_uri": "{yourRedirectUri}","audience": "{yourAudience}","scope": "create:me:authentication_methods","offline_access": ""}'
```

<div id="embedded-login-with-native-passkeys">
  ### Inicio de sesión integrado con passkeys nativas
</div>

**Paso 1: Solicitar el desafío para iniciar sesión**

```bash lines theme={null}
curl --request POST \
  --url 'https://{yourDomain}/passkey/challenge' \
  --header 'content-type: application/json' \
  --data '{"client_id": "{yourDomain}"}'
```

**Paso 2: Autenticar un usuario existente**

```bash lines theme={null}
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{  "grant_type": "urn:okta:params:oauth:grant-type:webauthn",  "client_id": "{yourClientId}",  "scope": "create:me:authentication_methods offline_access",  "audience": "https://{yourDomain}/me/"  "auth_session": "{sessionIdFromTheFirstRequest}",  "authn_response": "{authenticatorResponse}"}'
```

<div id="rate-limits">
  ## Límites de tasa
</div>

Durante el Acceso anticipado, la API My Account tiene un límite de 25 solicitudes por segundo por inquilino.

<div id="authentication">
  ### Autenticación
</div>

<Tabs class="width-1/2" borderBottom>
  <Tab title="HTTP: Autenticación Bearer">
    Se admiten tokens Bearer y DPoP según la configuración de la API

    |                               |        |
    | ----------------------------- | ------ |
    | Tipo de esquema de seguridad: | http   |
    | Esquema de autorización HTTP: | bearer |
  </Tab>
</Tabs>
