GitHub · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for GitHub v3 REST Users API
37 actions
37 updates
phrasing
extends
openapi/github-users-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for GitHub's API. It is a proposal applied on top of the contract, not a document GitHub publishes.
What the actions change
x-apievangelist-phrasing
Targets 37 · first 16 shown; the file carries all of them
$.info
$.paths['/user'].get
$.paths['/user'].patch
$.paths['/user/emails'].get
$.paths['/user/emails'].post
$.paths['/user/emails'].delete
$.paths['/user/followers'].get
$.paths['/user/following'].get
$.paths['/user/following/{username}'].get
$.paths['/user/following/{username}'].put
$.paths['/user/following/{username}'].delete
$.paths['/user/gpg_keys'].get
$.paths['/user/gpg_keys'].post
$.paths['/user/gpg_keys/{gpg_key_id}'].get
$.paths['/user/gpg_keys/{gpg_key_id}'].delete
$.paths['/user/keys'].get
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 GitHub v3 REST Users API
version: 1.0.0
extends: openapi/github-users-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-24'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 36
- target: $.paths['/user'].get
update:
x-apievangelist-phrasing:
intent: Get my own account profile
effect: read
questions:
- Who am I signed in as, according to the token I'm using?
- What does my own profile look like, including private details my token scope allows?
instructions:
- text: Show my own signed-in user profile.
- text: Tell me which account this token belongs to.
method: generated
generated: '2026-09-24'
- target: $.paths['/user'].patch
update:
x-apievangelist-phrasing:
intent: Update my own profile
effect: write
questions:
- Can I change my display name, bio or location on my profile through the API?
- How do I mark myself as available for hire on my profile?
instructions:
- text: Set my profile bio to {bio}.
slots:
bio: requestBody.bio
- text: Update my profile name to {name} and my location to {location}.
slots:
name: requestBody.name
location: requestBody.location
- text: Change my profile company to {company} and my blog link to {blog}.
slots:
company: requestBody.company
blog: requestBody.blog
method: generated
generated: '2026-09-24'
- target: $.paths['/user/emails'].get
update:
x-apievangelist-phrasing:
intent: List all email addresses on my account
effect: read
questions:
- Which email addresses are attached to my account, and which one is public?
- Are all the emails on my account verified?
instructions:
- text: List every email address on my account, including private ones.
- text: Show all my account emails and which is primary.
method: generated
generated: '2026-09-24'
- target: $.paths['/user/emails'].post
update:
x-apievangelist-phrasing:
intent: Add an email address to my account
effect: write
questions:
- How do I add another email address to my account?
- What token scope is needed to attach a new email to my user?
instructions:
- text: Add a new email address to my account.
- text: Attach an additional email to my signed-in user.
method: generated
generated: '2026-09-24'
- target: $.paths['/user/emails'].delete
update:
x-apievangelist-phrasing:
intent: Remove an email address from my account
effect: destructive
questions:
- Can I remove an old email address from my account?
- What scope do I need to detach an email from my user?
instructions:
- text: Delete an email address from my account.
- text: Remove an outdated email from my signed-in user.
method: generated
generated: '2026-09-24'
- target: $.paths['/user/followers'].get
update:
x-apievangelist-phrasing:
intent: List my followers
effect: read
questions:
- Who follows me?
- How many people are following my account?
instructions:
- text: List the people who follow me.
- text: Show my followers, {per_page} per page.
slots:
per_page: query.per_page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/following'].get
update:
x-apievangelist-phrasing:
intent: List the people I follow
effect: read
questions:
- Which accounts am I following?
- Can I get the full list of users I follow?
instructions:
- text: List everyone I follow.
- text: Show page {page} of the accounts I'm following.
slots:
page: query.page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/following/{username}'].get
update:
x-apievangelist-phrasing:
intent: Check if I follow a user
effect: read
questions:
- Am I already following a particular user?
- Can I confirm whether a certain person is on my following list?
instructions:
- text: Check whether I follow {username}.
slots:
username: path.username
- text: Tell me if {username} is someone I'm following.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/user/following/{username}'].put
update:
x-apievangelist-phrasing:
intent: Follow a user
effect: write
questions:
- How do I follow another developer from the API?
- Is there a special Content-Length requirement when following someone?
instructions:
- text: Follow {username}.
slots:
username: path.username
- text: Start following the account {username} from my user.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/user/following/{username}'].delete
update:
x-apievangelist-phrasing:
intent: Unfollow a user
effect: destructive
questions:
- Can I stop following someone through the API?
- What scope does unfollowing a user require?
instructions:
- text: Unfollow {username}.
slots:
username: path.username
- text: Stop following the account {username}.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/user/gpg_keys'].get
update:
x-apievangelist-phrasing:
intent: List my GPG keys
effect: read
questions:
- Which GPG keys have I registered for signing commits?
- What scope is needed to read the GPG keys on my own account?
instructions:
- text: List the GPG keys on my account.
- text: Show all my registered GPG signing keys, {per_page} per page.
slots:
per_page: query.per_page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/gpg_keys'].post
update:
x-apievangelist-phrasing:
intent: Add a GPG key to my account
effect: write
questions:
- How do I upload a GPG public key so my signed commits show as verified?
- Can I give a GPG key a friendly name when I add it?
instructions:
- text: 'Add this armored GPG public key to my account: {armored_public_key}.'
slots:
armored_public_key: requestBody.armored_public_key
- text: Register GPG key {armored_public_key} on my account named {name}.
slots:
armored_public_key: requestBody.armored_public_key
name: requestBody.name
method: generated
generated: '2026-09-24'
- target: $.paths['/user/gpg_keys/{gpg_key_id}'].get
update:
x-apievangelist-phrasing:
intent: Get details of one of my GPG keys
effect: read
questions:
- What are the extended details of a single GPG key on my account?
- Which emails and subkeys belong to one of my GPG keys?
instructions:
- text: Get my GPG key {gpg_key_id}.
slots:
gpg_key_id: path.gpg_key_id
- text: Show full details for GPG key id {gpg_key_id} on my account.
slots:
gpg_key_id: path.gpg_key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/user/gpg_keys/{gpg_key_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one of my GPG keys
effect: destructive
questions:
- Can I remove a compromised GPG key from my account?
- What happens to commit verification if I delete a GPG key?
instructions:
- text: Delete my GPG key {gpg_key_id}.
slots:
gpg_key_id: path.gpg_key_id
- text: Remove GPG key {gpg_key_id} from my account.
slots:
gpg_key_id: path.gpg_key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/user/keys'].get
update:
x-apievangelist-phrasing:
intent: List my SSH authentication keys
effect: read
questions:
- Which SSH keys can currently access my account?
- How do I audit the public SSH keys I've added for git access?
instructions:
- text: List the public SSH keys on my account.
- text: Show my SSH access keys, page {page}.
slots:
page: query.page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/keys'].post
update:
x-apievangelist-phrasing:
intent: Add an SSH authentication key to my account
effect: write
questions:
- How do I add a new SSH key so a laptop can push over SSH?
- Can I label a new SSH access key with a title?
instructions:
- text: Add the public SSH key {key} to my account for authentication.
slots:
key: requestBody.key
- text: Register SSH access key {key} with title {title}.
slots:
key: requestBody.key
title: requestBody.title
method: generated
generated: '2026-09-24'
- target: $.paths['/user/keys/{key_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one of my SSH authentication keys
effect: read
questions:
- What are the details of one specific SSH access key on my account?
- When was a given SSH key of mine added?
instructions:
- text: Get my public SSH key {key_id}.
slots:
key_id: path.key_id
- text: Show details of SSH access key {key_id} on my account.
slots:
key_id: path.key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/user/keys/{key_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one of my SSH authentication keys
effect: destructive
questions:
- Can I revoke an SSH key from a lost machine?
- What's the way to remove an old SSH access key from my account?
instructions:
- text: Delete my public SSH key {key_id}.
slots:
key_id: path.key_id
- text: Remove SSH access key {key_id} from my account.
slots:
key_id: path.key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/user/public_emails'].get
update:
x-apievangelist-phrasing:
intent: List my publicly visible email addresses
effect: read
questions:
- Which of my email addresses is visible to the public?
- What email do other people see on my profile?
instructions:
- text: List only my publicly visible email addresses.
- text: Show the email that is public on my profile.
method: generated
generated: '2026-09-24'
- target: $.paths['/user/social_accounts'].get
update:
x-apievangelist-phrasing:
intent: List my linked social accounts
effect: read
questions:
- Which social media accounts are linked on my own profile?
- What social links have I added to my account?
instructions:
- text: List the social accounts on my profile.
- text: Show my own linked social media accounts, {per_page} per page.
slots:
per_page: query.per_page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/social_accounts'].post
update:
x-apievangelist-phrasing:
intent: Add social accounts to my profile
effect: write
questions:
- How do I add my social media links to my profile?
- Can I add several social account URLs in one request?
instructions:
- text: Add {account_urls} as social accounts on my profile.
slots:
account_urls: requestBody.account_urls
- text: Link the social profiles {account_urls} to my account.
slots:
account_urls: requestBody.account_urls
method: generated
generated: '2026-09-24'
- target: $.paths['/user/social_accounts'].delete
update:
x-apievangelist-phrasing:
intent: Remove social accounts from my profile
effect: destructive
questions:
- Can I remove a social media link from my profile?
- Is it possible to delete multiple social accounts from my profile at once?
instructions:
- text: Remove {account_urls} from the social accounts on my profile.
slots:
account_urls: requestBody.account_urls
- text: Unlink social profiles {account_urls} from my account.
slots:
account_urls: requestBody.account_urls
method: generated
generated: '2026-09-24'
- target: $.paths['/user/ssh_signing_keys'].get
update:
x-apievangelist-phrasing:
intent: List my SSH signing keys
effect: read
questions:
- Which SSH keys have I registered for signing commits, as opposed to logging in?
- What SSH signing keys are on my account right now?
instructions:
- text: List the SSH signing keys on my account.
- text: Show my commit-signing SSH keys, page {page}.
slots:
page: query.page
method: generated
generated: '2026-09-24'
- target: $.paths['/user/ssh_signing_keys'].post
update:
x-apievangelist-phrasing:
intent: Add an SSH signing key to my account
effect: write
questions:
- How do I register an SSH key to sign my commits?
- Can I name an SSH signing key when adding it?
instructions:
- text: Add {key} as an SSH signing key on my account.
slots:
key: requestBody.key
- text: Register commit-signing SSH key {key} titled {title}.
slots:
key: requestBody.key
title: requestBody.title
method: generated
generated: '2026-09-24'
- target: $.paths['/user/ssh_signing_keys/{ssh_signing_key_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one of my SSH signing keys
effect: read
questions:
- What are the details of a specific SSH signing key of mine?
- Can I look up a commit-signing key by its id?
instructions:
- text: Get my SSH signing key {ssh_signing_key_id}.
slots:
ssh_signing_key_id: path.ssh_signing_key_id
- text: Show details for commit-signing key {ssh_signing_key_id}.
slots:
ssh_signing_key_id: path.ssh_signing_key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/user/ssh_signing_keys/{ssh_signing_key_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one of my SSH signing keys
effect: destructive
questions:
- Can I remove an SSH key I only used for signing commits?
- What's the way to retire an old commit-signing SSH key?
instructions:
- text: Delete my SSH signing key {ssh_signing_key_id}.
slots:
ssh_signing_key_id: path.ssh_signing_key_id
- text: Remove commit-signing key {ssh_signing_key_id} from my account.
slots:
ssh_signing_key_id: path.ssh_signing_key_id
method: generated
generated: '2026-09-24'
- target: $.paths['/users'].get
update:
x-apievangelist-phrasing:
intent: List all users in signup order
effect: read
questions:
- Can I page through every user and organization account in the order they signed up?
- How do I continue listing all users after a certain user id?
instructions:
- text: List all user accounts in the order they signed up.
- text: List every user account that signed up after user id {since}.
slots:
since: query.since
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}'].get
update:
x-apievangelist-phrasing:
intent: Look up a user's public profile
effect: read
questions:
- What public information is available about someone's GitHub account?
- Can I see a user's public profile, like their bio and company, by username?
instructions:
- text: Get the public profile of {username}.
slots:
username: path.username
- text: 'Show me who {username} is: name, bio and public repos count.'
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/followers'].get
update:
x-apievangelist-phrasing:
intent: List a user's followers
effect: read
questions:
- Who follows a particular developer?
- Can I see the follower list of someone else's account?
instructions:
- text: List the followers of {username}.
slots:
username: path.username
- text: Show who follows {username}, {per_page} per page.
slots:
username: path.username
per_page: query.per_page
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/following'].get
update:
x-apievangelist-phrasing:
intent: List who a user follows
effect: read
questions:
- Which accounts does a given user follow?
- Can I see the following list of someone else?
instructions:
- text: List the people {username} follows.
slots:
username: path.username
- text: Show page {page} of accounts followed by {username}.
slots:
username: path.username
page: query.page
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/following/{target_user}'].get
update:
x-apievangelist-phrasing:
intent: Check if one user follows another
effect: read
questions:
- Does one particular user follow another particular user?
- Can I test a follow relationship between two accounts that aren't mine?
instructions:
- text: Check whether {username} follows {target_user}.
slots:
username: path.username
target_user: path.target_user
- text: Tell me if user {username} is following {target_user}.
slots:
username: path.username
target_user: path.target_user
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/gpg_keys'].get
update:
x-apievangelist-phrasing:
intent: List another user's GPG keys
effect: read
questions:
- Which GPG keys has a given user published for commit verification?
- Can I fetch someone else's GPG keys to verify their signatures?
instructions:
- text: List the GPG keys of {username}.
slots:
username: path.username
- text: Show the public GPG keys published by {username}.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/hovercard'].get
update:
x-apievangelist-phrasing:
intent: Get hovercard context about a user
effect: read
questions:
- What's the hovercard context for a user in relation to a repository or pull request?
- Can I find out how someone relates to a specific issue, organization or repo?
instructions:
- text: Get hovercard information for {username}.
slots:
username: path.username
- text: Show how {username} relates to {subject_type} {subject_id}.
slots:
username: path.username
subject_type: query.subject_type
subject_id: query.subject_id
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/keys'].get
update:
x-apievangelist-phrasing:
intent: List another user's verified SSH keys
effect: read
questions:
- Which verified public SSH keys does a given user have?
- Can I grab someone's SSH keys to grant them server access?
instructions:
- text: List the verified public SSH keys of {username}.
slots:
username: path.username
- text: Show the SSH access keys published by user {username}.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/social_accounts'].get
update:
x-apievangelist-phrasing:
intent: List another user's social accounts
effect: read
questions:
- What social media accounts has a given developer linked?
- Can I find someone's other social profiles from their username?
instructions:
- text: List the social accounts of {username}.
slots:
username: path.username
- text: Show the social media profiles linked by {username}.
slots:
username: path.username
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/ssh_signing_keys'].get
update:
x-apievangelist-phrasing:
intent: List another user's SSH signing keys
effect: read
questions:
- Which SSH keys does a given user sign commits with?
- Can I fetch another developer's SSH signing keys to verify their commits?
instructions:
- text: List the SSH signing keys of {username}.
slots:
username: path.username
- text: Show commit-signing SSH keys published by {username}.
slots:
username: path.username
method: generated
generated: '2026-09-24'