# 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 Git API version: 1.0.0 extends: openapi/github-git-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: 13 - target: $.paths['/repos/{owner}/{repo}/git/blobs'].post update: x-apievangelist-phrasing: intent: Create a Git blob in a repository effect: write questions: - How do I upload raw file content as a Git blob without cloning the repo? - Can I create a blob from base64-encoded content instead of UTF-8 text? instructions: - text: Create a blob in {owner}/{repo} with the content {content}. slots: owner: path.owner repo: path.repo content: requestBody.content - text: Store {content} as a {encoding}-encoded Git blob in {owner}/{repo}. slots: owner: path.owner repo: path.repo content: requestBody.content encoding: requestBody.encoding method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/blobs/{file_sha}'].get update: x-apievangelist-phrasing: intent: Get a Git blob by its SHA effect: read questions: - How can I read a file's contents from the Git database by its blob SHA? - Why is blob content always base64 encoded, and can I get it raw instead? instructions: - text: Get blob {file_sha} from {owner}/{repo}. slots: owner: path.owner repo: path.repo file_sha: path.file_sha - text: Fetch the contents of Git blob {file_sha} in the {repo} repository owned by {owner}. slots: owner: path.owner repo: path.repo file_sha: path.file_sha method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/commits'].post update: x-apievangelist-phrasing: intent: Create a Git commit object effect: write questions: - How do I create a commit directly through the Git database from a tree SHA? - Can I set a custom author and committer on a low-level Git commit? - Is it possible to attach a GPG signature when creating a commit object? instructions: - text: Create a commit in {owner}/{repo} with message {message} pointing at tree {tree}. slots: owner: path.owner repo: path.repo message: requestBody.message tree: requestBody.tree - text: Make a Git commit object in {owner}/{repo} for tree {tree} with parents {parents} and message {message}. slots: owner: path.owner repo: path.repo tree: requestBody.tree parents: requestBody.parents message: requestBody.message method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/commits/{commit_sha}'].get update: x-apievangelist-phrasing: intent: Get a Git commit object by SHA effect: read questions: - How do I look up the raw Git commit object, including its tree and parents, for a SHA? - Can I check whether a commit's signature was verified? instructions: - text: Get Git commit object {commit_sha} from {owner}/{repo}. slots: owner: path.owner repo: path.repo commit_sha: path.commit_sha - text: Show the tree, parents and signature verification for commit {commit_sha} in {owner}/{repo}. slots: owner: path.owner repo: path.repo commit_sha: path.commit_sha method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/matching-refs/{ref}'].get update: x-apievangelist-phrasing: intent: List Git references matching a prefix effect: read questions: - How do I find all branches whose names start with feature/? - Can I list every tag reference that begins with v1 in a repository? instructions: - text: List all refs in {owner}/{repo} that match {ref}. slots: owner: path.owner repo: path.repo ref: path.ref - text: Find every branch or tag in {owner}/{repo} whose name starts with {ref}. slots: owner: path.owner repo: path.repo ref: path.ref method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/ref/{ref}'].get update: x-apievangelist-phrasing: intent: Get a single Git reference effect: read questions: - What commit SHA does a specific branch point to right now? - How do I check if an exact tag reference exists in a repo? instructions: - text: Get the reference {ref} in {owner}/{repo}. slots: owner: path.owner repo: path.repo ref: path.ref - text: Tell me which SHA the exact ref {ref} points to in {owner}/{repo}. slots: owner: path.owner repo: path.repo ref: path.ref method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/refs'].post update: x-apievangelist-phrasing: intent: Create a branch or tag reference effect: write questions: - How do I create a new branch from a commit SHA through the API? - Why can't I create a reference in an empty repository? instructions: - text: Create the ref {ref} in {owner}/{repo} pointing at {sha}. slots: owner: path.owner repo: path.repo ref: requestBody.ref sha: requestBody.sha - text: Make a new branch {ref} in {owner}/{repo} starting from commit {sha}. slots: owner: path.owner repo: path.repo ref: requestBody.ref sha: requestBody.sha method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/refs/{ref}'].delete update: x-apievangelist-phrasing: intent: Delete a branch or tag reference effect: destructive questions: - How do I delete a branch through the Git references API? - Can I remove a tag ref from a repository without deleting the commit? instructions: - text: Delete the reference {ref} from {owner}/{repo}. slots: owner: path.owner repo: path.repo ref: path.ref - text: Remove branch ref {ref} in the {repo} repository owned by {owner}. slots: owner: path.owner repo: path.repo ref: path.ref method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/refs/{ref}'].patch update: x-apievangelist-phrasing: intent: Move a reference to a new commit effect: write questions: - How do I point an existing branch at a different commit? - Can I force-update a branch ref even when it isn't a fast-forward? instructions: - text: Update the ref {ref} in {owner}/{repo} to point at {sha}. slots: owner: path.owner repo: path.repo ref: path.ref sha: requestBody.sha - text: 'Force-move existing branch {ref} in {owner}/{repo} to commit {sha} (force: {force}).' slots: owner: path.owner repo: path.repo ref: path.ref sha: requestBody.sha force: requestBody.force method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/tags'].post update: x-apievangelist-phrasing: intent: Create an annotated tag object effect: write questions: - How do I create an annotated tag with a message and tagger through the API? - Does creating a tag object also create the refs/tags reference? instructions: - text: Create an annotated tag object {tag} in {owner}/{repo} on {object} with message {message}. slots: owner: path.owner repo: path.repo tag: requestBody.tag object: requestBody.object message: requestBody.message - text: Make tag object {tag} for {type} {object} in {owner}/{repo} with the note {message}. slots: owner: path.owner repo: path.repo tag: requestBody.tag type: requestBody.type object: requestBody.object message: requestBody.message method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/tags/{tag_sha}'].get update: x-apievangelist-phrasing: intent: Get an annotated tag object by SHA effect: read questions: - How do I read the message and tagger of an annotated tag? - Can I see if a tag object's signature is verified? instructions: - text: Get tag object {tag_sha} from {owner}/{repo}. slots: owner: path.owner repo: path.repo tag_sha: path.tag_sha - text: Show the tagger, message and verification for annotated tag {tag_sha} in {owner}/{repo}. slots: owner: path.owner repo: path.repo tag_sha: path.tag_sha method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/trees'].post update: x-apievangelist-phrasing: intent: Create a Git tree of files effect: write questions: - How do I build a new tree of file changes on top of an existing base tree? - Can I add or modify several files in one tree without touching the rest of the repo? instructions: - text: Create a tree in {owner}/{repo} with the entries {tree}. slots: owner: path.owner repo: path.repo tree: requestBody.tree - text: Build a new tree in {owner}/{repo} from base tree {base_tree} with these changes {tree}. slots: owner: path.owner repo: path.repo base_tree: requestBody.base_tree tree: requestBody.tree method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/git/trees/{tree_sha}'].get update: x-apievangelist-phrasing: intent: Get a Git tree, optionally recursively effect: read questions: - How do I list every file in a repository at a given commit tree? - What happens when a tree response comes back truncated? instructions: - text: Get tree {tree_sha} from {owner}/{repo}. slots: owner: path.owner repo: path.repo tree_sha: path.tree_sha - text: 'List all files recursively in tree {tree_sha} of {owner}/{repo} (recursive: {recursive}).' slots: owner: path.owner repo: path.repo tree_sha: path.tree_sha recursive: query.recursive method: generated generated: '2026-09-24'