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

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

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