# Restivity

> Restivity is a productivity app (tasks, projects, pomodoro, calendar, Eisenhower matrix). It exposes a first-class agent surface — MCP server, REST API, and OAuth.

## Agent surfaces
- [MCP server card](https://restivity.ai/.well-known/mcp/server-card.json): connect an MCP client to https://restivity.ai/api/mcp
- [OpenAPI](https://restivity.ai/api/v1/openapi.json): REST API at https://restivity.ai/api/v1
- [Agent Skills](https://restivity.ai/.well-known/agent-skills/index.json)
- [API catalog](https://restivity.ai/.well-known/api-catalog)
- [OAuth metadata](https://restivity.ai/.well-known/oauth-authorization-server)

## Plan requirement
- The agent surface (REST https://restivity.ai/api/v1 and MCP https://restivity.ai/api/mcp) requires a paid plan (Pro or Team); a paid Team seat unlocks it on a free personal plan too. Any account can complete OAuth; a free account then receives 403 `upgrade_required` (application/problem+json with `upgrade_url`) — show the upgrade link, do not restart the OAuth flow.

## Rate limits
- Per user, per UTC hour: read: 1000/hour (GET, HEAD); write: 200/hour (POST, PATCH, PUT); delete: 50/hour (DELETE).
- Every response carries `X-RateLimit-Tier: <tier>:<count>/<limit>`. Over budget → 429 `rate_limited` with `Retry-After` (seconds); back off until then.
- Token endpoint (`POST /api/oauth/token`): 60 requests per source IP per minute. Over budget → 429 `slow_down` with `Retry-After`; wait and retry the same request, do not restart OAuth.

## Docs
- [API reference](https://restivity.ai/docs/api): endpoints, scopes, pagination, errors, rate limits, plan requirement
- [Connect an agent](https://restivity.ai/learn/agents): step-by-step for Claude, ChatGPT, Cursor
- [auth.md](https://restivity.ai/auth.md): the OAuth 2.1 + DCR flow an agent follows on its own

## Pages
- [Terms](https://restivity.ai/terms)
- [Privacy](https://restivity.ai/privacy)
