GitHub · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for GitHub v3 REST Projects API
26 actions
26 updates
phrasing
extends
openapi/github-projects-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 26 · first 16 shown; the file carries all of them
$.info
$.paths['/orgs/{org}/projects'].get
$.paths['/orgs/{org}/projects'].post
$.paths['/projects/columns/cards/{card_id}'].get
$.paths['/projects/columns/cards/{card_id}'].delete
$.paths['/projects/columns/cards/{card_id}'].patch
$.paths['/projects/columns/cards/{card_id}/moves'].post
$.paths['/projects/columns/{column_id}'].get
$.paths['/projects/columns/{column_id}'].delete
$.paths['/projects/columns/{column_id}'].patch
$.paths['/projects/columns/{column_id}/cards'].get
$.paths['/projects/columns/{column_id}/cards'].post
$.paths['/projects/columns/{column_id}/moves'].post
$.paths['/projects/{project_id}'].get
$.paths['/projects/{project_id}'].delete
$.paths['/projects/{project_id}'].patch
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 Projects API
version: 1.0.0
extends: openapi/github-projects-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: 25
- target: $.paths['/orgs/{org}/projects'].get
update:
x-apievangelist-phrasing:
intent: List an organization's project boards
effect: read
questions:
- Which classic project boards does an organization have?
- Can I list only the closed project boards in an org?
instructions:
- text: List the project boards in the {org} organization.
slots:
org: path.org
- text: Show {state} projects belonging to organization {org}.
slots:
org: path.org
state: query.state
method: generated
generated: '2026-09-24'
- target: $.paths['/orgs/{org}/projects'].post
update:
x-apievangelist-phrasing:
intent: Create an organization project board
effect: write
questions:
- How do I create a new project board owned by an organization?
- Why would creating an org project board return 410 Gone?
instructions:
- text: Create a project board named {name} in organization {org}.
slots:
name: requestBody.name
org: path.org
- text: Set up org project {name} for {org} with description {body}.
slots:
name: requestBody.name
org: path.org
body: requestBody.body
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/cards/{card_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a project card
effect: read
questions:
- What's on a specific project card, and which column is it in?
- Can I look up a project board card by its id?
instructions:
- text: Get project card {card_id}.
slots:
card_id: path.card_id
- text: Show the note and column of card {card_id} on the project board.
slots:
card_id: path.card_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/cards/{card_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a project card
effect: destructive
questions:
- Can I permanently remove a card from a project board instead of archiving it?
- What's the way to delete a project card by id?
instructions:
- text: Delete project card {card_id}.
slots:
card_id: path.card_id
- text: Permanently remove card {card_id} from its project board.
slots:
card_id: path.card_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/cards/{card_id}'].patch
update:
x-apievangelist-phrasing:
intent: Edit or archive a project card
effect: write
questions:
- How do I archive a project card without deleting it?
- Can I change the note text on an existing project card?
instructions:
- text: Change the note on project card {card_id} to {note}.
slots:
card_id: path.card_id
note: requestBody.note
- text: Set archived to {archived} on project card {card_id}.
slots:
card_id: path.card_id
archived: requestBody.archived
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/cards/{card_id}/moves'].post
update:
x-apievangelist-phrasing:
intent: Move a card within or between project columns
effect: write
questions:
- How do I move a project card to the top or bottom of a column?
- Can I move a card into a different column on the board?
instructions:
- text: Move project card {card_id} to position {position}.
slots:
card_id: path.card_id
position: requestBody.position
- text: Move card {card_id} into column {column_id} at position {position}.
slots:
card_id: path.card_id
column_id: requestBody.column_id
position: requestBody.position
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a project column
effect: read
questions:
- What are the details of a specific column on a project board?
- Can I look up a project column by its id?
instructions:
- text: Get project column {column_id}.
slots:
column_id: path.column_id
- text: Show the name and project of board column {column_id}.
slots:
column_id: path.column_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a project column
effect: destructive
questions:
- Can I delete a whole column from a project board?
- What's the way to remove an unused column from a board?
instructions:
- text: Delete project column {column_id}.
slots:
column_id: path.column_id
- text: Remove column {column_id} from its project board.
slots:
column_id: path.column_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename a project column
effect: write
questions:
- How do I rename a column on a project board?
- Can I change a column's title from To Do to Backlog?
instructions:
- text: Rename project column {column_id} to {name}.
slots:
column_id: path.column_id
name: requestBody.name
- text: Change the title of board column {column_id} to {name}.
slots:
column_id: path.column_id
name: requestBody.name
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}/cards'].get
update:
x-apievangelist-phrasing:
intent: List the cards in a project column
effect: read
questions:
- What cards are sitting in a given project column?
- Can I include archived cards when listing a column?
instructions:
- text: List the cards in project column {column_id}.
slots:
column_id: path.column_id
- text: Show {archived_state} cards in column {column_id}.
slots:
column_id: path.column_id
archived_state: query.archived_state
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}/cards'].post
update:
x-apievangelist-phrasing:
intent: Add a card to a project column
effect: write
questions:
- How do I add a new card to a column on a project board?
- Can I put a card straight into a specific project column?
instructions:
- text: Create a new card in project column {column_id}.
slots:
column_id: path.column_id
- text: Add a card to board column {column_id}.
slots:
column_id: path.column_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/columns/{column_id}/moves'].post
update:
x-apievangelist-phrasing:
intent: Reorder a column on a project board
effect: write
questions:
- Can I change the order of columns on a project board?
- How do I move a column to be first or last on the board?
instructions:
- text: Move project column {column_id} to position {position}.
slots:
column_id: path.column_id
position: requestBody.position
- text: Reorder board column {column_id} so it sits at {position}.
slots:
column_id: path.column_id
position: requestBody.position
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a project board
effect: read
questions:
- What are the details of a specific project board?
- Why would fetching a project return 404 or 401?
instructions:
- text: Get project {project_id}.
slots:
project_id: path.project_id
- text: Show the name, state and description of project board {project_id}.
slots:
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a project board
effect: destructive
questions:
- Can I delete an entire project board?
- What's the way to remove a project board I no longer use?
instructions:
- text: Delete project board {project_id}.
slots:
project_id: path.project_id
- text: Permanently remove project {project_id} and its board.
slots:
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update or close a project board
effect: write
questions:
- How do I close or rename a project board?
- Can I make an organization project private or change the default org permission on it?
instructions:
- text: Rename project {project_id} to {name}.
slots:
project_id: path.project_id
name: requestBody.name
- text: Set project board {project_id} to state {state}.
slots:
project_id: path.project_id
state: requestBody.state
- text: Give org members {organization_permission} access to project {project_id} and set private to {private}.
slots:
project_id: path.project_id
organization_permission: requestBody.organization_permission
private: requestBody.private
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/collaborators'].get
update:
x-apievangelist-phrasing:
intent: List a project's collaborators
effect: read
questions:
- Who has access to an organization project board?
- Can I list only the outside collaborators on a project?
instructions:
- text: List the collaborators on project {project_id}.
slots:
project_id: path.project_id
- text: Show {affiliation} collaborators of project board {project_id}.
slots:
project_id: path.project_id
affiliation: query.affiliation
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/collaborators/{username}'].put
update:
x-apievangelist-phrasing:
intent: Add a collaborator to a project
effect: write
questions:
- How do I give someone access to an organization project board?
- Can I set a collaborator's permission level on a project to write or admin?
instructions:
- text: Add {username} as a collaborator on project {project_id}.
slots:
username: path.username
project_id: path.project_id
- text: Give {username} {permission} permission on project board {project_id}.
slots:
username: path.username
permission: requestBody.permission
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/collaborators/{username}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a collaborator from a project
effect: destructive
questions:
- Can I revoke someone's access to an organization project board?
- Who is allowed to remove a collaborator from a project?
instructions:
- text: Remove {username} as a collaborator from project {project_id}.
slots:
username: path.username
project_id: path.project_id
- text: Revoke access for {username} on project board {project_id}.
slots:
username: path.username
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/collaborators/{username}/permission'].get
update:
x-apievangelist-phrasing:
intent: Check a user's permission on a project
effect: read
questions:
- What permission level does a given person have on a project board?
- Is a collaborator an admin, writer or reader on this project?
instructions:
- text: Get the permission {username} has on project {project_id}.
slots:
username: path.username
project_id: path.project_id
- text: Tell me whether {username} is admin, write, read or none on project board {project_id}.
slots:
username: path.username
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/columns'].get
update:
x-apievangelist-phrasing:
intent: List the columns of a project board
effect: read
questions:
- What columns does a project board have?
- Can I see a board's column layout before adding cards?
instructions:
- text: List the columns in project {project_id}.
slots:
project_id: path.project_id
- text: Show every column on project board {project_id}.
slots:
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/projects/{project_id}/columns'].post
update:
x-apievangelist-phrasing:
intent: Add a column to a project board
effect: write
questions:
- How do I add a new column like In Review to a project board?
- Can I create a project column with just a name?
instructions:
- text: Add a column named {name} to project {project_id}.
slots:
name: requestBody.name
project_id: path.project_id
- text: Create a new column {name} on project board {project_id}.
slots:
name: requestBody.name
project_id: path.project_id
method: generated
generated: '2026-09-24'
- target: $.paths['/repos/{owner}/{repo}/projects'].get
update:
x-apievangelist-phrasing:
intent: List a repository's project boards
effect: read
questions:
- Which project boards are attached to a repository?
- Can I list only a repo's open project boards?
instructions:
- text: List the project boards in {owner}/{repo}.
slots:
owner: path.owner
repo: path.repo
- text: Show {state} projects for repository {owner}/{repo}.
slots:
owner: path.owner
repo: path.repo
state: query.state
method: generated
generated: '2026-09-24'
- target: $.paths['/repos/{owner}/{repo}/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a repository project board
effect: write
questions:
- How do I create a project board inside a single repository?
- What does it mean when creating a repo project returns 410 Gone?
instructions:
- text: Add a repository-level project board called {name} to {owner}/{repo}.
slots:
name: requestBody.name
owner: path.owner
repo: path.repo
- text: Set up repo project {name} for {owner}/{repo} described as {body}.
slots:
name: requestBody.name
owner: path.owner
repo: path.repo
body: requestBody.body
method: generated
generated: '2026-09-24'
- target: $.paths['/user/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a personal project board
effect: write
questions:
- Can I create a project board on my own user account rather than an org or repo?
- Why does creating a user project fail when I have no classic projects?
instructions:
- text: Create a personal project board named {name} on my account.
slots:
name: requestBody.name
- text: Make me a user project {name} with description {body}.
slots:
name: requestBody.name
body: requestBody.body
method: generated
generated: '2026-09-24'
- target: $.paths['/users/{username}/projects'].get
update:
x-apievangelist-phrasing:
intent: List a user's project boards
effect: read
questions:
- Which project boards does a particular user own?
- Can I see only someone's closed personal projects?
instructions:
- text: List the project boards owned by {username}.
slots:
username: path.username
- text: Show {state} projects for user {username}.
slots:
username: path.username
state: query.state
method: generated
generated: '2026-09-24'