Take a verified Native backup of the sleeping tenant.
const url = 'https://infra-hyphae.run/v0/projects/example/snapshots';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"label":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://infra-hyphae.run/v0/projects/example/snapshots \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "label": "example" }'Runs hyphae status --data-dir (lineage) then hyphae backup create --data-dir … --out <new dir> on the tenant’s directory. Native
creates and independently verifies the backup; every identifier in
the response (lineage.*, backup.checkpoint_digest,
backup.visible_csn, …) is copied from the engine’s output. The
Cloud adds an id, a label, timestamps, and paths, and computes no
digest of its own. Requires the directory lock, so the tenant must be
asleep (409 tenant_running otherwise); a tenant that has never
started has no directory (409 tenant_not_running).
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”Request Body
Section titled “Request Body”object
Examplegenerated
{ "label": "example"}Responses
Section titled “ Responses ”Snapshot created and verified by Native.
object
RFC 3339, UTC.
Native backup directory (NATIVE_BACKUP.json + data/), under the snapshot root.
The snapshot object printed by hyphae status --data-dir. Field names are Native’s.
object
Output of hyphae backup create / backup verify. Field names are Native’s.
object
Example
{ "engine_version": "3.0.0", "backup": { "status": "created" }}Malformed or out-of-bounds input (invalid_request).
object
object
Example
{ "error": { "code": "invalid_request" }}Missing, malformed, duplicate, or unknown credential (authentication_required).
object
object
Example
{ "error": { "code": "invalid_request" }}Headers
Section titled “Headers”Unknown route, or a project the caller does not own (not_found).
object
object
Example
{ "error": { "code": "invalid_request" }}The operation needs Native’s directory lock and the engine is running; sleep the tenant first (tenant_running).
object
object
Example
{ "error": { "code": "invalid_request" }}The engine failed to start or did not answer (upstream_unavailable).
object
object
Example
{ "error": { "code": "invalid_request" }}The host cannot run tenants right now — engine binary missing, wrong pin, or ports exhausted (orchestrator_unavailable).
object
object
Example
{ "error": { "code": "invalid_request" }}