diff --git a/README.md b/README.md index ef42c6239..ba4b5746e 100644 --- a/README.md +++ b/README.md @@ -335,10 +335,10 @@ WebAuthProvider.login(account) See the [full usage example](examples/experiment-center.md) for coroutine and Java samples. -### My Account API: user profile +### My Account API: user profile [Beta] > [!NOTE] -> The My Account profile API is currently in Early Access. To request access to this feature, contact your Auth0 representative. +> The My Account profile API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta). It might change before General Availability, and Auth0 does not support beta functionality for production use. The feature must be enabled for your tenant. After obtaining an access token for the My Account API, use `MyAccountAPIClient` to read the signed-in user's profile and update the fields they are allowed to edit. Each field in `profilePolicy` tells you whether it is editable and why: @@ -351,7 +351,7 @@ val canEditGivenName = profile.profilePolicy["/given_name"]?.access == ProfileFi client.updateUserProfile(UpdateUserProfileRequest(givenName = "Jane")).await() ``` -See the [full usage example](examples/my-account-api.md#get-the-user-profile) for callback, coroutine and Java samples. +See the [full usage example](examples/my-account-api.md#get-the-user-profile-beta) for callback, coroutine and Java samples. ## Credentials Manager diff --git a/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt b/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt index 1a0c58a86..f1e732951 100644 --- a/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt +++ b/auth0/src/main/java/com/auth0/android/myaccount/MyAccountAPIClient.kt @@ -852,9 +852,10 @@ public class MyAccountAPIClient @VisibleForTesting(otherwise = VisibleForTesting * * ## Availability * - * This feature is currently available in - * [Early Access](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#early-access). - * Please reach out to Auth0 support to get it enabled for your tenant. + * This feature is currently in + * [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta). + * It might change before General Availability, and Auth0 does not support beta functionality for + * production use. The feature must be enabled for your tenant. * * ## Scopes Required * `read:me:profile` @@ -912,9 +913,10 @@ public class MyAccountAPIClient @VisibleForTesting(otherwise = VisibleForTesting * * ## Availability * - * This feature is currently available in - * [Early Access](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#early-access). - * Please reach out to Auth0 support to get it enabled for your tenant. + * This feature is currently in + * [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta). + * It might change before General Availability, and Auth0 does not support beta functionality for + * production use. The feature must be enabled for your tenant. * * ## Scopes Required * `update:me:profile` diff --git a/auth0/src/main/java/com/auth0/android/myaccount/request/GetUserProfileOptions.kt b/auth0/src/main/java/com/auth0/android/myaccount/request/GetUserProfileOptions.kt index c2924efdc..7f91efd70 100644 --- a/auth0/src/main/java/com/auth0/android/myaccount/request/GetUserProfileOptions.kt +++ b/auth0/src/main/java/com/auth0/android/myaccount/request/GetUserProfileOptions.kt @@ -4,6 +4,8 @@ package com.auth0.android.myaccount.request * Options to control which fields are returned by * [com.auth0.android.myaccount.MyAccountAPIClient.getUserProfile]. * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. + * * @param fields the fields to include in, or exclude from, the response, e.g. * `listOf("given_name", "picture", "profile_policy")`. When empty, the default set of fields is * returned. diff --git a/auth0/src/main/java/com/auth0/android/myaccount/request/UpdateUserProfileRequest.kt b/auth0/src/main/java/com/auth0/android/myaccount/request/UpdateUserProfileRequest.kt index 95281c852..f74cdbe13 100644 --- a/auth0/src/main/java/com/auth0/android/myaccount/request/UpdateUserProfileRequest.kt +++ b/auth0/src/main/java/com/auth0/android/myaccount/request/UpdateUserProfileRequest.kt @@ -3,6 +3,8 @@ package com.auth0.android.myaccount.request /** * The changes to apply with [com.auth0.android.myaccount.MyAccountAPIClient.updateUserProfile]. * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. + * * Properties left as `null` are not sent and remain unchanged. A request with every property * `null` is valid and returns the current profile. * diff --git a/auth0/src/main/java/com/auth0/android/result/MyAccountProfile.kt b/auth0/src/main/java/com/auth0/android/result/MyAccountProfile.kt index 5e205720b..c192726f2 100644 --- a/auth0/src/main/java/com/auth0/android/result/MyAccountProfile.kt +++ b/auth0/src/main/java/com/auth0/android/result/MyAccountProfile.kt @@ -11,6 +11,8 @@ import java.lang.reflect.Type /** * The current user's profile, as returned by the My Account API `/me/v1/profile` endpoint. * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. + * * Every property is nullable: the server omits fields that are not set for the user, and * any field can be trimmed from the response by using * [com.auth0.android.myaccount.request.GetUserProfileOptions.fields]. @@ -57,6 +59,8 @@ public data class MyAccountProfile( /** * Describes whether a profile field can be edited by the user and why. + * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. */ @JsonAdapter(ProfileFieldPolicy.Deserializer::class) public data class ProfileFieldPolicy( @@ -100,6 +104,8 @@ public data class ProfileFieldPolicy( /** * Whether a profile field can be edited by the user. + * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. */ public enum class ProfileFieldAccess(public val value: String) { READ_ONLY("read_only"), @@ -112,6 +118,8 @@ public enum class ProfileFieldAccess(public val value: String) { /** * Where a profile field's value comes from. + * + * This API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta) and might change before General Availability. */ public enum class ProfileFieldSource(public val value: String) { USER("user"), diff --git a/examples/my-account-api.md b/examples/my-account-api.md index 8e38d601e..22c6dab83 100644 --- a/examples/my-account-api.md +++ b/examples/my-account-api.md @@ -708,13 +708,13 @@ myAccountClient.updateAuthenticationMethodById("{Authentication_Id}", "{Name}") ``` -### Get the User Profile +### Get the User Profile [Beta] **Scopes required:** `read:me:profile` Retrieves the current user's profile. Each entry in `profilePolicy` describes whether the user can edit a field (`access`), where its value comes from (`source`), and why it is read-only (`reason`), so you can render an editable or read-only UI without checking the connection type. Entries are keyed by a JSON Pointer to the field, e.g. `/given_name`. `GetUserProfileOptions` and `UpdateUserProfileRequest` are in the `com.auth0.android.myaccount.request` package. > [!NOTE] -> The My Account profile endpoints are currently in [Early Access](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#early-access). To request access to this feature, contact your Auth0 representative. +> The My Account profile API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta). It might change before General Availability, and Auth0 does not support beta functionality for production use. The feature must be enabled for your tenant. **Prerequisites:** @@ -773,13 +773,13 @@ myAccountClient.getUserProfile(options).start(callback); ``` -### Update the User Profile +### Update the User Profile [Beta] **Scopes required:** `update:me:profile` Updates the user's editable profile fields, and returns the full updated profile. > [!NOTE] -> The My Account profile endpoints are currently in [Early Access](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#early-access). To request access to this feature, contact your Auth0 representative. +> The My Account profile API is currently in [Beta](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#beta). It might change before General Availability, and Auth0 does not support beta functionality for production use. The feature must be enabled for your tenant. - Properties left as `null` in `UpdateUserProfileRequest` are not sent and remain unchanged. - An empty `UpdateUserProfileRequest()` is valid and returns the current profile. @@ -787,7 +787,7 @@ Updates the user's editable profile fields, and returns the full updated profile **Prerequisites:** -The same as [Get the User Profile](#get-the-user-profile), with the `update:me:profile` scope. +The same as [Get the User Profile](#get-the-user-profile-beta), with the `update:me:profile` scope. ```kotlin val request = UpdateUserProfileRequest(givenName = "Jane", nickname = "jane")