Overview
The ChatDir API gives you access to ChatDir, Navora's own AI model, through an OpenAI-compatible interface. Requests are processed on Navora's own servers in the United States and are not forwarded to OpenAI, Anthropic or any other public AI provider.
Access is by invitation for workflow and automation companies in the United States and South America. Each company contracts directly with Navora AI and receives its own API keys, limits and usage reporting. API access is for your own systems and workflows; resale of API access or tokens to third parties is not permitted.
| Item | Value |
|---|---|
| Base URL | https://api.chatdir.ch/v1 |
| Authentication | Bearer token in the Authorization header |
| Format | JSON, OpenAI Chat Completions compatible |
| Transport | HTTPS (TLS) only |
Authentication
Send your key with every request:
Authorization: Bearer YOUR_NAVORA_KEY
Use a separate key for each project or environment, for example production and testing. This keeps limits and usage reporting separate and lets you revoke one key without affecting the others. Keys can be rotated or revoked on request at any time.
Quickstart
If you already use the OpenAI SDK, change the base URL and the key. Everything else stays the same.
cURL
curl https://api.chatdir.ch/v1/chat/completions \
-H "Authorization: Bearer $NAVORA_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chatdir",
"messages": [
{"role": "system", "content": "Extract fields as JSON."},
{"role": "user", "content": "Referral text: ..."}
]
}'
Python
from openai import OpenAI
client = OpenAI(base_url="https://api.chatdir.ch/v1", api_key=NAVORA_KEY)
response = client.chat.completions.create(
model="chatdir",
messages=[{"role": "user", "content": "Classify this claim email: ..."}],
)
print(response.choices[0].message.content)
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatdir.ch/v1", apiKey: process.env.NAVORA_KEY });
const response = await client.chat.completions.create({
model: "chatdir",
messages: [{ role: "user", content: "Summarize this loan file: ..." }],
});
console.log(response.choices[0].message.content);
Endpoints and models
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/chat/completions | Generate a response from a list of messages |
| GET | /v1/models | List the models available to your key |
Call /v1/models to see the exact model IDs enabled for your key. Dedicated and fine-tuned models appear there under their own ID.
Integrations
n8n
- Create a new OpenAI credential.
- Enter your Navora key as the API key and set the base URL to
https://api.chatdir.ch/v1. - Select this credential in your OpenAI or AI Agent nodes and choose the model ID from
/v1/models.
If a node does not offer a base URL field, use the HTTP Request node with the request shown in the cURL example.
Make
- Add an HTTP module, "Make a request".
- URL
https://api.chatdir.ch/v1/chat/completions, method POST. - Headers
Authorization: Bearer YOUR_NAVORA_KEYandContent-Type: application/json; body type raw JSON as in the cURL example. - Parse the response and map
choices[0].message.content.
UiPath
- Use the HTTP Request activity with method POST and the chat completions URL.
- Add the authorization header from an Orchestrator credential asset, not from a hard-coded string.
- Deserialize the JSON response and read
choices[0].message.content.
Power Automate
- Add an HTTP action with method POST and the chat completions URL.
- Set the headers and JSON body as in the cURL example; store the key in a secure input or Azure Key Vault.
- Use Parse JSON to read the response.
Limits and usage
Rate limits and monthly volume are set per key in your agreement. Shared Private keys share pooled capacity; Dedicated keys run on capacity reserved for you.
Usage reporting shows, per key, the number of requests and input and output tokens. Use it to track cost per project. Usage records contain metadata only, never prompt or output content.
Errors
| Status | Meaning | What to do |
|---|---|---|
| 400 | Invalid request | Check the JSON body and parameters. |
| 401 | Missing or invalid key | Check the Authorization header. |
| 403 | Key not allowed for this model or action | Check the model ID against /v1/models. |
| 429 | Rate limit or credit limit reached | Retry with backoff, or ask us to raise the limit. |
| 500, 503 | Temporary server problem | Retry with exponential backoff. |
Data handling
- Prompts and outputs are not used to train or improve any model.
- Request content is not retained by default.
- Requests are not forwarded to public AI providers.
Details for your client's security review are on the security page.
Support
Technical questions: contact@navora-ai.com. Include your company name and the key's label, never the key itself.
Request a Test Key