GitHub Actions · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for GitHub Actions Secrets API
14 actions
14 updates
phrasing
extends
openapi/github-actions-secrets-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.
What the actions change
x-apievangelist-phrasing
Targets 14
$.info
$.paths['/repos/{owner}/{repo}/actions/secrets'].get
$.paths['/repos/{owner}/{repo}/actions/secrets/public-key'].get
$.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].get
$.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].put
$.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].delete
$.paths['/repos/{owner}/{repo}/actions/organization-secrets'].get
$.paths['/orgs/{org}/actions/secrets'].get
$.paths['/orgs/{org}/actions/secrets/public-key'].get
$.paths['/orgs/{org}/actions/secrets/{secret_name}'].get
$.paths['/orgs/{org}/actions/secrets/{secret_name}'].put
$.paths['/orgs/{org}/actions/secrets/{secret_name}'].delete
$.paths['/orgs/{org}/actions/secrets/{secret_name}/repositories'].get
$.paths['/orgs/{org}/actions/secrets/{secret_name}/repositories'].put
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 Actions Secrets API
version: 1.0.0
extends: openapi/github-actions-secrets-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: 13
- target: $.paths['/repos/{owner}/{repo}/actions/secrets'].get
update:
x-apievangelist-phrasing:
intent: List a repository's own Actions secrets
effect: read
questions:
- What secrets are defined directly on my repository for workflows to use?
- Can I see the names of my repo's secrets without exposing their values?
instructions:
- text: List the repository-level secrets defined in {owner}/{repo}.
slots:
owner: path.owner
repo: path.repo
- text: Show the names and update dates of secrets stored on {owner}/{repo} itself.
slots:
owner: path.owner
repo: path.repo
method: generated
generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/secrets/public-key'].get
update:
x-apievangelist-phrasing:
intent: Get the key for encrypting a repository secret
effect: read
questions:
- Which public key do I encrypt a new repository secret with before uploading it?
- Where do I get the key_id to send along with an encrypted repo secret?
instructions:
- text: Get the secret-encryption public key for repository {owner}/{repo}.
slots:
owner: path.owner
repo: path.repo
- text: Fetch the repo public key and key ID I need to encrypt a secret for {repo}.
slots:
repo: path.repo
method: generated
generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].get
update:
x-apievangelist-phrasing:
intent: Look up one repository secret's metadata
effect: read
questions:
- When was a particular repository secret last updated?
- Does my repository have a secret with a given name?
instructions:
- text: Get the repository secret {secret_name} in {owner}/{repo}.
slots:
secret_name: path.secret_name
owner: path.owner
repo: path.repo
- text: Check when repo secret {secret_name} was created and last changed.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a repository secret
effect: write
questions:
- How do I add a new secret to my repository for workflows to read?
- Can I rotate the value of an existing repository secret?
instructions:
- text: Save repository secret {secret_name} in {owner}/{repo} with encrypted value {encrypted_value} and key {key_id}.
slots:
secret_name: path.secret_name
owner: path.owner
repo: path.repo
encrypted_value: requestBody.encrypted_value
key_id: requestBody.key_id
- text: Rotate the repo secret {secret_name} to a newly encrypted value.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/secrets/{secret_name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a repository secret
effect: destructive
questions:
- How do I remove a secret from a single repository?
- Can I delete a leaked repository secret by name?
instructions:
- text: Delete repository secret {secret_name} from {owner}/{repo}.
slots:
secret_name: path.secret_name
owner: path.owner
repo: path.repo
- text: Remove the repo-level secret {secret_name}.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/repos/{owner}/{repo}/actions/organization-secrets'].get
update:
x-apievangelist-phrasing:
intent: List organization secrets shared with a repository
effect: read
questions:
- Which organization-level secrets can my repository's workflows access?
- What org secrets have been shared into this repo?
instructions:
- text: List the organization secrets that {owner}/{repo} has access to.
slots:
owner: path.owner
repo: path.repo
- text: Show which inherited org secrets are available in {repo}.
slots:
repo: path.repo
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets'].get
update:
x-apievangelist-phrasing:
intent: List all of an organization's Actions secrets
effect: read
questions:
- What Actions secrets are defined at the organization level?
- Can I see every org secret along with its visibility setting?
instructions:
- text: List every organization secret defined in {org}.
slots:
org: path.org
- text: Show the names and visibility of all org-level secrets in {org}.
slots:
org: path.org
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/public-key'].get
update:
x-apievangelist-phrasing:
intent: Get the key for encrypting an organization secret
effect: read
questions:
- Which public key do I use to encrypt an organization-level secret?
- Where do I find the org key_id to send with an encrypted org secret?
instructions:
- text: Get the organization public key for encrypting secrets in {org}.
slots:
org: path.org
- text: Fetch the org-level encryption key and key ID for {org}.
slots:
org: path.org
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/{secret_name}'].get
update:
x-apievangelist-phrasing:
intent: Look up one organization secret's metadata
effect: read
questions:
- What visibility does a particular organization secret have?
- When was an org secret last updated?
instructions:
- text: Get the organization secret {secret_name} in {org}.
slots:
secret_name: path.secret_name
org: path.org
- text: Check the visibility and last update of org secret {secret_name}.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/{secret_name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an organization secret
effect: write
questions:
- How do I create a secret once at the organization level for many repositories to use?
- Can I make an org secret visible to all, private, or only selected repositories?
instructions:
- text: Save org secret {secret_name} in {org} with encrypted value {encrypted_value} and key {key_id}.
slots:
secret_name: path.secret_name
org: path.org
encrypted_value: requestBody.encrypted_value
key_id: requestBody.key_id
- text: Set the visibility of org secret {secret_name} to {visibility}.
slots:
secret_name: path.secret_name
visibility: requestBody.visibility
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/{secret_name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an organization secret
effect: destructive
questions:
- How do I delete a secret from my whole organization?
- Can I remove an org-level secret that several repos were sharing?
instructions:
- text: Delete organization secret {secret_name} from {org}.
slots:
secret_name: path.secret_name
org: path.org
- text: Remove the org-wide secret {secret_name}.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/{secret_name}/repositories'].get
update:
x-apievangelist-phrasing:
intent: List repositories selected for an org secret
effect: read
questions:
- Which repositories are allowed to use an organization secret with selected visibility?
- What repos currently have access to a specific org secret?
instructions:
- text: List the repositories selected for org secret {secret_name} in {org}.
slots:
secret_name: path.secret_name
org: path.org
- text: Show which repos can read the {secret_name} organization secret.
slots:
secret_name: path.secret_name
method: generated
generated: '2026-09-26'
- target: $.paths['/orgs/{org}/actions/secrets/{secret_name}/repositories'].put
update:
x-apievangelist-phrasing:
intent: Replace the repositories that can use an org secret
effect: write
questions:
- How do I change which repositories get access to an organization secret?
- Can I replace the whole list of repos for a selected-visibility org secret at once?
instructions:
- text: Grant org secret {secret_name} in {org} to exactly repositories {selected_repository_ids}.
slots:
secret_name: path.secret_name
org: path.org
selected_repository_ids: requestBody.selected_repository_ids
- text: Replace the repository access list for secret {secret_name} with {selected_repository_ids}.
slots:
secret_name: path.secret_name
selected_repository_ids: requestBody.selected_repository_ids
method: generated
generated: '2026-09-26'