Skip to main content
Moda is observability for AI agents. You send conversations to Moda through the Python or Node.js SDK, OpenTelemetry, or the HTTP Ingestion API. Moda analyzes every conversation automatically — grouping it into use-case clusters and detecting user emotion, tool failure, laziness, and hallucination signals, which are rolled up into problems — and you explore the results in the dashboard or query them with the Data API and CLI.

The three surfaces

Ingestion

The Ingestion API accepts conversation data from the Moda SDKs for Python and Node.js, which auto-instrument the OpenAI and Anthropic client libraries, and from any OpenTelemetry setup that exports OTLP over HTTP, or a direct HTTP call. Integrations also cover the Vercel AI SDK, the Claude Agent SDK, coding agents, and providers such as OpenRouter, Azure OpenAI, Bedrock, Vapi, and OpenClaw. Start with the ingestion overview or the quickstart.

Dashboard

The dashboard at moda.dev/dashboard is where you read the analysis: browse conversations with full traces and world state, review signals and problems, and explore use cases, users, and tools. The dashboard overview describes each section.

Data API & CLI

Everything the dashboard shows is also queryable. The Data API is an HTTP API at https://moda.dev/api/v1/data, authenticated with your API key. The CLI (@moda-ai/cli, binary moda) brings search, analytics, signal and Problem investigation (emotions, hallucinations, Problem dossiers, step scores, world state), live tailing, prompt management, and harness commands to your terminal and CI.

How data flows

  1. Your application sends conversations to the Ingestion API — through an SDK, an OpenTelemetry exporter, or a direct HTTP request.
  2. Moda processes new data within minutes; conversations appear on the Conversations page shortly after ingest.
  3. Emotion, tool-failure, laziness, and hallucination signals appear within minutes, and problems and use-case clusters build automatically as evidence accumulates.

Getting access

Moda accounts are provisioned by the Moda team; there is no self-serve signup. Teammates join an existing workspace by invitation (Settings → Members & roles). To send data you need an API key (called an ingestion key in the dashboard): create one at Settings → Ingestion keys. The full key is shown once, at creation.

Next steps

  • Quickstart — send your first conversation and see it in the dashboard.
  • Ingestion overview — choose the right way to send data for your stack.
  • Data model — how conversations, signals, problems, and use cases relate.
  • Data API overview — query your data programmatically.