Clerk · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Clerk Frontend User API
10 actions
10 updates
phrasing
extends
openapi/clerk-com-user-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Clerk's API. It is a proposal applied on top of the contract, not a document Clerk publishes.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/v1/me'].get
$.paths['/v1/me'].delete
$.paths['/v1/me'].patch
$.paths['/v1/me/metadata'].patch
$.paths['/v1/me/tokens'].post
$.paths['/v1/me/profile_image'].post
$.paths['/v1/me/profile_image'].delete
$.paths['/v1/me/change_password'].post
$.paths['/v1/me/remove_password'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Clerk Frontend User API
version: 1.0.0
extends: openapi/clerk-com-user-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 9
- target: $.paths['/v1/me'].get
update:
x-apievangelist-phrasing:
intent: Get the signed-in user's profile
effect: read
questions:
- How does my frontend get the attributes of the currently signed-in user?
- What profile fields come back for the current user?
instructions:
- text: Get my own user profile.
- text: Show all attributes of the signed-in user.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me'].delete
update:
x-apievangelist-phrasing:
intent: Delete the signed-in user's account
effect: destructive
questions:
- How can a signed-in user delete their own account from the frontend?
- Can users close their own account without an admin?
instructions:
- text: Delete my account.
- text: Permanently remove the currently signed-in user.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me'].patch
update:
x-apievangelist-phrasing:
intent: Update the signed-in user's profile
effect: write
questions:
- How does a signed-in user change their own first and last name?
- Can the current user pick a different primary email address themselves?
instructions:
- text: Change my username to {username}.
slots:
username: requestBody.username
- text: Update my name to {first_name} {last_name}.
slots:
first_name: requestBody.first_name
last_name: requestBody.last_name
- text: Make {primary_email_address_id} my primary email address.
slots:
primary_email_address_id: requestBody.primary_email_address_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/metadata'].patch
update:
x-apievangelist-phrasing:
intent: Merge the signed-in user's unsafe metadata
effect: write
questions:
- How does the frontend add to the current user's unsafe metadata without wiping it?
- Does updating my own metadata deep-merge nested values?
instructions:
- text: Merge {unsafe_metadata} into my unsafe metadata.
slots:
unsafe_metadata: requestBody.unsafe_metadata
- text: Deep-merge the preferences {unsafe_metadata} into the signed-in user's metadata.
slots:
unsafe_metadata: requestBody.unsafe_metadata
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/tokens'].post
update:
x-apievangelist-phrasing:
intent: Mint a JWT for the signed-in user
effect: write
questions:
- How do I get a JWT for the current user to call another service?
- Can I mint a user token for a named service from the frontend?
instructions:
- text: Create a JWT for me for service {service}.
slots:
service: requestBody.service
- text: Issue a user token for {service} in session {_clerk_session_id}.
slots:
service: requestBody.service
_clerk_session_id: query._clerk_session_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/profile_image'].post
update:
x-apievangelist-phrasing:
intent: Change the signed-in user's avatar
effect: write
questions:
- How does a signed-in user upload their own profile picture?
- Can the current user replace their avatar from the browser?
instructions:
- text: Upload {file} as my profile image.
slots:
file: requestBody.file
- text: Set a new avatar for the current user.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/profile_image'].delete
update:
x-apievangelist-phrasing:
intent: Remove the signed-in user's avatar
effect: destructive
questions:
- How does a user remove their own profile picture?
- Can the current user go back to having no avatar?
instructions:
- text: Remove my profile image.
- text: Delete the signed-in user's avatar.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/change_password'].post
update:
x-apievangelist-phrasing:
intent: Change the signed-in user's password
effect: write
questions:
- How does a signed-in user change their own password?
- Can I sign out my other sessions when I change my password?
instructions:
- text: Change my password from {current_password} to {new_password}.
slots:
current_password: requestBody.current_password
new_password: requestBody.new_password
- text: 'Set my new password to {new_password} and sign out other sessions: {sign_out_of_other_sessions}.'
slots:
new_password: requestBody.new_password
sign_out_of_other_sessions: requestBody.sign_out_of_other_sessions
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/me/remove_password'].post
update:
x-apievangelist-phrasing:
intent: Remove the signed-in user's password
effect: destructive
questions:
- How can a user remove their password and rely on other sign-in methods?
- Do I need my current password to delete it?
instructions:
- text: Remove my password; my current one is {current_password}.
slots:
current_password: requestBody.current_password
- text: Delete the password from my account entirely.
method: generated
generated: '2026-09-26'