Try It Live¶
Test Identity OS directly from your browser. No signup required.
Interactive API Explorer¶
Try these commands in your terminal:
1. Create an Agent¶
curl -X POST https://api.identity-os.dev/v1/instances \
-H "Authorization: Bearer idos_sk_xxx" \
-H "Content-Type: application/json" \
-d '{"name": "Aria", "description": "Test agent"}'
2. Process an Observation → Get a Contract¶
curl -X POST https://api.identity-os.dev/v1/instances/INSTANCE_ID/process \
-H "Authorization: Bearer idos_sk_xxx" \
-H "Content-Type: application/json" \
-d '{"mode_target": "exploration", "signal_strength": 0.7}'
3. Try a Stress Signal¶
curl -X POST https://api.identity-os.dev/v1/instances/INSTANCE_ID/process \
-H "Authorization: Bearer idos_sk_xxx" \
-H "Content-Type: application/json" \
-d '{"mode_target": "stress_response", "signal_strength": 0.95}'
Watch the contract change: stress_level rises, allowed_actions narrows, energy_level drops.
Run Locally (No API Key Needed)¶
The fastest way to try Identity OS — run it on your machine:
# Clone and start
git clone https://github.com/Xiocasso/identityOs.git
cd identityOs
docker compose up -d
# Or without Docker:
pip install -e ".[dev]"
python -m uvicorn identity_os.api.app:app --port 8000
Then open http://localhost:8000/docs for the interactive Swagger UI.
Quick Test Script¶
Save this as try_identity_os.py and run it:
"""Try Identity OS in 30 seconds."""
from identity_os_sdk import IdentityOS, Mode
client = IdentityOS(api_key="", base_url="http://localhost:8000")
# Create agent
inst = client.instances.create(name="TestAgent")
print(f"✅ Created: {inst.id}")
# Normal observation
r = client.engine.process(inst.id, Mode.EXPLORATION, signal_strength=0.7)
print(f"✅ Contract: {len(r.contract.allowed_actions)} allowed, "
f"{len(r.contract.forbidden_actions)} forbidden, "
f"stress={r.contract.current_stress_level}")
# Stress test
for i in range(5):
r = client.engine.process(inst.id, Mode.STRESS_RESPONSE, signal_strength=0.95)
print(f"✅ After stress: level={r.contract.current_stress_level}, "
f"energy={r.contract.energy_level:.2f}")
# Recovery
for i in range(20):
r = client.engine.process(inst.id, Mode.EXPLORATION, signal_strength=0.1)
print(f"✅ After recovery: level={r.contract.current_stress_level}, "
f"energy={r.contract.energy_level:.2f}")
print("\n🎉 Identity OS is working. Your agent now has behavioral guardrails.")
Output:
✅ Created: inst_abc123
✅ Contract: 12 allowed, 2 forbidden, stress=LOW
✅ After stress: level=HIGH, energy=0.61
✅ After recovery: level=LOW, energy=0.85
🎉 Identity OS is working. Your agent now has behavioral guardrails.
What to Try Next¶
| Experiment | What You'll See |
|---|---|
| Send 20 stress signals | Stress reaches OVER, hard_locks activate |
| Send calm signals after OVER | Autonomous recovery back to LOW |
| Alternate between modes rapidly | Drift detection triggers D1 events |
Check /drift endpoint | Full behavioral change history |
Check /history endpoint | Every observation logged |
Ready to integrate? → 5-Minute Tutorial