8 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Create isolated recovery copy
backups.create_recovery_copywriteconfirmadmin only
Copy a completed backup into a new private recovery_<snapshot> schema inside the account's own connected Supabase project. Consumes that customer's storage and database resources. Rechecks counts, unique IDs and selected references within an atomic transaction; refuses incomplete, incompatible or over-50,000-row snapshots and never overwrites an existing schema. Copies text-valued data tables only: no running Chirply account, credentials, triggers, workflow execution or message sending. Repeated calls cannot create duplicate copies. Owner/admin approval required.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
snapshot_id
string (uuid)
required
Completed snapshot ID whose preview and destination the approver reviewed.
Over MCP the same operation is the tool backups_create_recovery_copy at https://app.chirply.io/api/mcp, same bearer token, same input.
Backup destination
backups.get_destinationreadadmin only
Shows where this account backs its data up to — which of the account's own connected Supabase projects receives it, the schema the tables land in, the schedule, the retention setting, and when the last and next backups run. Also lists the Supabase projects available to choose from. Reads only; nothing is written anywhere.
Also answers to where do my backups go, backup settings, is backup on.
Over MCP the same operation is the tool backups_get_destination at https://app.chirply.io/api/mcp, same bearer token, same input.
View a backup
backups.get_runreadadmin only
One backup snapshot in full: its status, when it ran, and its manifest — the per-dataset row counts, the true account counts beside them so a short dataset is obvious, the table each dataset landed in, and the list of everything deliberately excluded from any Chirply backup. This is the record to check before trusting a snapshot to restore from. Reads only.
Also answers to backup details, what was in that backup.
Parameters
Field
Type
Required
Description
run_id
string (uuid)
required
The backup's id, from backups.list_runs. It is also the snapshot_id every row in the destination carries.
Over MCP the same operation is the tool backups_get_run at https://app.chirply.io/api/mcp, same bearer token, same input.
Backup history
backups.list_runsreadadmin only
Lists this account's backup snapshots, newest first — when each ran, whether it was scheduled or asked for, how many rows and datasets landed, and whether it completed. A snapshot marked 'incomplete' finished with at least one dataset short of the account; 'running' is still in progress. Reads Chirply's own record of the runs and touches the destination database not at all.
Also answers to list my backups, backup history, when did it last back up.
Over MCP the same operation is the tool backups_list_runs at https://app.chirply.io/api/mcp, same bearer token, same input.
Inspect recovery copy
backups.preview_recovery_copyreadadmin only
Inspect one completed backup in the account's current customer-owned Supabase destination. Checks current inventory compatibility, stored row counts, unique IDs and selected CRM references, then proposes an isolated recovery schema in that same project. Limited to 50,000 rows. Reads the external database and may consume its normal query resources; copies nothing, sends nothing and does not restore a running Chirply account. Owner/admin only.
Parameters
Field
Type
Required
Description
snapshot_id
string (uuid)
required
Completed backup run ID from backups.list_runs, belonging to the current destination.
Over MCP the same operation is the tool backups_preview_recovery_copy at https://app.chirply.io/api/mcp, same bearer token, same input.
Turn off backups
backups.remove_destinationwriteconfirmadmin only
Stops backing this account up: removes the destination and cancels any schedule. Snapshots already written to the customer's Supabase project are left exactly where they are — this deletes nothing from their database, and the tables stay queryable. Setting a destination again later resumes with new snapshots alongside the old ones.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to stop backing up, disconnect my backup database.
Over MCP the same operation is the tool backups_remove_destination at https://app.chirply.io/api/mcp, same bearer token, same input.
Back up now
backups.run_nowwriteconfirmadmin only
Starts a backup immediately, writing this account's entire business data into the connected Supabase project set as its destination, as a new snapshot alongside every previous one. The data lands in a database the CUSTOMER owns and pays Supabase for, and consumes their storage. A large account is written across several passes: this call returns as soon as its time budget is spent, reporting status 'running', and the scheduled worker carries the same snapshot forward until it is done. Calling it again while one is in flight continues that snapshot rather than starting a second. Provider credentials, API keys, encrypted columns and other accounts' data are never included.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to back up now, run a backup, snapshot my workspace.
Over MCP the same operation is the tool backups_run_now at https://app.chirply.io/api/mcp, same bearer token, same input.
Set backup destination
backups.set_destinationwriteconfirmadmin only
Points this account's backups at one of its own connected Supabase projects and sets how often they run. Chirply will then write the account's entire business data — contacts, companies, deals, tasks, appointments, conversations and full message bodies, call metadata and transcripts, invoices and orders, forms and their responses, custom objects, the activity log and the unsubscribe lists — into that project as ordinary Postgres tables the customer can query and restore from. The data lands in a database the CUSTOMER owns and pays Supabase for, and each backup consumes their storage. Provider credentials, API keys, encrypted columns and other accounts' data are never included. Replaces any destination already set; an account has one.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to back up to my own supabase, set up backups, schedule backups, connect a backup database.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
Which connected Supabase project receives the backups — the project's id in this account, from supabase.list_projects (NOT the Supabase project ref).
frequency
"manual" | "daily" | "weekly"
required
How often a backup runs automatically: 'manual' (only when asked), 'daily', or 'weekly'. Every run is a new snapshot; nothing is overwritten.
hour_utc
integer
optional
Hour of the day, in UTC, that a daily or weekly backup starts. Defaults to 3.
day_of_week
integer
optional
For a weekly schedule, the day it runs: 0 is Sunday through 6 is Saturday. Ignored for other frequencies.
keep_last
integer (or null)
optional
How many snapshots to keep in the destination. Leave unset (the default) to keep EVERY backup forever — Chirply then never deletes anything from the customer's database. Setting a number makes each successful run delete older snapshots beyond it, which is irreversible.
schema_name
string
optional
The Postgres schema in the destination project that the backup tables live in. Defaults to "chirply_backup". Lower-case letters, digits and underscores only.
is_active
boolean
optional
Whether scheduled backups are armed. Set false to keep the destination configured but pause the schedule; on-demand backups still work.