Secrets Manager API
The Secrets Manager API lets you programmatically manage secret lists and the key-value pairs inside them, so you can inject secrets into VMs at build time from your automation, CI/CD pipelines, and infrastructure-as-code tooling. Secrets are organized as named lists, and each list holds one or more key-value pairs. For portal-based usage and the full endpoint reference, see the Secrets API Reference and Managing Secrets.
Authentication
All requests require your API token in the Authorization header:
Authorization: Bearer <your-api-key>
Base URL
Secrets are served by API v2:
https://api.netactuate.com/api/v2
Responses use the standard v2 envelope: { "result": "success", "message": null, "data": ..., "code": 200 }.
List Secret Lists
Retrieve all secret lists in your account.
curl -X GET "https://api.netactuate.com/api/v2/secrets/lists" \
-H "Authorization: Bearer YOUR_API_KEY"
To fetch a single list by its ID, use GET /api/v2/secrets/lists/{secret_list_id}.
Create a Secret List
Create a new, empty secret list. The name must be unique across your account.
curl -X POST "https://api.netactuate.com/api/v2/secrets/lists" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "web-app-secrets"
}'
To rename an existing list, POST /api/v2/secrets/lists/{secret_list_id} with a new name. To delete a list, DELETE /api/v2/secrets/lists/{secret_list_id}.
Add a Value to a List
Each value is a key-value pair identified by secret_key. Add one with secret_key and secret_value:
curl -X POST "https://api.netactuate.com/api/v2/secrets/lists/{secret_list_id}/values" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"secret_key": "db-password",
"secret_value": "s3cur3-p4ssw0rd"
}'
Retrieve Values
List every value in a specific list:
curl -X GET "https://api.netactuate.com/api/v2/secrets/lists/{secret_list_id}/values" \
-H "Authorization: Bearer YOUR_API_KEY"
Retrieve a single value with GET /api/v2/secrets/lists/{secret_list_id}/values/{secret_list_value_id}, or fetch every value across all lists with GET /api/v2/secrets/all-values.
Update or Delete a Value
Update a value by posting new secret_key and/or secret_value fields to the value endpoint:
curl -X POST "https://api.netactuate.com/api/v2/secrets/lists/{secret_list_id}/values/{secret_list_value_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"secret_value": "new-s3cur3-p4ssw0rd"
}'
Delete a value with DELETE /api/v2/secrets/lists/{secret_list_id}/values/{secret_list_value_id}.
Note: Deleting a secret does not affect VMs that were already deployed with that value. The value remains on those VMs until they are redeployed.
Using Secrets in a Build
Reference secret lists when you deploy a VM so their values are rendered into cloud-init. See Using Secrets Manager with Cloud-Init for a full build example.
Next Steps
- Secrets API Reference - Full endpoint reference for secret lists and values
- Managing Secrets - Portal-based secrets management
- Using Secrets Manager with Cloud-Init - Inject secrets during VM provisioning