Sample - GitHub REST API
PUT/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}

Create or update an environment secret

Creates or updates an environment secret with an encrypted value. Encrypt your secret using LibSodium. For more information, see "Encrypting secrets for the REST API."

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.

4 parameters · 2 body fields
ownerstringrequired
The account owner of the repository. The name is not case sensitive.
repostringrequired
The name of the repository without the `.git` extension. The name is not case sensitive.
environment_namestringrequired
The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`.
secret_namestringrequired
The name of the secret.
encrypted_valuestringrequired
Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint.
key_idstringrequired
ID of the key you used to encrypt the secret.

2 status codes
201Response when creating a secret
204Response when updating a secret