# Lang.ai > Lang.ai is a conversation-intelligence platform that turns unstructured customer interactions — support tickets, chatbot messages, emails — into structured intents, features and tags. Its unsupervised algorithm extracts intents from an uploaded dataset; users group those into tags to form a custom classifier, which a small REST API then applies to new documents in real time. Lang.ai is now part of Capacity; the API reference and help center remain live for existing tenants. Generated by the API Evangelist enrichment pipeline on 2026-07-19, updated 2026-08-14, from https://docs.lang.ai/ and the artifacts in this repository. Lang.ai does not publish its own llms.txt (docs.lang.ai/llms.txt returns 403). capacity.com/llms.txt returns 200, but it is Capacity's and does not mention Lang.ai or its API. ## API - [Lang.ai API reference](https://docs.lang.ai/): The full REST reference — workflow, authentication, rate limits, the five operations, and the error table. - Base URL: `https://{company}.lang.ai/api/v1` — per-tenant; replace `{company}` with your own Lang.ai instance subdomain. - Authentication: `Authorization: Bearer `, on every request. Tokens are created in the Settings section of your instance; generating a new token invalidates previously issued ones. ## Operations - `POST /project` (createProject): Create a project from a dataset via a `multipart/related` (RFC 2387) upload — an `application/json` metadata part (name, csvOptions.textColumn, csvOptions.dateColumn, team_ids) followed by a `text/csv` or `text/plain` media part. Returns `{"id": "..."}`. - `GET /projects` (listProjects): List projects with `status` (Errored | Processing | Completed), `id`, `name`, `createdAt`. - `GET /projects/{projectId}` (getProjectTags): Return the project plus its `tags[]` (`id`, `name`, `createdAt`, `updatedAt`, `isDraft`). - `POST /analyze` (analyzeDocument): Classify `{"text", "projectId"}` and return matched `tags[]` and `intents[]` (each intent has `name` and `features[]`, where `>` marks a second-level feature). Does not persist the document. - `POST /documents` (saveDocument): Save `{"text", "projectId"}` plus optional `metadata`, `date` (ISO 8601), and `id`. Returns the same classification shape. A repeat save with an existing `id` overwrites the stored document. ## Specs and artifacts in this repository - [OpenAPI](openapi/langai-api-openapi.yml): OpenAPI 3.0.3, generated from the published reference (Lang.ai publishes no machine-readable spec). - [Conventions](conventions/langai-conventions.yml): auth style, idempotency, pagination, metadata, versioning, error envelope, rate-limit signalling. - [Error catalog](errors/langai-problem-types.yml): the documented 400 / 401 / 404 / 429 / 500 statuses with remediation. - [Authentication](authentication/langai-authentication.yml): the bearer-token profile. - [Data model](data-model/langai-data-model.yml): Project, Tag, Document, Intent and their relationships. - [Lifecycle](lifecycle/langai-lifecycle.yml): URI-path v1 versioning, absent deprecation policy, status page, acquisition status. - [Conformance](conformance/langai-conformance.yml): REST, bearer auth, RFC 2387, ISO 8601, SOC 2 Type II / HIPAA / GDPR via Capacity. - [Agent skills](skills/_index.yml): packaged operating instructions for the marquee flows. - [MCP](mcp/langai-mcp.yml): candidate MCP tool surface derived from the operations (not published by Lang.ai). - [Examples](examples/langai-request-examples.yml): the published request/response pair for every operation, transcribed verbatim from the reference. - [Changelog](changelog/langai-changelog.yml): the ten dated Canny entries (2025-02-18 → 2025-11-21), all covering the AI Agents product rather than the REST API. - [Plans and pricing](plans/langai-plans-pricing.yml): Lang.ai publishes none; the three Capacity tiers are contact-sales with no prices. - [Rate limits](rate-limits/langai-rate-limits.yml): documented as enforced, zero numbers and zero headers published. - [Sandbox](sandbox/langai-sandbox.yml): there is none — no test mode, no test keys, no console. - [Packages](packages/langai-packages.yml): no SDK in any registry; the named `langai-python` repo is empty. The one real distribution is a Snowflake Native App. - [Agentic access](agentic-access/langai-agentic-access.yml): recommended `x-agentic-access` execution contracts for the five operations. - [Well-known](well-known/langai-well-known.yml): zero discovery documents across five hosts — recorded absence, not a presence. ## Conventions to follow - Every request must be authenticated; an unauthenticated or stale token returns 401. - Requests may be rate limited and surface as 429. No numeric limits and no RateLimit/Retry-After headers are published — use exponential backoff with jitter. - Retry `saveDocument` safely by always supplying your own document `id`; the same id overwrites rather than duplicating. There is no `Idempotency-Key` header, and `createProject` is not safe to retry blindly. - `GET /projects` is unpaginated. There is no field expansion, sparse fieldset or request-id contract. - Errors are plain JSON with meaningful HTTP status codes — not RFC 9457 `application/problem+json`. ## Docs and support - [Help center](https://help.lang.ai/): product documentation, tags, draft tags, dashboards, intents and features. - [Using tags](https://help.lang.ai/en/articles/3175538-using-tags) - [Using draft tags](https://help.lang.ai/en/articles/5046690-using-draft-tags) - [Getting started with dashboards](https://help.lang.ai/en/articles/2724433-getting-started-with-dashboards) - [Technology: intents and features](https://help.lang.ai/en/collections/1565410-technology#intents-and-features) - [GitHub organization](https://github.com/lang-ai) - [Python project-creation example (gist)](https://gist.github.com/fjaguero/5cf6721d7ea28df7d0eedab74a8a58d8) - [Changelog](https://roadmap.lang.ai/changelog) and [RSS feed](https://roadmap.lang.ai/api/changelog/feed.rss): public Canny changelog; latest entry 2025-11-21. - [Roadmap board](https://roadmap.lang.ai/): public Canny feature-request board — published but dormant. ## Snowflake AI Agents - [Snowflake Marketplace listing](https://app.snowflake.com/marketplace/listing/GZTSZ1TJ3IU/lang-ai-snowflake-ai-agents): "Lang.ai: Snowflake AI agents", the Native App that is Lang.ai's only shipped distribution artifact. Requires ACCOUNTADMIN plus BIND SERVICE ENDPOINT, EXECUTE TASK, CREATE WAREHOUSE and CREATE COMPUTE POOL privileges. There is no REST API for it — it runs inside the customer's Snowflake account. - [Snowflake developer guide](https://www.snowflake.com/en/developers/guides/create-ai-agents-on-snowflake-with-lang-ai/) - [Samples repo](https://github.com/lang-ai/snowflake-app-samples): install script plus the Retention AI Agent quickstart with a synthetic demo dataset. - [Help center collection](https://help.lang.ai/en/collections/9808378-snowflake-ai-agents) ## Company - [Lang.ai / Capacity](https://capacity.com/lang/): "Lang AI is now part of Capacity." lang.ai redirects here. - [Capacity platform](https://capacity.com/) - [Security and compliance](https://capacity.com/security/): AES-256 at rest, TLS 1.2+ in transit, GDPR, HIPAA, SOC 2 Type II. - [Trust center](https://trust.capacity.com/) - [Status](https://status.capacity.com/) - [Pricing](https://capacity.com/pricing/)