# Build on the API

> A boring, explicit REST API over your family's plan: collections, calendar, people, notifications, and webhooks, with family-scoped keys.

The Mavo API is for scripts, automations, and apps that work with stable household resources and named product actions. It's deliberately boring: predictable REST paths, JSON in and out, one key per family.

## Get a key

Create keys in Settings → Developer under "API keys": name it, generate it, and copy it right away (it's shown once). Each key belongs to one family and only works on that family's paths. API access is included with the Builder plan.

## Call it

Send the key in the `x-api-key` header. Everything lives under your family's base path:

```
curl -H "x-api-key: $MAVO_API_KEY" \
  https://mavolife.com/api/v1/families/your-family/calendar/events
```

What's there:

- **Collections and entries**: lists, groceries, meals, and custom collections, with batch writes.
- **Calendar**: events, external calendar feeds, and calendar share links.
- **People**: the household's people.
- **Notifications**: send notifications, manage preferences and routines, and schedule checks.
- **Webhooks**: register destinations Mavo can call as things change, with a test delivery.
- **Context**: one search across the household's collections, members, and upcoming items.
- **Helpers**: weather, web search, and page reading.

Keys are rate limited to 1,000 requests per day.

## Reference

- [Browsable API reference](/docs/api), generated from the live schema.
- [The same reference as plain Markdown](/docs/api.md), handy for agents and editors.
- [OpenAPI document](/api/v1/openapi) for codegen and client tooling.

If you're building for an assistant rather than a script, the MCP connection covers the same actions with sign-in instead of keys. See [Connect your assistant](/docs/guide/connect-your-assistant.md).
