openapi: 3.1.0 info: title: GitHub Actions Artifacts Secrets API description: REST API for managing GitHub Actions workflows, runs, artifacts, secrets, runners, caches, variables, permissions, and OIDC. version: 1.0.0 contact: name: GitHub Support url: https://support.github.com license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://api.github.com description: GitHub REST API security: - bearerAuth: [] - personalAccessToken: [] tags: - name: Secrets description: Manage encrypted secrets for Actions paths: /repos/{owner}/{repo}/actions/secrets: get: operationId: listRepoSecrets summary: Github Actions List Repository Secrets description: Lists all secrets available in a repository without revealing their encrypted values. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/page' responses: '200': description: Successfully retrieved secrets content: application/json: schema: type: object properties: total_count: type: integer secrets: type: array items: $ref: '#/components/schemas/ActionsSecret' examples: Listreposecrets200Example: summary: Default listRepoSecrets 200 response x-microcks-default: true value: total_count: 10 secrets: - name: Example Title created_at: '2026-01-15T10:30:00Z' updated_at: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /repos/{owner}/{repo}/actions/secrets/public-key: get: operationId: getRepoPublicKey summary: Github Actions Get a Repository Public Key description: Gets your public key, which you need to encrypt secrets. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' responses: '200': description: Successfully retrieved public key content: application/json: schema: $ref: '#/components/schemas/ActionsPublicKey' examples: Getrepopublickey200Example: summary: Default getRepoPublicKey 200 response x-microcks-default: true value: key_id: '500123' key: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK /repos/{owner}/{repo}/actions/secrets/{secret_name}: get: operationId: getRepoSecret summary: Github Actions Get a Repository Secret description: Gets a single repository secret without revealing its encrypted value. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/secretName' responses: '200': description: Successfully retrieved secret content: application/json: schema: $ref: '#/components/schemas/ActionsSecret' examples: Getreposecret200Example: summary: Default getRepoSecret 200 response x-microcks-default: true value: name: Example Title created_at: '2026-01-15T10:30:00Z' updated_at: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: createOrUpdateRepoSecret summary: Github Actions Create or Update a Repository Secret description: Creates or updates a repository secret with an encrypted value. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/secretName' requestBody: required: true content: application/json: schema: type: object properties: encrypted_value: type: string description: Value for your secret, encrypted with LibSodium using the public key. key_id: type: string description: ID of the key you used to encrypt the secret. examples: CreateorupdatereposecretRequestExample: summary: Default createOrUpdateRepoSecret request x-microcks-default: true value: encrypted_value: example_value key_id: '500123' responses: '201': description: Secret created '204': description: Secret updated x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteRepoSecret summary: Github Actions Delete a Repository Secret description: Deletes a secret in a repository using the secret name. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/secretName' responses: '204': description: Successfully deleted secret x-microcks-operation: delay: 0 dispatcher: FALLBACK /repos/{owner}/{repo}/actions/organization-secrets: get: operationId: listRepoOrgSecrets summary: Github Actions List Repository Organization Secrets description: Lists all organization secrets shared with a repository without revealing their encrypted values. tags: - Secrets parameters: - $ref: '#/components/parameters/owner' - $ref: '#/components/parameters/repo' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/page' responses: '200': description: Successfully retrieved organization secrets content: application/json: schema: type: object properties: total_count: type: integer secrets: type: array items: $ref: '#/components/schemas/ActionsSecret' examples: Listrepoorgsecrets200Example: summary: Default listRepoOrgSecrets 200 response x-microcks-default: true value: total_count: 10 secrets: - name: Example Title created_at: '2026-01-15T10:30:00Z' updated_at: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orgs/{org}/actions/secrets: get: operationId: listOrgSecrets summary: Github Actions List Organization Secrets description: Lists all secrets available in an organization without revealing their encrypted values. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/page' responses: '200': description: Successfully retrieved organization secrets content: application/json: schema: type: object properties: total_count: type: integer secrets: type: array items: $ref: '#/components/schemas/OrgActionsSecret' examples: Listorgsecrets200Example: summary: Default listOrgSecrets 200 response x-microcks-default: true value: total_count: 10 secrets: - name: Example Title created_at: '2026-01-15T10:30:00Z' updated_at: '2026-01-15T10:30:00Z' visibility: all selected_repositories_url: https://www.example.com x-microcks-operation: delay: 0 dispatcher: FALLBACK /orgs/{org}/actions/secrets/public-key: get: operationId: getOrgPublicKey summary: Github Actions Get an Organization Public Key description: Gets your public key, which you need to encrypt secrets. tags: - Secrets parameters: - $ref: '#/components/parameters/org' responses: '200': description: Successfully retrieved public key content: application/json: schema: $ref: '#/components/schemas/ActionsPublicKey' examples: Getorgpublickey200Example: summary: Default getOrgPublicKey 200 response x-microcks-default: true value: key_id: '500123' key: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK /orgs/{org}/actions/secrets/{secret_name}: get: operationId: getOrgSecret summary: Github Actions Get an Organization Secret description: Gets a single organization secret without revealing its encrypted value. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/secretName' responses: '200': description: Successfully retrieved secret content: application/json: schema: $ref: '#/components/schemas/OrgActionsSecret' examples: Getorgsecret200Example: summary: Default getOrgSecret 200 response x-microcks-default: true value: name: Example Title created_at: '2026-01-15T10:30:00Z' updated_at: '2026-01-15T10:30:00Z' visibility: all selected_repositories_url: https://www.example.com x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: createOrUpdateOrgSecret summary: Github Actions Create or Update an Organization Secret description: Creates or updates an organization secret with an encrypted value. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/secretName' requestBody: required: true content: application/json: schema: type: object properties: encrypted_value: type: string key_id: type: string visibility: type: string enum: - all - private - selected selected_repository_ids: type: array items: type: integer examples: CreateorupdateorgsecretRequestExample: summary: Default createOrUpdateOrgSecret request x-microcks-default: true value: encrypted_value: example_value key_id: '500123' visibility: all selected_repository_ids: - 10 responses: '201': description: Secret created '204': description: Secret updated x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOrgSecret summary: Github Actions Delete an Organization Secret description: Deletes a secret in an organization using the secret name. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/secretName' responses: '204': description: Successfully deleted secret x-microcks-operation: delay: 0 dispatcher: FALLBACK /orgs/{org}/actions/secrets/{secret_name}/repositories: get: operationId: listSelectedReposForOrgSecret summary: Github Actions List Selected Repositories for an Organization Secret description: Lists all repositories that have been selected when the visibility for repository access to a secret is set to selected. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/secretName' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' responses: '200': description: Successfully retrieved repositories content: application/json: schema: type: object properties: total_count: type: integer repositories: type: array items: $ref: '#/components/schemas/MinimalRepository' examples: Listselectedreposfororgsecret200Example: summary: Default listSelectedReposForOrgSecret 200 response x-microcks-default: true value: total_count: 10 repositories: - id: abc123 node_id: '500123' name: Example Title full_name: example_value private: true html_url: https://www.example.com url: https://www.example.com description: A sample description. x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: setSelectedReposForOrgSecret summary: Github Actions Set Selected Repositories for an Organization Secret description: Replaces all repositories for an organization secret when the visibility for repository access is set to selected. tags: - Secrets parameters: - $ref: '#/components/parameters/org' - $ref: '#/components/parameters/secretName' requestBody: required: true content: application/json: schema: type: object required: - selected_repository_ids properties: selected_repository_ids: type: array items: type: integer examples: SetselectedreposfororgsecretRequestExample: summary: Default setSelectedReposForOrgSecret request x-microcks-default: true value: selected_repository_ids: - 10 responses: '204': description: Successfully set repositories x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ActionsSecret: type: object properties: name: type: string description: The name of the secret. example: Example Title created_at: type: string format: date-time example: '2026-01-15T10:30:00Z' updated_at: type: string format: date-time example: '2026-01-15T10:30:00Z' SimpleUser: type: object properties: login: type: string example: example_value id: type: integer example: abc123 node_id: type: string example: '500123' avatar_url: type: string format: uri example: https://www.example.com url: type: string format: uri example: https://www.example.com html_url: type: string format: uri example: https://www.example.com type: type: string example: example_value ActionsPublicKey: type: object properties: key_id: type: string description: The identifier for the key. example: '500123' key: type: string description: The Base64 encoded public key. example: example_value MinimalRepository: type: object properties: id: type: integer example: abc123 node_id: type: string example: '500123' name: type: string example: Example Title full_name: type: string example: example_value owner: $ref: '#/components/schemas/SimpleUser' private: type: boolean example: true html_url: type: string format: uri example: https://www.example.com url: type: string format: uri example: https://www.example.com description: type: string nullable: true example: A sample description. OrgActionsSecret: type: object properties: name: type: string example: Example Title created_at: type: string format: date-time example: '2026-01-15T10:30:00Z' updated_at: type: string format: date-time example: '2026-01-15T10:30:00Z' visibility: type: string enum: - all - private - selected example: all selected_repositories_url: type: string format: uri example: https://www.example.com parameters: org: name: org in: path required: true schema: type: string description: The organization name. perPage: name: per_page in: query schema: type: integer default: 30 maximum: 100 description: The number of results per page (max 100). secretName: name: secret_name in: path required: true schema: type: string description: The name of the secret. repo: name: repo in: path required: true schema: type: string description: The name of the repository without the .git extension. page: name: page in: query schema: type: integer default: 1 description: The page number of the results to fetch. owner: name: owner in: path required: true schema: type: string description: The account owner of the repository. securitySchemes: bearerAuth: type: http scheme: bearer description: GitHub personal access token or OAuth token personalAccessToken: type: http scheme: bearer description: Fine-grained personal access token with Actions permissions