diff --git a/main/config/navigation/generated/myaccount.en.json b/main/config/navigation/generated/myaccount.en.json
index eff4d22490..64aa7806bb 100644
--- a/main/config/navigation/generated/myaccount.en.json
+++ b/main/config/navigation/generated/myaccount.en.json
@@ -26,6 +26,12 @@
"docs/api/myaccount/connected-accounts/get-connected-accounts-connections",
"docs/api/myaccount/connected-accounts/delete-connected-account"
]
+ },
+ {
+ "group": "Profile",
+ "pages": [
+ "docs/api/myaccount/profile/get-profile"
+ ]
}
]
}
diff --git a/main/config/navigation/generated/myaccount.fr-ca.json b/main/config/navigation/generated/myaccount.fr-ca.json
index b3c04e2df8..715caa781b 100644
--- a/main/config/navigation/generated/myaccount.fr-ca.json
+++ b/main/config/navigation/generated/myaccount.fr-ca.json
@@ -26,6 +26,12 @@
"docs/fr-ca/api/myaccount/connected-accounts/get-connected-accounts-connections",
"docs/fr-ca/api/myaccount/connected-accounts/delete-connected-account"
]
+ },
+ {
+ "group": "Profile",
+ "pages": [
+ "docs/fr-ca/api/myaccount/profile/get-profile"
+ ]
}
]
}
diff --git a/main/config/navigation/generated/myaccount.ja-jp.json b/main/config/navigation/generated/myaccount.ja-jp.json
index 2bc6181aef..a36cab81c5 100644
--- a/main/config/navigation/generated/myaccount.ja-jp.json
+++ b/main/config/navigation/generated/myaccount.ja-jp.json
@@ -26,6 +26,12 @@
"docs/ja-jp/api/myaccount/connected-accounts/get-connected-accounts-connections",
"docs/ja-jp/api/myaccount/connected-accounts/delete-connected-account"
]
+ },
+ {
+ "group": "Profile",
+ "pages": [
+ "docs/ja-jp/api/myaccount/profile/get-profile"
+ ]
}
]
}
diff --git a/main/docs/api/myaccount/_metadata.json b/main/docs/api/myaccount/_metadata.json
index aa2e9dba31..4476a882e5 100644
--- a/main/docs/api/myaccount/_metadata.json
+++ b/main/docs/api/myaccount/_metadata.json
@@ -1,4 +1,4 @@
{
- "oasVersion": "1.606.0",
+ "oasVersion": "1.610.0",
"snippetVersion": "0.0.5"
}
diff --git a/main/docs/api/myaccount/profile/get-profile.mdx b/main/docs/api/myaccount/profile/get-profile.mdx
new file mode 100644
index 0000000000..a03808f0d0
--- /dev/null
+++ b/main/docs/api/myaccount/profile/get-profile.mdx
@@ -0,0 +1,11 @@
+---
+openapi: /docs/oas/myaccount/myaccount-api-oas.json GET /profile
+playground: simple
+deprecated: false
+---
+
+import { ApiReleaseLifecycle } from "/snippets/ApiReleaseLifecycle.jsx";
+import { Scopes } from "/snippets/ApiScopes.jsx";
+
+
+
\ No newline at end of file
diff --git a/main/docs/fr-ca/api/myaccount/profile/get-profile.mdx b/main/docs/fr-ca/api/myaccount/profile/get-profile.mdx
new file mode 100644
index 0000000000..a03808f0d0
--- /dev/null
+++ b/main/docs/fr-ca/api/myaccount/profile/get-profile.mdx
@@ -0,0 +1,11 @@
+---
+openapi: /docs/oas/myaccount/myaccount-api-oas.json GET /profile
+playground: simple
+deprecated: false
+---
+
+import { ApiReleaseLifecycle } from "/snippets/ApiReleaseLifecycle.jsx";
+import { Scopes } from "/snippets/ApiScopes.jsx";
+
+
+
\ No newline at end of file
diff --git a/main/docs/ja-jp/api/myaccount/profile/get-profile.mdx b/main/docs/ja-jp/api/myaccount/profile/get-profile.mdx
new file mode 100644
index 0000000000..a03808f0d0
--- /dev/null
+++ b/main/docs/ja-jp/api/myaccount/profile/get-profile.mdx
@@ -0,0 +1,11 @@
+---
+openapi: /docs/oas/myaccount/myaccount-api-oas.json GET /profile
+playground: simple
+deprecated: false
+---
+
+import { ApiReleaseLifecycle } from "/snippets/ApiReleaseLifecycle.jsx";
+import { Scopes } from "/snippets/ApiScopes.jsx";
+
+
+
\ No newline at end of file
diff --git a/main/docs/oas/myaccount/myaccount-api-oas.json b/main/docs/oas/myaccount/myaccount-api-oas.json
index 7cab1423a4..decc3d6c4b 100644
--- a/main/docs/oas/myaccount/myaccount-api-oas.json
+++ b/main/docs/oas/myaccount/myaccount-api-oas.json
@@ -42,6 +42,11 @@
"name": "organizations",
"description": "Organizations",
"x-displayName": "Organizations"
+ },
+ {
+ "name": "profile",
+ "description": "Profile",
+ "x-displayName": "Profile"
}
],
"paths": {
@@ -2036,6 +2041,76 @@
"x-operation-name": "list",
"x-codeSamples": []
}
+ },
+ "/profile": {
+ "get": {
+ "description": "Retrieve the authenticated user's profile attributes available for self-service management, with a per-field access policy indicating read/write eligibility.",
+ "operationId": "getProfile",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/HeaderCorrelationId"
+ },
+ {
+ "$ref": "#/components/parameters/HeaderTraceparent"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetProfileResponseContent"
+ }
+ }
+ },
+ "description": "Successfully retrieved profile.",
+ "headers": {
+ "x-ratelimit-limit": {
+ "$ref": "#/components/headers/XRateLimitLimitHeader"
+ },
+ "x-ratelimit-reset": {
+ "$ref": "#/components/headers/XRateLimitResetHeader"
+ },
+ "x-ratelimit-remaining": {
+ "$ref": "#/components/headers/XRateLimitRemainingHeader"
+ },
+ "x-correlation-id": {
+ "$ref": "#/components/headers/CorrelationIdHeader"
+ },
+ "traceparent": {
+ "$ref": "#/components/headers/TraceparentHeader"
+ }
+ }
+ },
+ "401": {
+ "$ref": "#/components/responses/Unauthorized"
+ },
+ "403": {
+ "$ref": "#/components/responses/Forbidden"
+ },
+ "404": {
+ "$ref": "#/components/responses/NotFound"
+ },
+ "429": {
+ "$ref": "#/components/responses/TooManyRequests"
+ }
+ },
+ "security": [
+ {
+ "Bearer-DPoP": [
+ "read:me:profile"
+ ]
+ }
+ ],
+ "tags": [
+ "profile"
+ ],
+ "summary": "Get the authenticated user's profile.",
+ "x-release-lifecycle": "beta",
+ "x-operation-group": "Profile",
+ "x-operation-name": "get",
+ "x-codeSamples": []
+ }
}
},
"components": {
@@ -4890,6 +4965,118 @@
"organizations"
],
"additionalProperties": false
+ },
+ "UserMetadata": {
+ "type": "object",
+ "description": "Data related to the user that does not affect the application's core functionality. Only the subset of keys accessible for self-service management is returned.",
+ "additionalProperties": true
+ },
+ "ProfileFieldAccessEnum": {
+ "type": "string",
+ "enum": [
+ "read_write",
+ "read_only"
+ ],
+ "description": "Whether the authenticated user may write this field."
+ },
+ "ProfileFieldSourceEnum": {
+ "type": "string",
+ "enum": [
+ "user",
+ "idp",
+ "system"
+ ],
+ "description": "Who is the authoritative source for this field's value."
+ },
+ "ProfilePolicyEntry": {
+ "type": "object",
+ "description": "Write-eligibility descriptor for a single profile field.",
+ "required": [
+ "label",
+ "access",
+ "source"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Human-readable field name."
+ },
+ "access": {
+ "$ref": "#/components/schemas/ProfileFieldAccessEnum"
+ },
+ "source": {
+ "$ref": "#/components/schemas/ProfileFieldSourceEnum"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Present only when access is read_only. Explains why the field is not writable."
+ }
+ }
+ },
+ "ProfilePolicy": {
+ "type": "object",
+ "description": "Per-field write-eligibility keyed by RFC 6901 JSON Pointer (e.g. /email).",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ProfilePolicyEntry"
+ }
+ },
+ "GetProfileResponseContent": {
+ "type": "object",
+ "description": "The authenticated user's profile attributes available for self-service management, with a per-field access policy indicating read/write eligibility.",
+ "required": [],
+ "additionalProperties": false,
+ "properties": {
+ "given_name": {
+ "type": "string",
+ "description": "Given name/first name/forename of this user."
+ },
+ "family_name": {
+ "type": "string",
+ "description": "Family name/last name/surname of this user."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of this user."
+ },
+ "nickname": {
+ "type": "string",
+ "description": "Preferred nickname or alias of this user."
+ },
+ "picture": {
+ "type": "string",
+ "description": "URL to picture, photo, or avatar of this user."
+ },
+ "email": {
+ "type": "string",
+ "format": "email",
+ "description": "Email address of this user."
+ },
+ "phone_number": {
+ "type": "string",
+ "description": "Phone number for this user. Follows the E.164 recommendation."
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of this user."
+ },
+ "user_metadata": {
+ "$ref": "#/components/schemas/UserMetadata"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when this user was created."
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when this user was last updated/modified."
+ },
+ "profile_policy": {
+ "$ref": "#/components/schemas/ProfilePolicy"
+ }
+ }
}
},
"responses": {