eCourtDate Chatbot API guides
The eCourtDate Chatbot API answers questions from the public on court and agency websites with grounded answers drawn from a knowledge base you control, and it tells you where each answer came from. Upload the documents your agency already publishes (hearing schedules, fee tables, jury duty instructions, local rules) or crawl your public website, then ask questions and receive answers that cite the source passage.
The API is OpenAI-compatible: point an official OpenAI SDK at the base URL and call chat completions, models, and embeddings the way you already do. Citations, server-side conversations, and the knowledge base endpoints are eCourtDate extensions layered on the same conventions.
These guides explain the concepts and workflows; the interactive API reference documents every endpoint, request, and response, and includes a try-it console.
Base URL: https://api.chatbots.ecourtdate.com/v1
Access requires a paid subscription. API keys (ecd_sk_...) are issued and
activated for your account by eCourtDate and are sent on every request as
Authorization: Bearer $API_KEY. See Authentication.
A first request
curl -s "https://api.chatbots.ecourtdate.com/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{ "role": "user", "content": "What time do traffic hearings start?" }
]
}'
The model field is optional: omit it and the request is served by your
account's default bot. The response is a standard chat.completion object
whose assistant message carries a citations array, one entry per
[Source N] marker, whenever the bot answers from a knowledge base.
Getting started walks through the whole loop, from the
first completion to a cited answer.
Start
- Getting started: activate your key, send your first chat completion with curl or an OpenAI SDK, discover models, upload a document, and read your first citation.
- Authentication: Bearer keys, the
chatandingestscopes, 401 versus 403, key expiry and revocation, and rotation. - Conventions: JSON shapes, list envelopes, identifiers, timestamps, request ids, response headers, and the limits every request shares.
Chat
- Chat completions: the OpenAI-compatible request and response, which parameters are supported, and how system messages combine with the bot's persona.
- Streaming: server-sent events,
[DONE], usage in a stream, and where citations arrive. - Citations:
[Source N]markers, thecitationsarray, and how to render them. - Tools and structured output: function calling, per-bot tool allowlists, and JSON output modes.
- Conversations: server-side memory as an alternative to stateless completions.
- Models: bots and aliases as models, the account default, and
GET /v1/models. - Embeddings: 1024-dimensional text embeddings for your own search and retrieval.
Knowledge base
- Ingesting files: multipart upload, accepted formats, namespaces, and per-document errors.
- Crawling websites: seed URLs, allowed domains, page and depth limits, and crawl status.
- Documents: list, retrieve, and delete what the knowledge base holds.
- Jobs and webhooks: the job lifecycle, polling,
ingest.completedandcrawl.completedwebhooks, and signature verification.
Reliability and operations
- Errors: the error envelope, the
typevalues, and the error code registry with recovery guidance. - Rate limits: per-account requests per minute, the daily token quota,
RateLimit-*headers,Retry-After, and backoff. - Security: key handling, per-account isolation, what the service stores, deletion, crawler restrictions, and request ids for support.
- Versioning: the
/v1stability commitment, additive changes, beta surfaces, and the deprecation process.
Resources
- SDKs: configuring the official OpenAI SDKs, curl, and other OpenAI-compatible clients.
- AI agents: a copy-paste onboarding prompt for coding assistants, plus
llms.txt. - Interactive API reference
- OpenAPI specification (also available as YAML)