Skip to main content
Use managedSecrets() in TypeScript or managed_secrets() in Python. This client has its own configuration and is separate from hosted(). Examples use store for that client. Managed evaluations accept direct secrets. Their values enter the sandbox as environment variables. The storage client also supports brokered secrets for the separate managed-agent runtime. Python examples run inside an async function.

list

Read stored secret metadata. Secret values are never returned.
Returns: ManagedSecretMetadata[] / List[ManagedSecretMetadata]. No arguments; no pagination.

set

Store a value under a name and optional label.
Returns: ManagedSecretWriteResult: status (created or updated) and secret metadata.
Each scope list accepts at most 50 entries after trimming and removing blank or duplicate strings. Hostnames allow at most 253 characters; path prefixes allow at most 512.Direct delivery accepts omitted or empty scope lists and refuses non-empty lists. Brokered delivery requires all three lists to be non-empty. Managed eval jobs currently cannot attach brokered secrets.Restating the same name, label, and value returns updated and can update delivery/scope. A different value at the same identity returns secret_exists. Rotate using a new label, or delete and set that identity.

delete

Delete the stored row for a name and label.
Returns: ManagedSecretDeleteResult: ok: boolean, name: string, and the deleted label: string.

Configuration

HTTP failures raise plain Error in TypeScript and RuntimeError in Python, rather than hosted EvolveApiError / EvolveAPIError.

Secret fields

Python returns dataclasses. Its metadata uses allowed_hosts, allowed_path_prefixes, allowed_methods, created_at, updated_at, and last_used_at instead of their camelCase TypeScript names. Other fields keep their names. Missing optional label / delivery is None in Python. No result exposes value.
Fields
See attach a stored secret for the job input. Provider API keys are managed separately in the dashboard.