We're still building things here! You might notice a few rough edges while we work on improvements. Help us improve by reporting bugs here.

Operations & Analytics

Monitor every Companin integration with request logs, usage aggregates, rate limit events, API key analytics, and conversation feedback for continuous improvement.

Operational Control Without Extra Tooling

The Companin platform exposes every critical signal you need to keep customer assistants reliable. Logs, usage dashboards, and feedback collection are retrievable through authenticated APIs so you can fold the data into your existing observability stack.

Request & Endpoint Observability

Pull structured request logs with <code>GET /analytics/logs/</code> and paginate through endpoint level performance using <code>/analytics/endpoints/</code>. Every record carries timestamps, HTTP method, status code, and the exact endpoint hit, making it simple to feed data into Grafana, Looker, or whichever tooling already powers your NOC.

Aggregated usage endpoints summarize traffic volumes over time so capacity planners can evaluate adoption without querying raw logs.

Rate Limit Guardrails

Organization scoped throttles cap integrations at 100 requests per hour by default. When a key approaches the limit, <code>GET /analytics/rate-limits/</code> highlights blocked versus allowed events along with timestamps so you can tune policies before customers experience downtime.

Rate limit hits are recorded with the triggering API key, letting security teams spot abuse patterns or runaway clients quickly.

Billing & Capacity Forecasting

Usage aggregates (<code>GET /analytics/usage/</code>) and API key analytics (<code>/analytics/keys/</code>) provide the inputs you need for billing statements or quota enforcement. Track total requests per client, last used timestamps, and trends over any window you define.

The JSON payloads return total counts, paging details, and time buckets so finance and operations teams can reconcile usage against contract commitments.

Feedback Driven Improvements

Combine observability with qualitative signals by storing ratings through <code>POST /api/v1/conversations/:conversation_id/feedback</code>. The API captures the reviewer, rating, and optional comment while keeping the payload linked to the exact conversation for replay analysis.

Because the feedback objects live alongside conversation metadata, you can group issues by persona, channel, or customer segment and feed that directly into prompt or workflow updates.

Incident Readiness & Error Handling

Unhandled exceptions are wrapped by a custom Ninja error handler that returns structured JSON with status, detail, and traceback fields. That means your alerting system sees the same schema every time, whether the issue is an upstream dependency or a validation error.

Combined with API key security and organization scoped caching, you get a predictable surface area that makes on call rotations far less stressful.