Appwrite Migrations API

The Migrations service allows you to migrate third-party data to your Appwrite project. 16 operations across 14 paths in the Appwrite 2.0.0 OpenAPI.

Operations 16

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /migrations List migrations in the project · List migrations #
Ask an LLM
“What migrations have run in my project, and did any of them fail?”
“Can I search my migration history and see each one's progress?”
Tell an agent
List all migrations in this project.
Search my migrations for {search}.
POST /migrations/appwrite Migrate data from another Appwrite project · Create Appwrite migration #
Ask an LLM
“How do I copy databases, users and files from one Appwrite project into another?”
“What happens to duplicate records when moving data between two Appwrite projects?”
Tell an agent
Migrate {resources} from Appwrite project {projectId} at {endpoint} using key {apiKey}.
Pull {resources} from project {projectId} on {endpoint} with API key {apiKey}, handling duplicates as {onDuplicate}.
GET /migrations/appwrite/report Preview an Appwrite-to-Appwrite migration · Get Appwrite migration report #
Ask an LLM
“Before migrating from another Appwrite project, how can I see which resources it holds?”
“Can I get a dry-run report of a source Appwrite project?”
Tell an agent
Report on {resources} in Appwrite project {projectID} at {endpoint} using key {key}.
Analyze source Appwrite project {projectID} on {endpoint} with key {key} for {resources} before migrating.
POST /migrations/csv/exports Export collection documents to a CSV file · Export documents to CSV #
Ask an LLM
“How do I export a collection's documents to a CSV file?”
“Can I choose the delimiter and which columns go into the CSV export?”
Tell an agent
Export collection {collectionId} in database {databaseId} to CSV file {filename}.
Export columns {columns} of {collectionId} in {databaseId} to {filename} using delimiter {delimiter}.
POST /migrations/csv/imports Import documents from a CSV file · Import documents from a CSV #
Ask an LLM
“How do I load rows from a CSV file in Storage into a database collection?”
“What happens to CSV rows that duplicate existing documents on import?”
Tell an agent
Import CSV file {fileId} from bucket {bucketId} into collection {collectionId} of database {databaseId}.
Load the CSV {fileId} in {bucketId} into {databaseId}/{collectionId}, treating duplicates as {onDuplicate}.
POST /migrations/firebase Migrate a Firebase project into Appwrite · Create Firebase migration #
Ask an LLM
“How do I move my Firebase users and data into Appwrite?”
“What credentials does a Firebase migration need?”
Tell an agent
Migrate {resources} from Firebase using service account {serviceAccount}.
Start a Firebase import of {resources} with credentials {serviceAccount}.
GET /migrations/firebase/report Preview a Firebase migration · Get Firebase migration report #
Ask an LLM
“Before migrating off Firebase, can I see which resources would be brought over?”
“Is there a report of my Firebase project's contents ahead of a migration?”
Tell an agent
Report on {resources} in the Firebase project for service account {serviceAccount}.
Analyze Firebase {resources} with {serviceAccount} before I migrate.
POST /migrations/json/exports Export collection documents to a JSON file · Export documents to JSON #
Ask an LLM
“How do I export a collection's documents as JSON?”
“Can I limit a JSON export to certain columns or documents matching queries?”
Tell an agent
Export collection {collectionId} of database {databaseId} to JSON file {filename}.
Dump documents in {collectionId} matching {queries} from {databaseId} to JSON {filename}.
POST /migrations/json/imports Import documents from a JSON file · Import documents from a JSON #
Ask an LLM
“How do I load documents from a JSON file in Storage into a collection?”
“How are duplicate documents handled during a JSON import?”
Tell an agent
Import JSON file {fileId} from bucket {bucketId} into collection {collectionId} of database {databaseId}.
Load JSON {fileId} in {bucketId} into {databaseId}/{collectionId} with duplicate handling {onDuplicate}.
POST /migrations/nhost Migrate an NHost project into Appwrite · Create NHost migration #
Ask an LLM
“How do I bring my NHost auth and database over to Appwrite?”
“What connection details does an NHost migration require?”
Tell an agent
Migrate {resources} from NHost subdomain {subdomain} in {region} using admin secret {adminSecret}, database {database}, user {username} and password {password}.
Start an NHost import from {subdomain} ({region}), db {database} on port {port}, as {username}/{password} with secret {adminSecret}, for {resources}.
GET /migrations/nhost/report Preview an NHost migration · Get NHost migration report #
Ask an LLM
“Can I see what's in my NHost project before migrating it?”
“Which NHost resources can be carried over, according to a pre-migration report?”
Tell an agent
Report on NHost {resources} at {subdomain} in {region} with secret {adminSecret}, db {database}, user {username}, password {password}.
Analyze NHost project {subdomain} ({region}) db {database} as {username}/{password}, secret {adminSecret}, for {resources} before migrating.
POST /migrations/supabase Migrate a Supabase project into Appwrite · Create Supabase migration #
Ask an LLM
“How do I move auth users and tables from Supabase into Appwrite?”
“What database connection details does a Supabase migration need?”
Tell an agent
Migrate {resources} from Supabase at {endpoint} using key {apiKey}, database host {databaseHost}, user {username}, password {password}.
Start a Supabase import from {endpoint} with key {apiKey}, db {databaseHost}:{port} as {username}/{password}, for {resources}.
GET /migrations/supabase/report Preview a Supabase migration · Get Supabase migration report #
Ask an LLM
“Can I get a report of my Supabase project's resources before migrating?”
“Which Supabase data would an import pick up?”
Tell an agent
Report on Supabase {resources} at {endpoint} with key {apiKey}, host {databaseHost}, user {username}, password {password}.
Analyze Supabase project {endpoint} (key {apiKey}, db {databaseHost}, {username}/{password}) for {resources} before migrating.
GET /migrations/{migrationId} Check a migration's status · Get migration #
Ask an LLM
“How far along is my running migration?”
“What errors did a specific migration hit?”
Tell an agent
Show the status of migration {migrationId}.
Get the progress and errors for migration {migrationId}.
PATCH /migrations/{migrationId} Retry a failed migration · Update retry migration #
Ask an LLM
“My migration failed; can I run it again?”
“How do I re-attempt a migration without setting it up from scratch?”
Tell an agent
Retry failed migration {migrationId}.
Re-run migration {migrationId}.
DELETE /migrations/{migrationId} Delete a migration from history · Delete migration #
Ask an LLM
“How do I clear an old migration out of my project's history?”
“Can I remove a migration record I no longer need?”
Tell an agent destructive · confirm first
Delete migration {migrationId}.
Remove migration {migrationId} from the history.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appwrite:appwrite-migrations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appwrite-migrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Appwrite Migrations API
  description: Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to https://appwrite.io/docs
  termsOfService: https://appwrite.io/policy/terms
  contact:
    name: Appwrite Team
    url: https://appwrite.io/support
    email: team@appwrite.io
  license:
    name: BSD-3-Clause
    url: https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE
servers:
- url: https://cloud.appwrite.io/v1
  description: Appwrite Cloud endpoint.
- url: https://{region}.cloud.appwrite.io/v1
  description: Appwrite Cloud regional endpoint. Replace `{region}` with your project region.
  variables:
    region:
      default: fra
      description: Appwrite Cloud region.
tags:


# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-migrations-api-openapi.yml