GitHub Actions · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for GitHub Actions Self-Hosted Runners API

12 actions 12 updates phrasing extends openapi/github-actions-self-hosted-runners-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for GitHub Actions's API. It is a proposal applied on top of the contract, not a document GitHub Actions publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/repos/{owner}/{repo}/actions/runners'].get
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}'].get
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}'].delete
$.paths['/repos/{owner}/{repo}/actions/runners/downloads'].get
$.paths['/repos/{owner}/{repo}/actions/runners/registration-token'].post
$.paths['/repos/{owner}/{repo}/actions/runners/remove-token'].post
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].get
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].put
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].post
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].delete
$.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}'].delete

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 Actions Self-Hosted Runners API
  version: 1.0.0
extends: openapi/github-actions-self-hosted-runners-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: 11
- target: $.paths['/repos/{owner}/{repo}/actions/runners'].get
  update:
    x-apievangelist-phrasing:
      intent: List a repository's self-hosted runners
      effect: read
      questions:
      - Which self-hosted runners are registered to my repository and are they online?
      - Can I find a repository runner by its name?
      instructions:
      - text: List the self-hosted runners registered to {owner}/{repo}.
        slots:
          owner: path.owner
          repo: path.repo
      - text: Find the runner named {name} in {owner}/{repo}.
        slots:
          name: query.name
          owner: path.owner
          repo: path.repo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one self-hosted runner
      effect: read
      questions:
      - Is a specific self-hosted runner online and busy right now?
      - What operating system and labels does a given runner report?
      instructions:
      - text: Get self-hosted runner {runner_id} in {owner}/{repo}.
        slots:
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Check the status and OS of runner {runner_id}.
        slots:
          runner_id: path.runner_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Force-remove a self-hosted runner from a repo
      effect: destructive
      questions:
      - How do I force the removal of a dead runner that no longer exists on the machine?
      - Can I deregister a self-hosted runner from my repository through the API?
      instructions:
      - text: Force-remove runner {runner_id} from {owner}/{repo}.
        slots:
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Delete the offline self-hosted runner {runner_id}.
        slots:
          runner_id: path.runner_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/downloads'].get
  update:
    x-apievangelist-phrasing:
      intent: List runner application downloads
      effect: read
      questions:
      - Where do I download the runner application binary for Linux, macOS or Windows?
      - What runner software packages are available to install on my own machine?
      instructions:
      - text: List the runner application binaries I can download for {owner}/{repo}.
        slots:
          owner: path.owner
          repo: path.repo
      - text: Get the download URL of the runner package for my OS and architecture.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/registration-token'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a token to register a new runner
      effect: write
      questions:
      - How do I get the token the config script needs to register a self-hosted runner?
      - What do I need before adding a new runner machine to my repository?
      instructions:
      - text: Create a runner registration token for {owner}/{repo}.
        slots:
          owner: path.owner
          repo: path.repo
      - text: Give me a token to register a new self-hosted runner on {repo}.
        slots:
          repo: path.repo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/remove-token'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a token to unregister a runner
      effect: write
      questions:
      - Which token does the config script need to cleanly remove a runner from my repository?
      - How do I unregister a self-hosted runner from the machine it runs on?
      instructions:
      - text: Create a runner remove token for {owner}/{repo}.
        slots:
          owner: path.owner
          repo: path.repo
      - text: Give me a token to unregister a self-hosted runner from {repo}.
        slots:
          repo: path.repo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].get
  update:
    x-apievangelist-phrasing:
      intent: List the labels on a self-hosted runner
      effect: read
      questions:
      - What labels does a self-hosted runner have that jobs can target with runs-on?
      - Which custom and default labels are attached to one of my runners?
      instructions:
      - text: List the labels on runner {runner_id} in {owner}/{repo}.
        slots:
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Show which runs-on labels runner {runner_id} answers to.
        slots:
          runner_id: path.runner_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace all custom labels on a runner
      effect: write
      questions:
      - How do I overwrite a runner's custom labels with a completely new set?
      - Can I reset a runner's labels to an exact list in one call?
      instructions:
      - text: Replace the custom labels on runner {runner_id} in {owner}/{repo} with {labels}.
        slots:
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
          labels: requestBody.labels
      - text: Set runner {runner_id}'s labels to exactly {labels}, dropping the old ones.
        slots:
          runner_id: path.runner_id
          labels: requestBody.labels
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].post
  update:
    x-apievangelist-phrasing:
      intent: Add custom labels to a runner
      effect: write
      questions:
      - How do I tag a self-hosted runner with an extra label like gpu without losing its existing ones?
      - Can I append new labels to a runner?
      instructions:
      - text: Add labels {labels} to runner {runner_id} in {owner}/{repo}.
        slots:
          labels: requestBody.labels
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Append the label {labels} to runner {runner_id}, keeping its current labels.
        slots:
          labels: requestBody.labels
          runner_id: path.runner_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels'].delete
  update:
    x-apievangelist-phrasing:
      intent: Clear every custom label from a runner
      effect: destructive
      questions:
      - How do I strip all custom labels off a runner and leave only the defaults?
      - Can I wipe a runner's custom labels in one go?
      instructions:
      - text: Remove all custom labels from runner {runner_id} in {owner}/{repo}.
        slots:
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Clear every custom label on runner {runner_id}.
        slots:
          runner_id: path.runner_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one custom label from a runner
      effect: destructive
      questions:
      - How do I take a single label off a self-hosted runner?
      - Can I drop one custom label while keeping the runner's other labels?
      instructions:
      - text: Remove the label {name} from runner {runner_id} in {owner}/{repo}.
        slots:
          name: path.name
          runner_id: path.runner_id
          owner: path.owner
          repo: path.repo
      - text: Untag runner {runner_id} from label {name} only.
        slots:
          runner_id: path.runner_id
          name: path.name
      method: generated
      generated: '2026-09-26'