Introduction

DoxPro turns your product documentation into a grounded support assistant. Each customer gets a workspace with branding, knowledge uploads, usage quotas, and two keys: a publicKey for the browser widget and a secretKey for the console.

  • Multi-tenant workspaces scoped by tenant ID
  • Hybrid retrieval (vector + keyword) before every answer
  • Streaming chat UX with source citations
  • Refusal behavior when docs do not support the claim

Quickstart

  1. Create a workspace — you receive a public key and secret key once.
  2. Open the console with your secret key. Set name, welcome message, color, and logo.
  3. Upload knowledge (Markdown, text, or PDF) or paste content directly.
  4. Embed the widget with your public key (see Embed widget).
New workspace
Use the get-started flow to create your org workspace, upload knowledge, and get your public and secret keys.

Authentication

DoxPro uses two credentials per workspace. Treat them like API keys for a production SaaS product.

CredentialWhere usedRule
publicKeyBrowser widget / public chat APISafe to expose in client code
secretKeyConsole · branding · knowledge uploadsServer-side / admin only — never ship to customers
Platform admin JWTList orgs, support, activate/delete workspacesInterviewPro admin / super_admin at /admin/doxpro
Never leak the secret key
The secret key can change branding and overwrite knowledge. Store it in your password manager or server env — not in frontend bundles, Git, or public docs.

Request headers

HeaderPurpose
x-doxpro-public-keyAuthenticate public chat / widget requests
x-doxpro-secret-keyAuthenticate console admin routes
Authorization: BearerPlatform admin routes (InterviewPro JWT)

Console

Sign in at /doxpro/login with your secret key. From the dashboard you can:

  • Update assistant name, welcome copy, primary color, logo, and widget position
  • Upload or paste knowledge documents
  • Preview live chat against your indexed content
  • Monitor token usage against your workspace quota

Platform admins manage all DoxPro organizations and support from /admin/doxpro (same InterviewPro admin session as the rest of the platform).

Embed widget

Drop one CDN script on any site — no React or npm install required. Pass only the public key. Auto-init via data-* attributes, or call window.DoxPro.init() after the script loads.

Paste before the closing body tag on any static or vanilla JS page.

index.htmlhtml
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>My site</title>
  </head>
  <body>
    <!-- your page content -->

    <script
      src="https://www.interviewpro.info/embed/doxpro.js"
      data-public-key="pk_live_…"
      data-api-base="https://interviewpro-info-v2.vercel.app/api/doxpro/v1"
      async
    ></script>
  </body>
</html>
Attr / optionTypeDescription
data-public-keystringWorkspace public key (pk_live_…)
data-api-basestring?DoxPro v1 base, e.g. https://interviewpro-info-v2.vercel.app/api/doxpro/v1
data-default-openboolean?Open the bubble on first paint (optional)
data-containerstring?CSS selector for mount node (defaults to #doxpro-root)

Knowledge & RAG

When you upload a document, DoxPro validates it, hashes content for dedupe, splits it into overlapping chunks, embeds those chunks, and stores them scoped to your workspace.

Answer flow

  1. User question is embedded
  2. Hybrid retrieval blends vector + keyword rankings (RRF)
  3. Top passages are injected as grounding context
  4. Model streams a cited reply to the widget
  5. If nothing relevant is found, the assistant refuses invented product facts
Supported uploads
Text, Markdown, and text-based PDF (max 5 MB per file). Prefer clear product docs — pricing, policies, and how-tos — over marketing fluff.

API reference

Base path: /api/doxpro on the InterviewPro Express API. Public chat lives under /v1.

MethodPathAuthDescription
GET/api/doxpro/healthService health + vector index status
POST/api/doxpro/v1/chatpublic keyStreaming grounded chat (SSE)
GET/PATCH/api/doxpro/v1/admin/*secret keyBranding, knowledge, usage
POST/api/doxpro/v1/onboardnonePublic workspace signup
GET/PATCH/api/doxpro/v1/admin/tenantsJWT adminPlatform admin org management

Example chat request

chat.shbash
curl -X POST "https://interviewpro-info-v2.vercel.app/api/doxpro/v1/chat" \
  -H "Content-Type: application/json" \
  -H "x-doxpro-public-key: pk_live_…" \
  -d '{"messages":[{"role":"user","content":"What is your refund policy?"}]}'

Limits

ResourceFree workspace
Token quota1,000,000 tokens (chat + embeddings)
Upload size5 MB per file
RetrievalTop ~6 grounded chunks per answer
Formats.txt · .md · text PDF · paste

Support

Need a custom RAG build or partnership? Reach the InterviewPro team via /contact-us.