Integrating an application
For the engineer pointing an existing application at Tavrik. The short version: you change a base URL and a key, and nothing else.
The endpoints
Section titled “The endpoints”Tavrik speaks two request shapes, so most applications need no new client library.
| Endpoint | Shape |
|---|---|
POST /v1/messages |
The Anthropic Messages API |
POST /v1/chat/completions |
The OpenAI chat-completions API |
GET /v1/models |
The models this deployment allows |
Point your existing SDK at your Tavrik deployment’s base URL and give it a Tavrik tenant API key instead of a provider key. Streaming works as it does against the provider.
Your provider keys stay in Tavrik, uploaded once and stored as ciphertext. The application never holds one, which is a side benefit worth having: a leaked application credential is a Tavrik key you can revoke in the console, not a provider key with your whole account behind it.
What happens to a request
Section titled “What happens to a request”Every request takes the same path, and the diagram above is the long version:
- Authenticated against a tenant API key.
- Inspected: patient details and other configured categories are found and replaced with placeholders before anything leaves your network.
- Policy is applied: allow, redact, or deny, according to the rules your deployment has active.
- Routed to the model you allow, which may be a local one, in which case nothing leaves the building.
- Restored on the way back, so your application sees the real values.
- Recorded in the audit chain: that a request happened, which categories were found and how many, and what was decided.
Your application sees a normal model response. The substitution and restoration happen inside Tavrik.
What this means for your code
Section titled “What this means for your code”Nothing changes in how you build prompts or read responses. What changes:
- The base URL points at Tavrik.
- The API key is a Tavrik tenant key.
- A request may be denied by policy. That surfaces as an error with a reason your application should handle the way it already handles a provider refusal.
Where the boundary sits
Section titled “Where the boundary sits”Tavrik is a governance layer for AI traffic. It sits alongside your integration engine and your data-loss-prevention tooling rather than replacing either.
Clinical message flow between your EHR and your lab or pharmacy systems keeps running exactly as it does now. Tavrik does not mediate clinical FHIR APIs either: the FHIR path emits audit records only. Mirth Connect, Cloverleaf and Rhapsody stay where they are, and Tavrik sends audit messages to them like any other feed.