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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'