Secrets runtime reference
Use this page to compare how the JavaScript and Python SDKs read secrets. Manage secrets and secret types in TaruviBase Console.
Interface support
| Interface | Current coverage |
|---|---|
| TaruviBase Console | Create, inspect, edit, and delete secret types and site/app secrets |
| JavaScript SDK | Runtime get and batch list |
| Python SDK | Runtime get and filtered or batch list, sync and async |
| History | Not available through Console or the SDKs |
SDK runtime read methods
| Task | JavaScript SDK | Python SDK |
|---|---|---|
| Read one key | secrets.get(key, options).execute<SecretResponse>() | client.secrets.get(key, *, app=None, tags=None) |
| Retrieve several keys | await secrets.list(keys, options) | client.secrets.list(keys=[...], ...) |
| List and filter | Not exposed as a separate list mode | client.secrets.list(search=..., tags=..., secret_type=..., page=..., page_size=...) |
| Create, edit, or delete | Not exposed | Not exposed |
| Read history | Not exposed | Not exposed |
This reference covers JavaScript SDK 1.5.3 and Python SDK 0.2.1. The Python
package installs as version 0.2.1, although taruvi.__version__ reports
0.1.9.
Keys and scope
Keys can be up to 255 characters and are unique within their site or app scope. The API accepts any characters in a key.
Supplying an app selects that app's value first, then the site fallback when no
app value exists. Python uses the configured app_slug when the app argument
is omitted. JavaScript uses options.app only when it is supplied to the call.
Read-one options
| Option | JavaScript | Python | Behavior |
|---|---|---|---|
| App scope | options.app | app= | Select app scope with site fallback |
| Required tags | options.tags | tags= | Return not found when the resolved secret lacks any requested tag |
The single-secret result contains key, tags, secret_type, and value.
JavaScript execute() retains the standard response wrapper and exposes the
secret at response.data. Python get() extracts and returns the secret object.
Python's Secret type hint omits the runtime value field; this is a typing
limitation, not a runtime omission.
Batch options
| Option | JavaScript | Python | Behavior |
|---|---|---|---|
| Keys | first keys argument | keys= | Comma-joined by the SDK; up to 100 keys |
| App scope | options.app | app= | Apply app-over-site resolution |
| Include metadata | options.includeMetadata | include_metadata= | Return metadata objects instead of values only |
Both SDK list() methods retain the response wrapper, so the key map is in
data. Missing or sensitivity-denied keys are omitted. JavaScript 1.5.3 types
batch values as strings even though runtime values can also be JSON objects.
Python list filters
When keys is absent, Python list() can browse and filter the readable
collection.
| Argument | Type | Default | Behavior |
|---|---|---|---|
search | string | — | Partial key match |
app | string | configured app_slug when available | Select app context |
tags | list of strings | — | Filter by tag names |
secret_type | string | — | Filter by secret-type slug |
page | integer | 1 | Page number |
page_size | integer | 20 | Items per page, clamped to 1 through 100 |
The wrapper contains status, message, and data. List responses also include
total; they do not emit a separate pagination object.
Error and disclosure behavior
A read can fail with an authentication, permission, not-found, conflict, or
validation error. Each read endpoint treats public, private, and sensitive
values differently; see Security and limits
for who can read what, and how caching works.