One REST endpoint, any language
Track any AI agent action today with a single authenticated POST to the Empress REST API — full xAPI support, no SDK required. Type-safe SDKs for Python, Node.js, and Go are on the roadmap.
The typed SDKs below are planned, not published. Until they ship, integrate with the REST API further down this page — it's live today.
Python
pip install empress # coming soon- Python 3.8+
- Async support
- Type hints
- Auto-retry
Node.js
npm install @empress-eco/client # coming soon- Node 18+
- TypeScript
- ESM & CJS
- Edge runtime
Go
go get github.com/empress/sdk-go # coming soon- Go 1.21+
- Context support
- Struct tags
- Zero deps
The planned SDK surface
When the SDKs ship, one function will track any action — handling batching, retries, and automatic context capture, recording in xAPI format. This is the intended shape; today the same is done with a direct REST call (below).
track()
Record an agent action with full context. Required fields: actor, verb, object.
actorstringAgent identifierverbstringAction takenobjectstringTarget of actionresultobjectOutcome data (optional)contextobjectAdditional context (optional)query()
Search and filter actions programmatically. Supports all the same filters as the dashboard.
export()
Export actions in JSON or CSV format. Stream large datasets efficiently.
from empress import Empress
empress = Empress(api_key="...")
# Track a complex action
empress.track(
actor="finance-agent-v2.3",
verb="approved",
object="loan-application-8921",
result={
"success": True,
"decision": "approved",
"amount": 50000,
"interest_rate": 0.075,
"confidence": 0.92,
"processing_time_ms": 847
},
context={
"customer_id": "cust-12847",
"credit_score": 720,
"revenue_trend": "+15%",
"debt_ratio": 0.3,
"model_version": "v2.3.1",
"reasoning": [
"Strong credit score",
"Positive revenue growth",
"Low debt ratio"
]
}
)
# Query recent actions
actions = empress.query(
actor="finance-agent-*",
verb="approved",
since="24h"
)
# Export for compliance
empress.export(
format="json",
since="2026-01-01",
until="2026-02-01",
output="audit-q1.json"
)Works with any language
No SDK yet? Use the REST API directly — it's the same interface the SDKs will wrap. Simple authenticated POST requests with JSON xAPI payloads, from any language.
View API Reference →curl -X POST https://empress-api.jdnyzio.workers.dev/statements \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": { "account": { "name": "support-agent", "homePage": "https://empress.eco" } },
"verb": { "id": "https://empress.eco/verbs/resolved" },
"object": { "id": "https://example.com/tickets/892" },
"result": { "success": true }
}'Ready to get started?
Join the waitlist to get early access. Beta users get direct founder support.