Developer Docs

ChatDir API documentation

Everything you need to point an existing workflow at Navora: endpoint, authentication, examples and integration guides.

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.

ItemValue
Base URLhttps://api.chatdir.ch/v1
AuthenticationBearer token in the Authorization header
FormatJSON, OpenAI Chat Completions compatible
TransportHTTPS (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.

Never put a key in client-side code, a public repository or a shared workflow export. Store it in your platform's credential store.

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

MethodPathPurpose
POST/v1/chat/completionsGenerate a response from a list of messages
GET/v1/modelsList 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

  1. Create a new OpenAI credential.
  2. Enter your Navora key as the API key and set the base URL to https://api.chatdir.ch/v1.
  3. 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

  1. Add an HTTP module, "Make a request".
  2. URL https://api.chatdir.ch/v1/chat/completions, method POST.
  3. Headers Authorization: Bearer YOUR_NAVORA_KEY and Content-Type: application/json; body type raw JSON as in the cURL example.
  4. Parse the response and map choices[0].message.content.

UiPath

  1. Use the HTTP Request activity with method POST and the chat completions URL.
  2. Add the authorization header from an Orchestrator credential asset, not from a hard-coded string.
  3. Deserialize the JSON response and read choices[0].message.content.

Power Automate

  1. Add an HTTP action with method POST and the chat completions URL.
  2. Set the headers and JSON body as in the cURL example; store the key in a secure input or Azure Key Vault.
  3. 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

StatusMeaningWhat to do
400Invalid requestCheck the JSON body and parameters.
401Missing or invalid keyCheck the Authorization header.
403Key not allowed for this model or actionCheck the model ID against /v1/models.
429Rate limit or credit limit reachedRetry with backoff, or ask us to raise the limit.
500, 503Temporary server problemRetry 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

© 2024–2026 Navora AI LLC, Sheridan, Wyoming, USA. Europe & Switzerland: Victory Consulting GmbH, verified partner.

Home  /  Docs  /  Security  /  contact@navora-ai.com