Browse the API reference

Create Backup

post/v1/graphs/{graph_id}/operations/create-backup

Part of Graph Operations.

Not allowed on shared repositories. Only full_dump format supported. Retention capped at tier maximum. Monitor progress via SSE at /v1/operations/{operation_id}/stream.

Idempotency: supply an Idempotency-Key header to make safe retries; replays within 24 hours return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.

Authentication

Authenticate in any one of these ways — not all of them:

  • API key in the X-API-Key header.
  • Bearer token in the Authorization header.

Path parameters

NameTypeDescription
graph_idrequiredstringGraph Id

Header parameters

NameTypeDescription
Idempotency-KeyoptionalstringIdempotency-Key

Request body

Required, application/json.

FieldTypeDescription
backup_formatoptionalstring

Backup format - only 'full_dump' is supported (complete .lbug database file)

Default: full_dump

backup_typeoptionalstring

Backup type - only 'full' is supported

Default: full

retention_daysoptionalinteger

Retention period in days, further capped to the graph tier's maximum (7/30/90). 90 is the hard ceiling: the storage lifecycle expires backup objects then regardless of the requested value.

Default: 30

compressionoptionalboolean

Enable compression (always enabled for optimal storage)

Default: true

scheduleoptionalstring

Optional cron schedule for automated backups

Example request

curl
curl -X POST "https://api.robosystems.ai/v1/graphs/{graph_id}/operations/create-backup" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "backup_format": "full_dump",
  "backup_type": "full",
  "retention_days": 30,
  "compression": true,
  "schedule": "string"
}'

Responses

202 Successful Response

FieldTypeDescription
operationrequiredstring

Kebab-case operation name

operationIdrequiredstring

op_-prefixed ULID for audit and SSE correlation

statusrequiredstring

Operation lifecycle state

One of: completed, pending, failed

resultoptionalany

Command-specific result payload

atrequiredstring

ISO-8601 UTC timestamp

createdByoptionalstring

User ID that initiated the operation (null for legacy callers)

idempotentReplayoptionalboolean

True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.

Default: false

StatusMeaning
400Invalid request
401Authentication required
403Access denied
404Resource not found
409Idempotency-Key conflict — key reused with different body
422Validation error
429Rate limit exceeded
500Internal server error