# Observe.AI > Observe.AI is an agentic AI platform for the contact center. Its public developer surface is the Reporting APIs — a set of asynchronous REST endpoints that export conversation data (interactions, transcripts, Moments, GenAI summaries, Auto QA and manual evaluations, coachings, ack/dispute state) out of Observe.AI into a customer's own systems, plus a DSR deletion API and a scheduled bulk export to Snowflake or S3. It is an export/reporting surface, not a control surface: nothing in the public API creates an interaction, scores a call or drives an AI agent. Generated by the API Evangelist enrichment pipeline on 2026-08-14. Observe.AI does not publish an llms.txt of its own (https://www.observe.ai/llms.txt returns 404), so this file is generated from the harvested contract and the catalog profile. ## How to call it - Auth is OAuth 2.0 client credentials. POST `/v1/oauth/token` with an App ID and App Secret to get a bearer JWT that expires in 7200 seconds. Send it as `Authorization: Bearer `. - App credentials are NOT self-serve. They are requested from help@observe.ai or your Customer Success Manager, generated in-app (max 3 apps per account), and downloadable exactly once. - The base URL is per-tenant. Observe.AI issues your cluster's base URL via CSM or support ticket; the spec declares `https://{base_url}`. The host named in Observe.AI's own migration docs for the async APIs is `https://kong.observe.ai`. - Every reporting call is asynchronous: POST to register a request and receive a `request_id`, then GET that `request_id` until `status` is `COMPLETED`, at which point the response carries a pre-signed S3 URL valid for 24 hours. - Date windows are capped at 90 days. Pagination is page-number based (`page`, `size`) with `total_pages` and `total_size` in the response; max page size is 1000. - Rate limits are per app credential: 2000 POST reporting requests/day, 20 GET polls/minute, 1500 auth tokens/day. Exhaustion returns 429 with `{"message": "API rate limit exceeded"}`. No `Retry-After` or `RateLimit-*` header is published, so back off blind. - There is no idempotency key. A retried POST creates a second job and spends another unit of quota. - Errors are a flat `{"message": "..."}` object under the wildcard media type `*/*`. There is no error code registry and no RFC 9457 problem+json. ## APIs - [Observe.AI Reporting APIs](https://api-docs.observe.ai/): Interactions, Summarization AI, Evaluations, Coachings, Ack/Dispute and DSR deletion. 16 operations, OpenAPI 3.0.1. - [Observe.AI Bulk Export](https://api-docs.observe.ai/bulk-export/): 16 datasets delivered on a schedule via Snowflake Data Share or gzip-JSON files on S3. ## Specs - [OpenAPI 3.0.1 (verbatim harvest)](openapi/observeai-reporting-apis-openapi.yml) - [Bulk export JSON Schemas, draft 2020-12, 16 datasets](json-schema/) - [API Evangelist overlay](overlays/observeai-reporting-apis-overlay.yaml) ## Operating knowledge - [Authentication profile](authentication/observeai-authentication.yml) - [API conventions — async job model, pagination, date windows](conventions/observeai-conventions.yml) - [Rate limits](rate-limits/observeai-rate-limits.yml) - [Error catalog](errors/observeai-problem-types.yml) - [Data model — 17 entities, 30 relationships](data-model/observeai-data-model.yml) - [Lifecycle, versioning and deprecation](lifecycle/observeai-lifecycle.yml) - [Changelog](changelog/observeai-changelog.yml) - [Conformance](conformance/observeai-conformance.yml) - [Agent skills](skills/_index.yml) ## Docs - [API documentation portal](https://api-docs.observe.ai/) - [Getting started](https://api-docs.observe.ai/#tag/ReportingService-Overview) - [Authentication](https://api-docs.observe.ai/#tag/Authentication) - [Release notes](https://api-docs.observe.ai/#tag/ReleaseNotes) - [Help center](https://help.observe.ai/) - [Status page](https://status.observe.ai/) - [Trust center](https://www.observe.ai/trust) - [Security](https://www.observe.ai/contact-center-security) - [Integrations](https://www.observe.ai/platform/integrations) - [Blog](https://www.observe.ai/blog) ## What does not exist Stating absences plainly so an agent does not go looking: - No SDK in any registry — npm, PyPI, RubyGems, crates.io, Maven, NuGet and pkg.go.dev all miss. Hand-roll HTTP. - No CLI, no Postman collection, no sandbox or test mode, no test credentials. - No MCP server an agent can call. Observe.AI's integrations page advertises "Model Context Protocol support", but that is Observe.AI connecting outward into customer systems; `mcp.observe.ai` does not resolve. - No A2A agent card at `/.well-known/agent-card.json` or `/.well-known/agent.json` on any host. - No webhooks and no AsyncAPI. The event surface is scheduled bulk export, not push. - No `/.well-known/` documents of any kind — security.txt, openid-configuration and api-catalog all 404. - No published pricing page; the only listed price is the AWS Marketplace module at USD 828 per agent per 12 months. - No self-serve sign-up that yields API credentials.