Connect MOVA to AI assistants and automations
Personal access keys, a documented API and an MCP connector. You choose what each connection can do and you can turn it off at any time.
1. Create an access key
- In the MOVA app, open Settings › Integrations › Create access key.
- Give it a name, choose the permissions and how long it lasts (30, 90 or 365 days).
- Copy the key: it is shown only once. MOVA keeps only a fingerprint of it.
- Revoke it at any time on the same screen. Changing your password revokes every key and connection.
2. Use the API
Send the key in the Authorization header. Money is an integer in the currency's smallest unit, as text, plus the currency code ("30000" USD = 300.00). To create, use PUT with an id you generate (UUID).
Each key reaches only the routes of its permissions; anything else answers 403. Nothing can be deleted through a key: cancel an appointment by changing its status.
curl -s "https://api.movapro.app/appointments?from=2026-11-01&to=2026-11-30" \
-H "Authorization: Bearer mova_pat_..." curl -s -X PUT "https://api.movapro.app/appointments/$(uuidgen | tr A-Z a-z)" \
-H "Authorization: Bearer mova_pat_..." \
-H "Content-Type: application/json" \
-d '{"clientId":"<client id>","startsLocal":"2026-11-10T14:00",
"timezone":"America/New_York","durationMinutes":60,
"currency":"USD","priceMinor":"30000"}'3. Claude
- Claude (web and desktop): Settings › Connectors › Add custom connector, and paste https://api.movapro.app/mcp.
- Claude opens the MOVA page: sign in with your MOVA email and password and choose the permissions.
- Claude Code: add the connector with an access key, as below (or use /mcp to sign in).
claude mcp add --transport http mova https://api.movapro.app/mcp \
--header "Authorization: Bearer mova_pat_..." 4. ChatGPT
- In ChatGPT, open Settings › Apps & Connectors (developer mode) and create a connector with the address https://api.movapro.app/mcp.
- Choose OAuth sign-in. ChatGPT opens the MOVA page: sign in and choose the permissions.
- ChatGPT does not accept fixed keys: it always uses this sign-in.
5. Meta Muse and other assistants
- Add a custom connector (MCP server) with the address https://api.movapro.app/mcp.
- If it asks for an API key or a header, use Authorization: Bearer with a MOVA access key. If it offers sign-in (OAuth), use it.
- Gemini, Microsoft Copilot and Grok work the same way where they accept remote MCP connectors.
6. Zapier and Make
- Zapier: add the action Webhooks by Zapier › Custom Request (paid Zapier plans).
- Method and URL of the route (for example PUT https://api.movapro.app/expenses/<new id>), Data as JSON.
- Headers: Authorization = Bearer mova_pat_... and Content-Type = application/json.
- Make: use the HTTP module with the same method, address and headers.
7. Community reports
Looking up a number is optional and starts turned off. It uses the same rules and limits as the app's Look up tab, and the public comments of the reports found go to the AI service you connected.
Reports: by default the AI only leaves a draft that you confirm in the app. If you choose "Publish directly", you accept that you are responsible for what is published, and every report published by the AI shows up in Activity with Undo. The AI never attaches photos.
8. Limits and security
Each key or connection can make up to 60 requests per minute and 1,000 per hour (429 with Retry-After when exceeded).
No key reaches your account, password, email, other people's reports, secretaries' data beyond their permissions, or the admin panel. Every change made by a connection is recorded with its name.
Permissions
| Permission | What it allows |
|---|---|
agenda:read | See the schedule (times, prices and client names). |
appointments:write | Book and reschedule appointments (date, time, price, status). |
clients:read | See clients (name, phone and notes). |
clients:write | Add and change clients. |
trips:read | See trips and hotels. |
trips:write | Add and change trips and hotels. |
finance:read | See expenses, income and reports. |
finance:write | Log and change expenses and income. |
lookup:read | Look up numbers in community reports. |
reports:draft | Leave report drafts for you to confirm in the app. |
reports:write | Publish reports on your behalf (only with your acceptance). |
Full reference (OpenAPI 3.1): /developers/openapi.json