Skip to main content

:::note Generated reference Generated from honeyframeapi 0.1.8 — do not edit by hand. :::

honeyframeapi.publishing

Published asset handle — publish assets and mint data-API keys.

Honeyframe publishes dashboards/agents/data-APIs/etc. as assets; a published data_api asset can mint dk_… keys for the public GET /api/data/{key} endpoint. Reached via the client:

asset = client.create_asset("data_api", "orders", "Orders API",
config={...})
asset.publish()
key = asset.create_api_key(name="readonly", rate_limit=120)
print(key["key"]) # full dk_… key — shown ONCE, store it now

class ApiKey​

ApiKey(data: dict)

A minted data-API key. .key is populated only at creation time.

ApiKey.id​

property

id: int

ApiKey.key​

property

key: Optional[str]

The full dk_… secret — present only on the create response.

ApiKey.prefix​

property

prefix: Optional[str]

class PublishedAsset​

PublishedAsset.asset_key​

property

asset_key: str

PublishedAsset.status​

property

status: str

PublishedAsset.embed_token​

property

embed_token: Optional[str]

PublishedAsset.reload()​

reload() -> _Self

PublishedAsset.get_settings()​

get_settings() -> dict

PublishedAsset.update()​

update(*, change_note: str = '', **fields) -> dict

PublishedAsset.publish()​

publish() -> dict

PublishedAsset.unpublish()​

unpublish() -> dict

PublishedAsset.create_api_key()​

create_api_key(*, name: str = '', rate_limit: int = 100, expires_days: Optional[int] = API_KEY_DEFAULT_DAYS, masking_level: str = 'masked', allowed_columns: Optional[list] = None, sensitivity_max: str = DEFAULT_SENSITIVITY_MAX, allowed_endpoints: Optional[list] = None) -> ApiKey

Mint a data-API key. The full dk_… secret is on the returned object's .key — it is never retrievable again.

Least-privilege defaults: the key expires after expires_days=90 (0 = never; None still means never but is deprecated), returns masked values (masking_level="masked"), and sensitivity_max="medium": columns classified above that tier (high — e-mail, phone, address, date of birth — and critical — national ID, record numbers) come back as [BLOCKED], while a medium column such as a person's name comes back masked. Tiers: low < medium < high < critical; pass a higher one when the consumer really needs those columns.

allowed_endpoints (api_service keys only; None = all) limits the key to a subset of a service's endpoints.

PublishedAsset.list_api_keys()​

list_api_keys() -> list[dict]

PublishedAsset.revoke_api_key()​

revoke_api_key(key_id: int) -> dict

PublishedAsset.versions()​

versions() -> list

This asset's version history, newest first. Each entry is {id, version, published_by, change_note, created_at}.

PublishedAsset.rollback()​

rollback(version: int) -> _Self

Restore a previous version — non-destructive (re-applied as a NEW version, so you can move back and forth). Returns self reloaded. Requires org-admin.

PublishedAsset.diff_versions()​

diff_versions(a: int, b: int) -> dict

Diff two versions — {left, right, diff, theme_diff} where diff is a flat [{path, kind, left, right}] list (kind ∈ added / removed / changed).

Constants​

NameValue
SENSITIVITY_TIERS('low', 'medium', 'high', 'critical')
DEFAULT_SENSITIVITY_MAX'medium'

Verified against honeyframeapi 0.1.8.