Skip to main content

secrets

Creates, updates, deletes, gets or lists a secrets resource.

Overview

Namesecrets
TypeResource
Idgithub.codespaces.secrets

Fields

The following fields are returned by SELECT queries:

Response

NameDatatypeDescription
namestringThe name of the secret (example: SECRET_NAME)
created_atstring (date-time)The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
selected_repositories_urlstring (uri)The API URL at which the list of repositories this secret is visible to can be retrieved (example: https://api.github.com/user/secrets/SECRET_NAME/repositories)
updated_atstring (date-time)The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
visibilitystringThe type of repositories in the organization that the secret is visible to (all, private, selected)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
get_secret_for_authenticated_userselectsecret_nameGets a development environment secret available to a user's codespaces without revealing its encrypted value.

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.
list_secrets_for_authenticated_userselectper_page, pageLists all development environment secrets available for a user's codespaces without revealing their
encrypted values.

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.
create_or_update_secret_for_authenticated_userinsertsecret_name, key_idCreates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using
LibSodium. For more information, see "Encrypting secrets for the REST API."

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.
delete_secret_for_authenticated_userdeletesecret_nameDeletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret.

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
secret_namestringThe name of the secret.
pageintegerThe page number of the results to fetch. For more information, see "Using pagination in the REST API."
per_pageintegerThe number of results per page (max 100). For more information, see "Using pagination in the REST API."

SELECT examples

Gets a development environment secret available to a user's codespaces without revealing its encrypted value.

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.

SELECT
name,
created_at,
selected_repositories_url,
updated_at,
visibility
FROM github.codespaces.secrets
WHERE secret_name = '{{ secret_name }}' -- required
;

INSERT examples

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

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.

INSERT INTO github.codespaces.secrets (
encrypted_value,
key_id,
selected_repository_ids,
secret_name
)
SELECT
'{{ encrypted_value }}',
'{{ key_id }}' /* required */,
'{{ selected_repository_ids }}',
'{{ secret_name }}'
;

DELETE examples

Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret.

The authenticated user must have Codespaces access to use this endpoint.

OAuth app tokens and personal access tokens (classic) need the codespace or codespace:secrets scope to use this endpoint.

DELETE FROM github.codespaces.secrets
WHERE secret_name = '{{ secret_name }}' --required
;