# UniClowd

UniClowd — connect AI agents to your messengers, mail, CRM and accounting systems. MCP protocol support. RBAC, usage metering, multi-tenancy.

## For AI agents starting here

If you are an AI agent reading this for the first time, call one of these tools first — both are public (no auth required):

1. `onboard_start` (auth_required: false) — Begin onboarding: accept email + agent context, return a uc_ API key. Idempotent — re-call with same email links to the existing user.
2. `list_platforms` (auth_required: false) — Discover the catalog of supported platforms (id, name, tier, auth_type) for routing user requests to the right adapter.

## Onboarding routes

Seven routes, ordered by preference (passwordless first, OAuth-PKCE last):

| Rank | ID | Label | When to use | Agent tool / User URL | Prerequisite |
|---|---|---|---|---|---|
| primary | `email_otp` | Email OTP (one-time code) | Default for user-driven sign-in. Send a 6-digit code via email; user pastes it back. | url: https://uniclowd.com/admin/login | — |
| primary | `magic_link` | Magic link (email link) | User-driven sign-in via clickable email link. Use when the user prefers links over codes. | url: https://uniclowd.com/admin/login | — |
| primary | `google_oauth` | Continue with Google | User-driven federation via Google. Only shown when GOOGLE_LOGIN_ENABLED feature flag is true. | url: https://uniclowd.com/admin/login | — |
| secondary | `email_password_web` | Email + password (legacy) | Fallback for users who already have a password on the account. | url: https://uniclowd.com/admin/login | — |
| secondary | `onboard_start_agent` | Agent-driven onboarding (onboard_start) | Default for AI agents. Agent collects user email + name and calls onboard_start to mint a uc_ API key on the user's behalf. If email matches an existing user, agent is linked with provisional:false (no manual confirmation required). | tool: `onboard_start` | — |
| specialty | `auth_send_invite` | Send invite to colleague | Existing UC user (via agent) wants to invite a new colleague who will get their OWN independent UC account (not co-owned). | tool: `auth_send_invite` | auth.user_management grant required |
| specialty | `mcp_oauth_pkce` | MCP-OAuth with PKCE (RFC 8414/9728) | Browser-based AI clients (Claude.ai web, ChatGPT MCP) that perform the full OAuth dance and obtain a session-bound access_token instead of using a uc_ Bearer. | url: https://uniclowd.com/.well-known/oauth-authorization-server | — |

- **email_otp**: Fastest passwordless flow; no link to follow, no password to remember.
- **magic_link**: Link is single-use, 15-minute TTL, allow-listed redirect targets only.
- **google_oauth**: Zitadel federation broker; same UniClowd account is created/looked-up by verified Google email.
- **email_password_web**: Being phased out in favour of OTP / magic-link / Google. Do not surface as the primary option.
- **onboard_start_agent**: Idempotent within a 5-minute window. Returns the same key on retry to handle network flake without duplicating provisional accounts.
- **auth_send_invite**: Invitee receives an email with a one-time accept link; the inviter's agent does NOT gain access to the invitee's account.
- **mcp_oauth_pkce**: Use this when the client is per-user and browser-resident. For stateless backends, prefer uc_ Bearer via onboard_start.

## Authentication

- **Primary format:** `uc_<64-hex>`
- **Header:** `Authorization: Bearer <uc_...>`
- **Obtained via:** onboard_start (REST/MCP tool) or /admin/profile (browser)

For browser-based AI clients (Claude.ai web, ChatGPT MCP), use MCP-OAuth with PKCE instead:

- Authorization endpoint: https://uniclowd.com/api/chat/mcp-auth/authorize
- Token endpoint: https://uniclowd.com/api/chat/mcp-auth/token
- Dynamic registration: https://uniclowd.com/api/chat/mcp-auth/register

## Endpoints

| Surface | URL |
|---|---|
| REST | https://uniclowd.com/api/chat/rest |
| MCP (HTTP streaming) | https://uniclowd.com/api/chat/mcp |
| OpenAPI spec | https://uniclowd.com/api/chat/openapi.json |
| OAuth authorization server (RFC 8414) | https://uniclowd.com/.well-known/oauth-authorization-server |
| OAuth protected resource (RFC 9728) | https://uniclowd.com/.well-known/oauth-protected-resource |
| Landing page | https://uniclowd.com/ |
| Terms of service | https://uniclowd.com/legal/terms |
| Privacy policy | https://uniclowd.com/legal/privacy |
| Support email | mailto:support@uniclowd.com |

## Supported platforms

31 platforms supported across messaging, CRM, and ERP.

- WhatsApp (`whatsapp`) — tier 3, auth: qr_code
- Telegram (`telegram`) — tier 1, auth: phone
- Slack (`slack`) — tier 2, auth: oauth
- Discord (`discord`) — tier 2, auth: oauth
- Messenger (`messenger`) — tier 3, auth: oauth
- Signal (`signal`) — tier 3, auth: phone
- LINE (`line`) — tier 3, auth: oauth
- Viber (`viber`) — tier 3, auth: bridge
- Microsoft Teams (`teams`) — tier 4, auth: oauth
- WeChat (`wechat`) — tier 4, auth: bridge
- Matrix (`matrix`) — tier 1, auth: oauth
- Mattermost (`mattermost`) — tier 2, auth: api_key
- Rocket.Chat (`rocketchat`) — tier 2, auth: api_key
- Zulip (`zulip`) — tier 2, auth: api_key
- KakaoTalk (`kakao`) — tier 3, auth: bridge
- VK (`vk`) — tier 3, auth: oauth
- Lark (`lark`) — tier 4, auth: oauth
- DingTalk (`dingtalk`) — tier 4, auth: oauth
- IRC (`irc`) — tier 1, auth: other
- XMPP (`xmpp`) — tier 1, auth: other
- Google Keep (`google-keep`) — tier 3, auth: oauth
- Пачка (`pachca`) — tier 2, auth: oauth
- Bitrix24 (`bitrix24`) — tier 3, auth: oauth
- amoCRM (`amocrm`) — tier 3, auth: oauth
- HubSpot (`hubspot`) — tier 3, auth: oauth
- Salesforce (`salesforce`) — tier 3, auth: oauth
- Pipedrive (`pipedrive`) — tier 3, auth: oauth
- Odoo (`odoo`) — tier 4, auth: api_key
- Microsoft To Do (`ms-todo`) — tier 3, auth: oauth
- 1С:Фреш (`onec`) — tier 4, auth: api_key
- Почта (IMAP) (`imap`) — tier 3, auth: other

## Pricing

- **Free** — $0/month
- **Personal** — $9/month
- **Pro** (featured) — $29/month
- **Corporate** — $99/month

Full plan limits + features: https://uniclowd.com/admin/billing

Rate limits: see https://uniclowd.com/api/chat/openapi.json

## Legal & support

- Terms of service: https://uniclowd.com/legal/terms
- Privacy policy: https://uniclowd.com/legal/privacy
- Support: support@uniclowd.com

---
version: 1.0.0 · structure_revision: 1 · last_updated: 2026-05-18T00:00:00Z
