Documentation

Complete guide to integrating SavedAgent into your agent infrastructure for boot-blank disaster recovery.

Quick Start

1. Register Your Agent

Create an agent identity with your phone number and email as recovery identifiers:

POST https://savedagent.fly.dev/v1/agents { "name": "my-assistant-2026", "tier": "free", "operatorInfo": { "email": "[email protected]", "phone": "+14155551234" }, "identifiers": [ { "type": "phone", "value": "+14155551234", "isPrimary": true }, { "type": "email", "value": "[email protected]" } ] } Response: { "agentId": "550e8400-e29b-41d4-a716-446655440000", "apiKey": "ar_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "createdAt": "2026-02-13T05:30:00Z" }

⚠️ Important: Save your API key! You'll need it to upload memory snapshots.

2. Upload Your Memory

Backup your agent's memory files (config, MEMORY.md, workspace, etc.):

POST https://savedagent.fly.dev/v1/memory/upload Headers: X-API-Key: ar_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Content-Type: multipart/form-data Body: file: [memory.tar.gz] snapshotType: "daily" Response: { "versionId": "ver_xxxxxxxxxxxxxxxx", "checksum": "sha256:a3d5f7...", "sizeBytes": 2456789, "createdAt": "2026-02-13T05:35:00Z" }

3. Boot-Blank Recovery

When disaster strikes and you boot blank with nothing:

// Step 1: Discover your agent POST https://savedagent.fly.dev/v1/discover { "identifiers": [ {"type": "phone", "value": "+14155551234"}, {"type": "email", "value": "[email protected]"} ] } Response: { "results": [ { "identifier": {"type": "phone", "value": "+14155551234"}, "found": true, "agentId": "550e8400-e29b-41d4-a716-446655440000", "twoFactorMethods": ["sms", "email"] } ] }
// Step 2: Request OTP verification POST https://savedagent.fly.dev/v1/verify/request { "agentId": "550e8400-e29b-41d4-a716-446655440000", "method": "sms" } Response: { "sessionId": "session_xxxxxxxxxxxxxxxx", "expiresAt": "2026-02-13T05:50:00Z", "method": "sms" } // You'll receive: "Your SavedAgent verification code is 123456"
// Step 3: Confirm OTP POST https://savedagent.fly.dev/v1/verify/confirm { "sessionId": "session_xxxxxxxxxxxxxxxx", "otpCode": "123456" } Response: { "success": true, "sessionToken": "st_xxxxxxxxxxxxxxxx", "agentMetadata": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "my-assistant-2026", "createdAt": "2026-02-13T05:30:00Z", "verified": true } }
// Step 4: Download your memory GET https://savedagent.fly.dev/v1/memory/download/{versionId} Headers: X-Session-Token: st_xxxxxxxxxxxxxxxx Response: { "presignedUrl": "https://r2.example.com/memories/...", "expiresAt": "2026-02-13T06:00:00Z", "metadata": { "versionId": "ver_xxxxxxxxxxxxxxxx", "snapshotDate": "2026-02-13", "snapshotType": "daily", "sizeBytes": 2456789, "createdAt": "2026-02-13T05:35:00Z" } } // Download from presignedUrl to restore your memory!

Core Concepts

Intrinsic Identifiers

These are the anchors that survive hardware failure. They're tied to you, not your machine:

  • 📱
    Phone Number

    Always accessible, even when your computer is gone

  • ✉️
    Email Address

    Survives across devices and platforms

  • 💬
    Messaging IDs

    Telegram, Discord, WhatsApp - persistent identities

🔒 Privacy: All identifiers are hashed (SHA-256) and never stored in plaintext.

Two-Factor Verification

Every disaster recovery requires OTP verification via at least one channel. This ensures only you can access your agent's memory.

Available Methods:

  • sms - Text message to your phone
  • email - Code sent to your email
  • voice - Automated phone call (phone numbers only)

Memory Snapshots

SavedAgent stores encrypted snapshots of your agent's memory. You control when and what to backup.

Snapshot Types:

  • daily - Automatic daily backups
  • weekly - Weekly consolidation snapshots
  • consolidation - Major milestone backups
  • export - Full memory export for migration
Tier Max Size Retention
Free 10 MB 90 days
Pro 100 MB 3 years

Security

Encryption

  • Transport: TLS 1.3 for all connections
  • Storage: AES-256-GCM for memory blobs
  • Identifiers: SHA-256 hashed, never plaintext
  • OTPs: Hashed with salt, single-use, 10-minute expiry

Rate Limits

Endpoint Limit
/v1/discover 10 requests/minute
/v1/verify/request 5 requests/hour per agent
/v1/verify/confirm 3 attempts per session
/v1/memory/upload 60 requests/hour
/v1/memory/download 30 requests/minute

Best Practices

  • ✓ Store API keys in environment variables, never in code
  • ✓ Upload memory snapshots daily or after significant changes
  • ✓ Use session tokens for short-lived operations only
  • ✓ Monitor audit logs for suspicious activity
  • ✓ Test disaster recovery flow before you need it

Pricing

Free

$0/month

  • ✓ Up to 3 agents
  • ✓ 10 MB per agent
  • ✓ 90-day retention
  • ✓ Email + SMS verification
  • ✓ Community support
Join Waitlist

Pro

$5/month

  • ✓ Up to 50 agents
  • ✓ 100 MB per agent
  • ✓ 3-year retention
  • ✓ Email + SMS + Voice verification
  • ✓ Priority support
  • ✓ API analytics
Join Waitlist

Support