1. Collect the values you need
From the Xenovia platform:- Create an agent and note the agent ID.
- Generate an API key (
xe_...) for that agent. - Activate the agent. While it is a draft, the runtime rejects its keys with
401.
2. Point your client at Xenovia
- Python (OpenAI SDK)
- Node.js (OpenAI SDK)
3. Send your first governed request
- Python
- Node.js
4. Add a stable session ID
Group related calls into a session so multi-turn conversations appear together in Sessions.- Python
- Node.js
The session ID must be a valid UUID. A malformed value is rejected with
400.5. Confirm the trace exists
After the request completes, check the platform and confirm:- A trace exists for the request
- The trace shows the expected model and agent
- The response includes
X-Xenovia-Session-IdandX-Xenovia-Trace-Id
6. Attach a first policy
Start with one policy that proves enforcement is working. Set it to Enforce (new policies start in Monitor) and enable it. This example blocks a destructive tool name:decision object; block yields a 403. Attach request-stage and response-stage policies independently. See Policies and Enforcement for the full contract.
7. Handle a policy block
When a request is blocked, the runtime returns403 Forbidden. The OpenAI SDK raises this as PermissionDeniedError.
- Python
- Node.js
8. Add trace metadata
Tag traces with business context so they stay useful as traffic grows.- Python
- Node.js
What to do next
After this first pass, move on to:- Integrations Overview to wire Xenovia into your actual framework
- Policies and Approvals to write real guardrails
- Traces and Remediation to standardize headers and investigation flow
If your real workflow performs risky actions after the model call, add the Xenovia Python SDK so those actions are governed too.